Re: [PATCH] break out task_struct from sched.h

Tim Schmielau (tim@physik3.uni-rostock.de)
Sun, 29 Sep 2002 23:00:21 +0200 (CEST)


On Sun, 29 Sep 2002, John Levon wrote:

> On Sun, Sep 29, 2002 at 09:50:48PM +0200, Tim Schmielau wrote:
>
> > This patch separates struct task_struct from <linux/sched.h> to
> > a new header <linux/task_struct.h>, so that dereferencing 'current'
> > doesn't require to #include <linux/sched.h> and all of the 138 files it
> > drags in.
>
> It seems a bit odd to me that you /only/ split out task_struct but none
> of the simple helpers (for_each_process(), task_lock,
> set_task_state etc.). I'd prefer a task.h personally, many of these can
> be placed without further burdening the include nest.

You're right.
I had the vague hope that by separating type definitions only
some future cleanup might help us to cut down on the number of
headers included by task_struct.h (currently 60).
Introducing a full-blown task.h looks like killing sched.h completely
after suficcient cleanup, which might be a route worth going.

>
> It'd certainly be nice to see sched.h properly cleaned up at some point
> (request_irq() ??? d_path() ???)

Definitely. request_irq() and free_irq() look like candidates for
<linux/interrupt.h> or a new <linux/irq.h> (it was suggested to move the
old <linux/irq.h> to <asm-generic/hw_irq.h>).

Killing ~600 #include <linux/sched.h> lines however seemed enough for a
first round, so I left this for later iterations.

Tim

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/