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
