I'm obviously talking nonsense below. Sorry. The real explanation is that they are put on a runqueue when executed: if (TD_AWAITING_INTR(td)) { CTR2(KTR_INTR, "%s: setrunqueue %d", __func__, p->p_pid); TD_CLR_IWAIT(td); setrunqueue(td); if (do_switch && (ctd->td_critnest == 1) ) { ... Sorry again! -bosko Julian Elischer wrote: >On Tue, 22 Jun 2004, John Baldwin wrote: ... >> That was the intention. One question though, if the ithreads aren't on the >> system run queues then which run queues are they on? > >aren't they run from the interupt? Not always. They have to be put on a runqueue if they block on a mutex, say. -BoskoReceived on Tue Jun 22 2004 - 20:57:27 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:58 UTC