2017-07-12 04:46:45 |
Nelson Elhage |
bug |
|
|
added bug |
2017-07-12 05:00:06 |
Ubuntu Kernel Bot |
linux (Ubuntu): status |
New |
Incomplete |
|
2017-07-12 11:29:10 |
Steve Beattie |
bug |
|
|
added subscriber Steve Beattie |
2017-07-12 14:51:48 |
Colin Ian King |
linux (Ubuntu): status |
Incomplete |
In Progress |
|
2017-07-12 14:51:50 |
Colin Ian King |
linux (Ubuntu): importance |
Undecided |
High |
|
2017-07-12 14:51:52 |
Colin Ian King |
linux (Ubuntu): assignee |
|
Colin Ian King (colin-king) |
|
2017-07-12 17:51:13 |
Colin Ian King |
nominated for series |
|
Ubuntu Xenial |
|
2017-07-12 17:51:13 |
Colin Ian King |
nominated for series |
|
Ubuntu Artful |
|
2017-07-12 17:51:13 |
Colin Ian King |
nominated for series |
|
Ubuntu Yakkety |
|
2017-07-12 17:51:13 |
Colin Ian King |
nominated for series |
|
Ubuntu Zesty |
|
2017-07-13 13:33:33 |
Seth Forshee |
bug task added |
|
linux (Ubuntu Artful) |
|
2017-07-13 13:33:37 |
Seth Forshee |
bug task added |
|
linux (Ubuntu Xenial) |
|
2017-07-13 13:33:42 |
Seth Forshee |
bug task added |
|
linux (Ubuntu Yakkety) |
|
2017-07-13 13:33:47 |
Seth Forshee |
bug task added |
|
linux (Ubuntu Zesty) |
|
2017-07-13 13:33:56 |
Seth Forshee |
linux (Ubuntu Artful): status |
In Progress |
Fix Committed |
|
2017-07-26 15:57:55 |
Andy Whitcroft |
linux (Ubuntu Yakkety): status |
New |
Won't Fix |
|
2017-08-10 05:56:17 |
Launchpad Janitor |
linux (Ubuntu Artful): status |
Fix Committed |
Fix Released |
|
2017-08-10 05:56:17 |
Launchpad Janitor |
cve linked |
|
2017-1000364 |
|
2017-08-10 05:56:17 |
Launchpad Janitor |
cve linked |
|
2017-10810 |
|
2017-08-10 05:56:17 |
Launchpad Janitor |
cve linked |
|
2017-7533 |
|
2017-09-21 15:38:39 |
Colin Ian King |
linux (Ubuntu Xenial): assignee |
|
Colin Ian King (colin-king) |
|
2017-09-21 15:38:42 |
Colin Ian King |
linux (Ubuntu Zesty): assignee |
|
Colin Ian King (colin-king) |
|
2017-09-21 15:38:47 |
Colin Ian King |
linux (Ubuntu Xenial): status |
New |
In Progress |
|
2017-09-21 15:38:52 |
Colin Ian King |
linux (Ubuntu Zesty): status |
New |
In Progress |
|
2017-09-21 15:39:26 |
Chris Glass |
bug |
|
|
added subscriber Chris Glass |
2017-10-05 18:13:03 |
Kamal Mostafa |
bug task added |
|
linux-gke (Ubuntu) |
|
2017-10-05 18:13:20 |
Kamal Mostafa |
bug task deleted |
linux-gke (Ubuntu Yakkety) |
|
|
2017-10-05 18:13:26 |
Kamal Mostafa |
bug task deleted |
linux-gke (Ubuntu Zesty) |
|
|
2017-10-05 18:13:31 |
Kamal Mostafa |
bug task deleted |
linux-gke (Ubuntu Artful) |
|
|
2017-10-05 18:13:40 |
Kamal Mostafa |
linux-gke (Ubuntu Xenial): status |
New |
Fix Committed |
|
2017-10-05 18:13:43 |
Kamal Mostafa |
linux-gke (Ubuntu Xenial): assignee |
|
Kamal Mostafa (kamalmostafa) |
|
2017-10-05 18:13:52 |
Kamal Mostafa |
linux-gke (Ubuntu): status |
New |
Fix Committed |
|
2017-10-05 18:13:56 |
Kamal Mostafa |
linux-gke (Ubuntu): assignee |
|
Kamal Mostafa (kamalmostafa) |
|
2017-10-30 19:44:58 |
Launchpad Janitor |
linux-gke (Ubuntu Xenial): status |
Fix Committed |
Fix Released |
|
2017-10-30 19:44:58 |
Launchpad Janitor |
cve linked |
|
2017-10911 |
|
2017-11-23 14:28:41 |
Colin Ian King |
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, …) |
SRU Justification, Zesty, Xenial
[Impact]
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, …)
[Fix]
Enable CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y
[Regression Potential]
May marginally impact performance, but the benefits of madvise'd huge transparent hugepage over-weigh this considerably.
This has been enabled in Artful since July (and in Bionic) and we've not seen any regression reports, so we are confident this has minimal impact.
[Testcase]
Kernel ADT tests and stress-ng memory tests should not show any regressions. |
|
2018-01-23 10:00:06 |
Stefan Bader |
linux (Ubuntu Zesty): status |
In Progress |
Won't Fix |
|
2018-02-01 20:55:34 |
Khaled El Mously |
linux (Ubuntu Xenial): status |
In Progress |
Fix Committed |
|
2018-03-19 10:56:10 |
Stefan Bader |
tags |
|
verification-needed-xenial |
|
2018-03-19 18:14:13 |
Colin Ian King |
tags |
verification-needed-xenial |
verification-done-xenial |
|
2018-04-04 09:27:25 |
Launchpad Janitor |
linux (Ubuntu Xenial): status |
Fix Committed |
Fix Released |
|
2018-04-04 09:27:25 |
Launchpad Janitor |
cve linked |
|
2017-15129 |
|
2018-04-04 09:27:25 |
Launchpad Janitor |
cve linked |
|
2017-16995 |
|
2018-04-04 09:27:25 |
Launchpad Janitor |
cve linked |
|
2017-17448 |
|
2018-04-04 09:27:25 |
Launchpad Janitor |
cve linked |
|
2017-17450 |
|
2018-04-04 09:27:25 |
Launchpad Janitor |
cve linked |
|
2017-17741 |
|
2018-04-04 09:27:25 |
Launchpad Janitor |
cve linked |
|
2017-17862 |
|
2018-04-04 09:27:25 |
Launchpad Janitor |
cve linked |
|
2017-5753 |
|
2018-04-04 09:27:25 |
Launchpad Janitor |
cve linked |
|
2018-1000026 |
|
2018-04-04 09:27:25 |
Launchpad Janitor |
cve linked |
|
2018-5333 |
|
2018-04-04 09:27:25 |
Launchpad Janitor |
cve linked |
|
2018-5344 |
|
2018-04-04 09:27:25 |
Launchpad Janitor |
cve linked |
|
2018-8043 |
|
2019-07-31 07:31:40 |
Po-Hsu Lin |
linux-gke (Ubuntu): status |
Fix Committed |
Fix Released |
|