Based on what we've been seeing maintaining Oracle Linux, there are many
workloads for which THP results in a ~9-10% performance hit overall on
the system, and this includes kernels up through 3.8.13 (which we're
using as the baseline for a new kernel in that distro). It has to do
with the fact that the memory allocator uses the slowpath almost all the
time, rather than a faster path when memory fragmentation is low. It's
not that THP is _enabled_ so much that it is _compiled into the kernel
at all_; as a result, we're probably going to remove it for the time
being, and re-enable it when the allocator is revamped.

However, there is also good reason for choosing madvise as the default.
Transparent hugepages *cannot be swapped out*. Read that carefully: when
you use them, the allocated memory is always in-core, as if it had been
mlock()ed into place. While systems with plenty of memory shouldn't need
to worry about this (hell, I run my systems without swap at all!), it's
a consideration to keep in mind. Applications for which huge pages may
provide proven benefit, but aren't required, should start to adopt
MADV_HUGEPAGE as an advisory call; this might include databases, Web
browsers, and other data-intensive applications. That way, you don't run
the risk of hitting memory walls thanks to a bunch of smaller system
processes that just happen to use hugepages because it's set to
"always".

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/743688

Title:
  Transparent HugePages not enabled in 11.04 kernel

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/743688/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to