Re: [PATCH 05/10] mm, util: Use dup_user to duplicate user memory

From: Ezequiel Garcia
Date: Wed Sep 26 2012 - 17:51:25 EST


Andrew,

On Wed, Sep 26, 2012 at 6:42 PM, Andrew Morton
<akpm@xxxxxxxxxxxxxxxxxxxx> wrote:
> On Tue, 25 Sep 2012 22:15:38 -0300
> Ezequiel Garcia <elezegarcia@xxxxxxxxx> wrote:
>
>> > This patch increases util.o's text size by 238 bytes. A larger kernel
>> > with a worsened cache footprint.
>> >
>> > And we did this to get marginally improved tracing output? This sounds
>> > like a bad tradeoff to me.
>> >
>>
>> Mmm, that's bad tradeoff indeed.
>> It's certainly odd since the patch shouldn't increase the text size
>> *that* much.
>> Is it too much to ask that you send your kernel config and gcc version.
>
> x86_64 allmodconfig with CONFIG_DEBUG_INFO=n,
> CONFIG_ENABLE_MUST_CHECK=n. gcc-4.4.4.
>

I'll try that.


>> My compilation (x86 kernel in gcc 4.7.1) shows a kernel less bloated:
>>
>> $ readelf -s util-dup-user.o | grep dup_user
>> 161: 00001c10 108 FUNC GLOBAL DEFAULT 1 memdup_user
>> 169: 00001df0 159 FUNC GLOBAL DEFAULT 1 strndup_user
>> $ readelf -s util.o | grep dup_user
>> 161: 00001c10 108 FUNC GLOBAL DEFAULT 1 memdup_user
>> 169: 00001df0 98 FUNC GLOBAL DEFAULT 1 strndup_user
>>
>> $ size util.o
>> text data bss dec hex filename
>> 18319 2077 0 20396 4fac util.o
>> $ size util-dup-user.o
>> text data bss dec hex filename
>> 18367 2077 0 20444 4fdc util-dup-user.o
>>
>> Am I doing anything wrong?
>
> Dunno - it could be a config thing.
>

I'm kind of lost. The patch really shouldn't fatten the kernel this way :-(

The patch was meant to improve tracing for memory tracking,
which in turn would be used to reduce memory footprint.
So, definitely I don't want to increase kernel text size.

I'll test that kernel config and see what I can do.

Thanks,
Ezequiel.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/