On 02/28/08 16:12, Garrett D'Amore wrote:


I don't believe that new threads are created, but there are architecturally no guarantees that one invocation of a timeout function run on the same thread as another. And on an SMP system, it is entirely possible for two timeout functions to run at the same time.

A pool of threads exists to execute all timeout requests, managed nowadays
using the taskq mechanism.  The callout tasks are only dispatched
to these threads when their time has come - prior to that they
set in a big fanout structure which has them all ordered in some
form of time order so we can check which if any need to be
processed at each clock tick.

See usr/src/uts/common/os/callout.c

Gavin

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

_______________________________________________
opensolaris-code mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code

Reply via email to