Found on web:
You should have 5 gil threads on your system. gil = "General ISR List" where ISR = "Interrupt Service Routine." The gil threads handle lots of Streams code and also handle TCP's slow and fast timer routines, amongst other things.
Every 200ms, and every 500ms, the gil thread is kicked off to go run TCP/IP protocol timers (retransmission, delayed acks, etc.).
Normally, it doesn't actually use a lot of CPU time. However, its wakeup points tend to naturally co-incide with the points at which the scheduler collections information associated with CPU load. If you do an 'uptime',you'll see that it usually sits at about 1 even on an idle system. This is the gil thread.
In AIX 3, the work that the gil thread does was done on an offlevel interrupt handler, and was not apparent. In AIX 4, this was moved to a kproc to promote concurrency and SMP scalability.
Long live king Moshiach !