** Changed in: linux (Ubuntu Xenial)
Assignee: (unassigned) => Colin Ian King (colin-king)
** Changed in: linux (Ubuntu Zesty)
Assignee: (unassigned) => Colin Ian King (colin-king)
** Changed in: linux (Ubuntu Xenial)
Status: New => In Progress
** Changed in: linux (Ubuntu Zesty)
Status: New => In Progress
--
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1703742
Title:
Transparent hugepages should default to enabled=madvise
Status in linux package in Ubuntu:
Fix Released
Status in linux source package in Xenial:
In Progress
Status in linux source package in Yakkety:
Won't Fix
Status in linux source package in Zesty:
In Progress
Status in linux source package in Artful:
Fix Released
Bug description:
Ubuntu kernels should default transparent_hugepages to
enabled=madvise, not enabled=always
(this corresponds to TRANSPARENT_HUGEPAGE_MADVISE=y in .config).
I've blogged about this at some length here:
https://blog.nelhage.com/post/transparent-hugepages/ but here is a
summary:
Transparent Hugepages are a feature that allows the kernel to attempt
to automatically back any anonymous maps with "huge" 2MiB page tables,
instead of the normal 4k entries. It can produce small net performance
gains in certain benchmarks, but also has numerous downsides, in the
form of apparent memory leaks and 30% slowdowns or worse for some
applications. Many popular pieces of software now refuse to run with
hugepages enabled because of known performance issues.
Examples of problem reports:
MongoDB: https://docs.mongodb.com/manual/tutorial/transparent-huge-pages/
Oracle:
https://blogs.oracle.com/linux/entry/performance_issues_with_transparent_huge
Splunk:
https://docs.splunk.com/Documentation/Splunk/6.5.2/ReleaseNotes/SplunkandTHP
Go runtime: https://github.com/golang/go/issues/8832
jemalloc:
https://blog.digitalocean.com/transparent-huge-pages-and-alternative-memory-allocators/
node.js: https://github.com/nodejs/node/issues/11077
Setting `enabled=madvise` enables applications that know they benefit
from transparent huge pages to opt-in to this feature, while
eliminating all the problematic behavior for other applications. Note
also that transparent hugepage settings don't affect the use of
explicit hugepages via hugetlbfs or mmap(…, MAP_HUGETLB, …)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1703742/+subscriptions
--
Mailing list: https://launchpad.net/~kernel-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help : https://help.launchpad.net/ListHelp