ithread priority question...

Bruce Evans bde at
Mon Jun 21 02:51:41 GMT 2004

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.


More information about the freebsd-current mailing list