Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 8 Jul 2003 15:25:27 -0700 (PDT)
From:      Julian Elischer <julian@elischer.org>
To:        FreeBSD current users <current@FreeBSD.ORG>
Subject:   SMP and setrunnable()- scheduler 4bsd
Message-ID:  <Pine.BSF.4.21.0307081517250.22588-100000@InterJet.elischer.org>

next in thread | raw e-mail | index | archive | help
It looks tp me that if we make a thread runnable
and there is a processor in the idle loop, the idle processor should be
kicked in some way to make it go get the newly runnable thread.

If the processors are halting in the idle loop however, it may take
quite a while for the new work to be noticed..
(possibly up to milliseconds I think)

Is there a mechanism to send an IPI to particular processors?
or is it just broadcast?  


I think we would be better served to alter idle_proc(void *dummy)
(or maybe choosethread()) to increment or decrement a count
of idle processors (atomically of course) so that 
setrunnable (or it's lower parts) can send that IPI
and get the idle processor into actioan as soon as a thread is
available.

I have not seen any such code but maybe I'm wrong....





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0307081517250.22588-100000>