Re: too big min_free_kbytes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Feb 24, 2011 at 09:57:27AM +0000, Mel Gorman wrote:
> I should be clearer here. madvise|always sets a high min_free_kbytes by
> this check
> 
>         if (ret > 0 &&
>             (test_bit(TRANSPARENT_HUGEPAGE_FLAG,
>                       &transparent_hugepage_flags) ||
>              test_bit(TRANSPARENT_HUGEPAGE_REQ_MADV_FLAG,
>                       &transparent_hugepage_flags)))
>                 set_recommended_min_free_kbytes();
> 
> so I'd expect the new higher value for min_free_kbytes once THP was ever
> expected to be used.
> 
> If this new value was still considered a bug, removing the call to
> set_recommended_min_free_kbytes() would always use the lower value that
> was used in older kernels. This would "fix" the bug but transparent hugepage
> users would not get the pages they expected the longer the system was running.
> This would be harder for ordinary users to catch.

This is a safe default for TRANSPARENT_HUGEPAGE_FLAG. All servers
will want set_recommended_min_free_kbytes. All we can argue on the
TRANSPARENT_HUGEPAGE_REQ_MADV_FLAG setting if it needs this or not
(maybe we can remove the TRANSPARENT_HUGEPAGE_REQ_MADV_FLAG check
considering madvise is mostly for embedded systems that can't waste a
byte in case THP increases the memory footprint of the program but
they still want to use THP for embedded virt or similar usages that
don't waste any memory at peak load).

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxxx  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]