On Tue, Feb 12, 2008 at 06:46:54PM -0800, Andrew Morton wrote: > > diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h > > --- a/include/linux/memcontrol.h > > +++ b/include/linux/memcontrol.h > > @@ -20,9 +20,6 @@ > > #ifndef _LINUX_MEMCONTROL_H > > #define _LINUX_MEMCONTROL_H > > > > -#include <linux/rcupdate.h> > > -#include <linux/mm.h> > > - > > struct mem_cgroup; > > struct page_cgroup; > > struct page; > > This really should have been in a separate patch and extensively tested. > > Have we checked that every file which directly or indirectly includes > memcontrol.h does not have an requirement for rcupdate.h and mm.h, where > that requirement was satisfied only via this nested inclusion? For all > architectures and for all config selections? Think not. > > Sadly, removal of nested includes is a *big* deal, and it takes quite a lot > of time to get it all shaken down. > > If we can confirm that all files (.c and .h) which include memcontrol.h > also directly include rcupdate.h and mm.h then we're _probably_ ok (modulo > ordering issues). > > Otherwise we should perhaps be taking a second look at how to fix the sparc > problem. I've run allmodconfig builds on a bunch of target, FWIW (essentially the same patch). Note that these includes are recent addition caused by added inline function that had since then become a define. So while I agree with your comments in general, in _this_ case it's pretty safe. Commit that had done it is 3062fc67dad01b1d2a15d58c709eff946389eca4 and switch to #define is 60c12b1202a60eabb1c61317e5d2678fcea9893f (BTW, that warranted mentioning in changelog of the latter). - To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html