Bug 463281
Summary: | [LTC 6.0 FEAT] 201201:Large page flexibility for POWER | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 6 | Reporter: | IBM Bug Proxy <bugproxy> |
Component: | kernel | Assignee: | Kevin W Monroe <kmonroe> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | Martin Jenner <mjenner> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | 6.0 | CC: | ejratl, notting, peterm |
Target Milestone: | alpha | Keywords: | FutureFeature |
Target Release: | 6.0 | ||
Hardware: | ppc64 | ||
OS: | All | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Enhancement | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2009-09-23 22:13:38 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 356741, 465489 |
Description
IBM Bug Proxy
2008-09-22 20:10:55 UTC
Is there any userspace component to this feature? What do you mean by 'flexibly'? The userspace component of this feature is the libhugetlbfs library. For RHEL, we would like to use libhugetlbfs 2.1 (not released yet) as a basis. That library is used to back text/data, heap and shared memory with hugepages automatically without application awareness if requested by the user. The library also has a basic API for developers to easily get regions of memory backed by hugepages. The "flexibility" aspect refers to the kernel features which are o Anti-fragmentation (enabled automatically) o Contiguity-aware page reclaim (sometimes referred to as lumpy reclaim) o Memory partitioning (kernelcore= and movablecore= boot parameters) o Dynamic hugepage pool resizing (enabled via proc) o Reliable MAP_PRIVATE behaviour (no SIGKILLs for the process that called mmap()) In older kernels, hugepages had to be reserved at boot-time and the pool couldn't be shrunk and regrown later with any degree of reliability. Our expection is that the sizing of the pool will be much more flexible for an administrator in 2.6.27. The dynamic hugepage pool will allow an administrator to set a hard and soft size to the hugepage pool and the memory partitioning can be used to very reliably predict what the pool can grow to no matter what the workload is. "Flexibly" refers to the expectation that large pages can be used in more situations with less grief than previous kernels where the pool sizes were relatively static and mistakes could result in killed applications. Can you update this bug when the new libhugetlbfs is released? Note that the userspace component is tracked via IBM bugzilla 48000, RH bugzilla 463613 [LTC 6.0 FEAT] 201194:libhugetlbfs package update OK then, setting to MODIFIED as RHEL 6 will ship a new enough kernel for the kernel side of this feature. The feature requested has already been accepted into the upstream code base planned for the next major release of Red Hat Enterprise Linux. When the next milestone release of Red Hat Enterprise Linux 6 is available, please verify that the feature requested is present and functioning as desired. This is upstream in 2.6.27 sha1 id: 0d9ea75443dc7e37843e656b8ebc947a6d16d618 Closing - included in Red Hat Enterprise Linux 6. ------- Comment From luciojhc.com 2009-11-16 11:10 EDT------- Here are the results summary for libhugetlbfs-2.6-2 tests on PPC64: ********** TEST SUMMARY * 16M * Total testcases: 95 98 * Skipped: 20 0 * PASS: 75 94 * FAIL: 0 2 * Killed by signal: 0 2 * Bad configuration: 0 0 * Expected FAIL: 0 0 * Unexpected PASS: 0 0 * Strange test result: 0 0 ********** And the failures are these: HUGETLB_VERBOSE=0 HUGETLB_MINIMAL_COPY=no xBDT.linkhuge_nofd (16M: 64): Failed to map hugepage segment 1: 12000000-20000000 (errno=12) HUGETLB_MINIMAL_COPY=no xBDT.linkhuge (16M: 64): Failed to map hugepage segment 1: 12000000-20000000 (errno=12) HUGETLB_SHARE=1 xBDT.linkshare (16M: 64): Failed to map hugepage segment 1: 12000000-20000000 (errno=12) FAIL Child 1 killed by signal: Aborted HUGETLB_SHARE=1 xBDT.linkshare (16M: 64): Failed to map hugepage segment 1: 12000000-20000000 (errno=12) FAIL Child 1 killed by signal: Aborted Mel, are these failures expected? ------- Comment From luciojhc.com 2009-11-17 07:26 EDT------- Ok, just verified these are expected failures. So feature is verified and working fine. ------- Comment From ebmunson.com 2010-05-06 11:49 EDT------- Verified with RHEL 6 Snap 1 |