[PATCH 04/11] mm: compaction: export some of the functions
From: Mel Gorman <hidden>
Date: 2011-12-12 15:40:21
Also in:
linux-media, linux-mm, lkml
On Mon, Dec 12, 2011 at 03:41:04PM +0100, Michal Nazarewicz wrote:
On Mon, 12 Dec 2011 15:29:07 +0100, Mel Gorman [off-list ref] wrote:quoted
On Fri, Nov 18, 2011 at 05:43:11PM +0100, Marek Szyprowski wrote:quoted
From: Michal Nazarewicz <redacted> This commit exports some of the functions from compaction.c file outside of it adding their declaration into internal.h header file so that other mm related code can use them. This forced compaction.c to always be compiled (as opposed to being compiled only if CONFIG_COMPACTION is defined) but as to avoid introducing code that user did not ask for, part of the compaction.c is now wrapped in on #ifdef. Signed-off-by: Michal Nazarewicz <redacted> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> --- mm/Makefile | 3 +- mm/compaction.c | 112 +++++++++++++++++++++++-------------------------------- mm/internal.h | 35 +++++++++++++++++ 3 files changed, 83 insertions(+), 67 deletions(-)diff --git a/mm/Makefile b/mm/Makefile index 50ec00e..24ed801 100644 --- a/mm/Makefile +++ b/mm/Makefile@@ -13,7 +13,7 @@ obj-y := filemap.o mempool.o oom_kill.o fadvise.o \readahead.o swap.o truncate.o vmscan.o shmem.o \ prio_tree.o util.o mmzone.o vmstat.o backing-dev.o \ page_isolation.o mm_init.o mmu_context.o percpu.o \ - $(mmu-y) + $(mmu-y) compaction.oThat should be compaction.o $(mmu-y) for consistency. Overall, this patch implies that CMA is always compiled in.Not really. But yes, it produces some bloat when neither CMA nor compaction are compiled. I assume that linker will be able to deal with that (since the functions are not EXPORT_SYMBOL'ed).
The bloat exists either way. I don't believe the linker strips it out so overall it would make more sense to depend on compaction to keep the vmstat counters for debugging reasons if nothing else. It's not something I feel very strongly about though. -- Mel Gorman SUSE Labs