When a 16GB huge page is requested on POWER platform through kernel command
line interface, it silently fails because of the lack of any gigantic pages
on the system which the platform should have communicated through 16GB memory
blocks in the device tree during boot time. For example
[ 0.480940] HugeTLB registered 16 GB page size, pre-allocated 0 pages
[ 0.480945] HugeTLB registered 16 MB page size, pre-allocated 16 pages
This adds a warning message during alloc_bootmem_huge_page request both on
book3e and book3s powerpc platforms. After this change
[ 0.000000] Gigantic HugeTLB page not available
[ 0.473417] HugeTLB registered 16 GB page size, pre-allocated 0 pages
[ 0.473423] HugeTLB registered 16 MB page size, pre-allocated 16 pages
Signed-off-by: Anshuman Khandual <redacted>
---
arch/powerpc/mm/hugetlbpage.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
When a 16GB huge page is requested on POWER platform through kernel command
line interface, it silently fails because of the lack of any gigantic pages
on the system which the platform should have communicated through 16GB memory
blocks in the device tree during boot time. For example
[ 0.480940] HugeTLB registered 16 GB page size, pre-allocated 0 pages
[ 0.480945] HugeTLB registered 16 MB page size, pre-allocated 16 pages
This adds a warning message during alloc_bootmem_huge_page request both on
book3e and book3s powerpc platforms. After this change
[ 0.000000] Gigantic HugeTLB page not available
[ 0.473417] HugeTLB registered 16 GB page size, pre-allocated 0 pages
[ 0.473423] HugeTLB registered 16 MB page size, pre-allocated 16 pages
That info is already part of the second line isn't it ? ie
[ 0.473417] HugeTLB registered 16 GB page size, pre-allocated 0 pages
pre-allocated 0 pages indicate we didn't allocate anything. So why do we
need to add more details fo kernel output ?
-aneesh
On 14.09.2015 [18:59:25 +0530], Aneesh Kumar K.V wrote:
Anshuman Khandual [off-list ref] writes:
quoted
When a 16GB huge page is requested on POWER platform through kernel command
line interface, it silently fails because of the lack of any gigantic pages
on the system which the platform should have communicated through 16GB memory
blocks in the device tree during boot time. For example
[ 0.480940] HugeTLB registered 16 GB page size, pre-allocated 0 pages
[ 0.480945] HugeTLB registered 16 MB page size, pre-allocated 16 pages
This adds a warning message during alloc_bootmem_huge_page request both on
book3e and book3s powerpc platforms. After this change
[ 0.000000] Gigantic HugeTLB page not available
[ 0.473417] HugeTLB registered 16 GB page size, pre-allocated 0 pages
[ 0.473423] HugeTLB registered 16 MB page size, pre-allocated 16 pages
That info is already part of the second line isn't it ? ie
[ 0.473417] HugeTLB registered 16 GB page size, pre-allocated 0 pages
pre-allocated 0 pages indicate we didn't allocate anything. So why do we
need to add more details fo kernel output ?
Agreed, the '0 pages' message indicates we failed to pre-allocate any
pages. The 'pre-allocate' messages are specifically about the kernel
command-line requests for hugepages.
Not sure I understand the motivation for this?
-Nish
From: Michael Ellerman <mpe@ellerman.id.au> Date: 2015-09-14 23:55:38
On Mon, 2015-09-14 at 09:24 -0700, Nishanth Aravamudan wrote:
On 14.09.2015 [18:59:25 +0530], Aneesh Kumar K.V wrote:
quoted
Anshuman Khandual [off-list ref] writes:
quoted
When a 16GB huge page is requested on POWER platform through kernel command
line interface, it silently fails because of the lack of any gigantic pages
on the system which the platform should have communicated through 16GB memory
blocks in the device tree during boot time. For example
[ 0.480940] HugeTLB registered 16 GB page size, pre-allocated 0 pages
[ 0.480945] HugeTLB registered 16 MB page size, pre-allocated 16 pages
This adds a warning message during alloc_bootmem_huge_page request both on
book3e and book3s powerpc platforms. After this change
[ 0.000000] Gigantic HugeTLB page not available
[ 0.473417] HugeTLB registered 16 GB page size, pre-allocated 0 pages
[ 0.473423] HugeTLB registered 16 MB page size, pre-allocated 16 pages
That info is already part of the second line isn't it ? ie
[ 0.473417] HugeTLB registered 16 GB page size, pre-allocated 0 pages
pre-allocated 0 pages indicate we didn't allocate anything. So why do we
need to add more details fo kernel output ?
Agreed, the '0 pages' message indicates we failed to pre-allocate any
pages. The 'pre-allocate' messages are specifically about the kernel
command-line requests for hugepages.
Yeah, that's sufficient. We don't need more boot-time log spam.
All the info you need should be in /sys/kernel/mm anyway. If it's not, then
that is something we should fix.
cheers
On 09/14/2015 09:54 PM, Nishanth Aravamudan wrote:
On 14.09.2015 [18:59:25 +0530], Aneesh Kumar K.V wrote:
quoted
quoted
Anshuman Khandual [off-list ref] writes:
quoted
quoted
When a 16GB huge page is requested on POWER platform through kernel command
line interface, it silently fails because of the lack of any gigantic pages
on the system which the platform should have communicated through 16GB memory
blocks in the device tree during boot time. For example
[ 0.480940] HugeTLB registered 16 GB page size, pre-allocated 0 pages
[ 0.480945] HugeTLB registered 16 MB page size, pre-allocated 16 pages
This adds a warning message during alloc_bootmem_huge_page request both on
book3e and book3s powerpc platforms. After this change
[ 0.000000] Gigantic HugeTLB page not available
[ 0.473417] HugeTLB registered 16 GB page size, pre-allocated 0 pages
[ 0.473423] HugeTLB registered 16 MB page size, pre-allocated 16 pages
That info is already part of the second line isn't it ? ie
[ 0.473417] HugeTLB registered 16 GB page size, pre-allocated 0 pages
pre-allocated 0 pages indicate we didn't allocate anything. So why do we
need to add more details fo kernel output ?
Agreed, the '0 pages' message indicates we failed to pre-allocate any
pages. The 'pre-allocate' messages are specifically about the kernel
command-line requests for hugepages.
Not sure I understand the motivation for this?
The motivation was just to add a cause to the failure of allocation
of requested 16G huge pages. I think "pre-allocated 0 pages" does
not hint about the cause of the failure.