Re: ithread priority question...

From: Julian Elischer <julian_at_elischer.org>
Date: Tue, 22 Jun 2004 17:11:36 -0700 (PDT)
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