Re: [PATCH v2 2/4] mm: make the threshold of enabling THP configurable

From: Cong Wang
Date: Thu Jun 23 2011 - 02:53:11 EST


ä 2011å06æ22æ 22:40, Andrea Arcangeli åé:
On Wed, Jun 22, 2011 at 07:07:25PM +0800, Cong Wang wrote:
Actually, if we move this out of kernel, to user-space, everything
you worried will be solved by just changing the user-space code.
Just add the following pseudo code into your init script,

if [ $total_memory -lt 512 ]
then
echo never> /sys/kernel/mm/transparent_hugepage/enabled
fi

By the time this script runs some app may have allocated hugepages
already potentially wasting mbytes of ram and undoing the
min_free_kbytes isn't possible from userland using the kernel
algorithm (it is possible actually but it's not nearly as simple as
the above).

I remember there is a way to tell init-scripts to run it as early as
possible. :)


There's no reason to complicate things and involve userland here when
a simple kernel check can get the default right without userland
dependency. Plus if this user really wants THP on 512m of ram he can
still enable it and run hugeadm to enable antifrag too, without the
need of =force. And forcing when PSE is enabled sounds impossible to be
useful (maybe with the except of nopentium being passed to the kernel ;).

There is no bug here, just send that printk cleanup and if you really
want to save 8k the patch to change the number of hash heads structs
at boot, like for dcache/icache. No other change required.


I never said this is a bug, I just don't think it is flexible. ;)


After you do the above, you can go ahead picking one kernel crashing
bug and fix it, that is more useful than making this 512m thing a
.config variable or anything like that, .config is a nightmare already
so it's probably better not to add anything there.

Well, I can't agree with this point.

Since we can't persuade each other, I give up.

Thanks.
--
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/