On Tue, 22 Jun 2004, Bosko Milekic wrote: > > 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! yes.. the question is.. does it make sense in a world with multiple schedulers to multiply set the priority of each ithread to (inumber * RQ_PPQ)? It happens to work with 4bsd and probably with ULE but it wouldn't make a lot of sense with (say) a monte-carlo scheduler that may not have run queues as such (such as Luigi did) or any scheduler for which RQ_PPQ was not a constant. > > -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. > > -Bosko > >Received on Tue Jun 22 2004 - 22:11:42 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:58 UTC