Date: Tue, 22 Jun 2004 17:11:36 -0700 (PDT) From: Julian Elischer <julian@elischer.org> To: Bosko Milekic <bmilekic@FreeBSD.org> Cc: freebsd-current@freebsd.org Subject: Re: ithread priority question... Message-ID: <Pine.BSF.4.21.0406221708100.54870-100000@InterJet.elischer.org> In-Reply-To: <20040622225726.GA26611@freefall.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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 > >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0406221708100.54870-100000>