ithread priority question...

Julian Elischer julian at elischer.org
Mon Jun 21 07:49:15 GMT 2004



On Mon, 21 Jun 2004, Bruce Evans wrote:

> On Sun, 20 Jun 2004, Julian Elischer wrote:
> 
> > In swi_add, the priority is multiplied by PPQ.
> > This is a layering violation really because PPQ should only be known
> > within the scheduler.... but..... "Why multiply by PPQ inthe first
> > place?"  we are not using the system run queues for interrupt threads.
> >
> > (PPQ = Priorities Per Queue).
> >
> > Without this you can remove runq.h from proc.h  and include it only in
> > the scheduler related files.
> 
> I agree that this makes no sense.  Apart from the layering violation,
> It seems to just waste priority space.  The wastage is not just cosmetic
> since someone increased the number of SWIs although there was no room
> for expansion.

> 
> Hardware ithread priorities are also separated by 4.  The magic number 4
> is encoded in their definitions in priority.h.  It's not clear if the 4 is
> PPQ or just room for expansion without changing the ABI.  Preserving this
> ABI doesn't seem very important.

seems pointless to me..
It looks to me that at on stage someone was considerring using the 
standard run-queue code to make interrupt threads runnable.
They wanted each interrupt thread to eb on a differen queue and to use
the ffs() code to find the next one to run.

Feel free to fix it:-) I'm off to bed but I'll look at it again
tomorrow if you haven't.

> 
> Bruce
> 



More information about the freebsd-current mailing list