[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 12 Dec 2011 15:41:04 +0100
From: "Michal Nazarewicz" <mina86@...a86.com>
To: "Marek Szyprowski" <m.szyprowski@...sung.com>,
"Mel Gorman" <mel@....ul.ie>
Cc: linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-media@...r.kernel.org, linux-mm@...ck.org,
linaro-mm-sig@...ts.linaro.org,
"Kyungmin Park" <kyungmin.park@...sung.com>,
"Russell King" <linux@....linux.org.uk>,
"Andrew Morton" <akpm@...ux-foundation.org>,
"KAMEZAWA Hiroyuki" <kamezawa.hiroyu@...fujitsu.com>,
"Ankita Garg" <ankita@...ibm.com>,
"Daniel Walker" <dwalker@...eaurora.org>,
"Arnd Bergmann" <arnd@...db.de>,
"Jesse Barker" <jesse.barker@...aro.org>,
"Jonathan Corbet" <corbet@....net>,
"Shariq Hasnain" <shariq.hasnain@...aro.org>,
"Chunsang Jeong" <chunsang.jeong@...aro.org>,
"Dave Hansen" <dave@...ux.vnet.ibm.com>
Subject: Re: [PATCH 04/11] mm: compaction: export some of the functions
On Mon, 12 Dec 2011 15:29:07 +0100, Mel Gorman <mel@....ul.ie> wrote:
> On Fri, Nov 18, 2011 at 05:43:11PM +0100, Marek Szyprowski wrote:
>> From: Michal Nazarewicz <mina86@...a86.com>
>>
>> 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 <mina86@...a86.com>
>> Signed-off-by: Marek Szyprowski <m.szyprowski@...sung.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.o
>
> That 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).
Note also that the was majority of compaction.c is #ifdef'd though
so only a handful of functions are compiled.
> Why not just make CMA depend on COMPACTION to keep things simplier?
I could imagine that someone would want to have CMA but not compaction,
hence I decided to give that choice.
> For example, if you enable CMA and do not enable COMPACTION, you
> lose things like the vmstat counters that can aid debugging. In
> fact, as parts of compaction.c are using defines like COMPACTBLOCKS,
> I'm not even sure compaction.c can compile without CONFIG_COMPACTION
> because of the vmstat stuff.
--
Best regards, _ _
.o. | Liege of Serenely Enlightened Majesty of o' \,=./ `o
..o | Computer Science, Michał “mina86” Nazarewicz (o o)
ooo +----<email/xmpp: mpn@...gle.com>--------------ooO--(_)--Ooo--
--
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