On Thu, Apr 1, 2010 at 8:43 PM, Ted Unangst <[email protected]> wrote:
> As part of the ongoing rthreads work, I'm making some changes to internal
> fields of struct proc.  These fields are only accessed by files under
> kern.  Why then, I wondered, did minor changes require the entire kernel
> to be recompiled.  Because everything includes sys/proc.h!
>
> Some code is after tsleep and wakeup.  Other code is after one of proc.h's
> tagalong includes, like timeout.h.  But no reason to drag all of proc.h in
> for such things.
>
> Following diff moves tsleep and wakeup into param.h (not sure of a better
> place to put them, but it seems reasonable), and converts a sample few pci
> drivers to a proc.h free existence.

Yes!  Yes yes yes yes!

Two thoughts:
1) struct sleep_state and the sleep_* functions can remain in sys/proc.h, as
   everything using those needs sys/proc.h already

2) putting real functions into sys/param.h seems odd.  sys/systm.h perhaps?
   (If you already considered it then consider this bikeshedding.)


Philip Guenther

Reply via email to