From: Tejun Heo on
Hello,

This is the proper patchset to break implicit slab.h inclusion from
percpu.h. Please refer to the last RFC posting[L] for background.

This patchset contains the following four patches.

0001-x86-don-t-include-slab.h-from-arch-x86-include-asm-p.patch
0002-iwlwifi-don-t-include-iwl-dev.h-from-iwl-devtrace.h.patch
0003-include-cleanup-Update-gfp.h-and-slab.h-includes-to-.patch
0004-percpu-don-t-implicitly-include-slab.h-from-percpu.h.patch

0001 and 0002 massages slightly weird inclusion problems in
preparation of further changes.

0003 updates gfp.h and slab.h inclusions such that actual users
include them explicitly. This patch is largely based on conversions
automatically generated by the following script.

http://userweb.kernel.org/~tj/misc/slabh-sweep.py

The patch description explains how the conversion was done and
verified. Please read it for details. This patch was too large
(>1.7M) and only the patch description and diffstat are posted. The
whole patch is available in the git tree or via http[1].

0004 actually updates percpu.h such that slab.h is not included
implicitly.

The following configurations have been tested (more details in patch
0003 description),

* x86 and x86_64 UP and SMP allmodconfig and a custom test config.
* powerpc and powerpc64 SMP allmodconfig
* sparc and sparc64 SMP allmodconfig
* ia64 SMP allmodconfig
* s390 SMP allmodconfig
* alpha SMP allmodconfig
* um on x86_64 SMP allmodconfig

I had only a couple of problems with the above tests and I'm fairly
confident about the coverage of the conversion and if there are
prolems, they are likely to be in arch headers which should be easy to
discover and fix on most builds of the affected arch.

If nobody objects, I'd like to publish it to linux-next through the
percpu tree, let it settle and get tested there for some time. Ingo,
it would also be great if you can put these changes through your build
tests.

After it gets some testing, if Linus agrees, I hope this could be
pulled into the mainline although the merge window is well over now.
The changes are mostly trivial and I actually think it makes more
sense to merge this kind of stuff while the code base is relatively
stable.

The patchset is available in the following git branch.

git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc.git slabh

and the patch tarball at

http://userweb.kernel.org/~tj/patches/slabh.tar.gz

Thanks.

--
tejun

[L] http://thread.gmane.org/gmane.linux.kernel/960180
[1] http://userweb.kernel.org/~tj/patches/0003-include-cleanup-Update-gfp.h-and-slab.h-includes-to-.patch
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/