[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1305015103.2914.17.camel@laptop>
Date: Tue, 10 May 2011 10:11:43 +0200
From: Peter Zijlstra <a.p.zijlstra@...llo.nl>
To: Ingo Molnar <mingo@...e.hu>
Cc: "Kaywinnit L. Frye" <kaywinnit.lee.frye.2497@...il.com>,
linux-kernel@...r.kernel.org,
Michal Nazarewicz <m.nazarewicz@...sung.com>,
Greg Kroah-Hartman <gregkh@...e.de>,
Evgeny Kuznetsov <EXT-Eugeny.Kuznetsov@...ia.com>
Subject: Re: [PATCH] wait: include linux/sched.h
On Fri, 2011-05-06 at 09:54 +0200, Ingo Molnar wrote:
> > diff --git a/include/linux/wait.h b/include/linux/wait.h
> > index 3efc9f3..667a3d7 100644
> > --- a/include/linux/wait.h
> > +++ b/include/linux/wait.h
> > @@ -22,6 +22,7 @@
> > #include <linux/list.h>
> > #include <linux/stddef.h>
> > #include <linux/spinlock.h>
> > +#include <linux/sched.h>
> > #include <asm/system.h>
> > #include <asm/current.h>
>
> I'm quite sure this will break the build all around the place, because sched.h
> itself uses wait.h primitives.
I'm very sure it will, people keep proposing this.
> To fix these super-headers like sched.h and to make wait.h self-sufficient the
> right and cleanest approach would be to split data types and primitive accessor
> functions from higher level helper methods (which inevitably mix different
> domains) and put them into two separate files.
>
> We have a few such split files in the kernel tree, spinlock_types.h and
> spinlock_api.h, and this concept works reasonably well.
>
> So here we'd need wait_types.h and wait_api.h and of course sched_types.h and
> sched_api.h.
>
> For simplicity of migration wait_api.h could be wait.h itself and sched_api.h
> could be sched.h itself.
Argh, please don't. I've been arguing against that for a while now.
The right thing to do is to clean up sched.h and remove a lot of the
non-scheduler bits in there, like all the process and signal bits.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists