All of lore.kernel.org
 help / color / mirror / Atom feed
* pmd_set_huge and ACPI warnings
@ 2016-04-16  1:09 Paul Sturm
  0 siblings, 0 replies; only message in thread
From: Paul Sturm @ 2016-04-16  1:09 UTC (permalink / raw)
  To: linux-kernel

Not sure if this is the right place to post. If it is not please direct me to where I should go.

I am running x86_64 kernel 4.4.6 on an Intel Xeon D system. This is an SOC system that includes dual 10G ethernet using the ixgbe driver. 
I have also tested this on kernels 4.2 through 4.6rc3 with the same result.

When the ixgbe driver loads, I get the following two warnings: 

[ 5453.184701] ixgbe: Intel(R) 10 Gigabit PCI Express Network Driver - version 4.2.1-k 
[ 5453.184704] ixgbe: Copyright (c) 1999-2015 Intel Corporation. 
[ 5453.184767] ACPI Warning: \_SB_.PCI0.BR2C._PRT: Return Package has no elements (empty) (20150930/nsprepkg-126) 
[ 5453.184891] pmd_set_huge: Cannot satisfy [mem 0x383fffa00000-0x383fffc00000] with a huge-page mapping due to MTRR override. 

BIOS is set to enable 64-bit DMA above 4GB. 
cat proc/mtrr looks like this: 
reg00: base=0x080000000 ( 2048MB ), size= 2048MB, count=1: uncachable 
reg01: base=0x380000000000 (58720256MB ), size=262144MB, count=1: uncachable 
reg02: base=0x383fff800000 (58982392MB ), size= 8MB, count=1: write-through 
reg03: base=0x383ffff00000 (58982399MB ), size= 1MB, count=1: uncachable 

When I change the BIOS setting to disable DMA above 4GB (no other BIOS changes I tried had any effect on the MTRR ranges) 
cat /proc/mtrr looks like this: 
reg00: base=0x080000000 ( 2048MB ), size= 2048MB, count=1: uncachable 
reg01: base=0x380000000000 (58720256MB ), size=262144MB, count=1: uncachable 
reg02: base=0x0f9800000 ( 3992MB ), size= 8MB, count=1: write-through 
reg03: base=0x0f9f00000 ( 3999MB ), size= 1MB, count=1: uncachable 

and the pmd_set_huge warning indicates a memory range in the 0x0fxxxx uncacheable range. 

So the result is that ixgbe seems to always try to get it's hugepage from the uncacheable range. 

I can post the full dmesg if requested, but in the meantime, here are the TLB-related entries: 
[ 0.027925] Last level iTLB entries: 4KB 64, 2MB 8, 4MB 8 
[ 0.027931] Last level dTLB entries: 4KB 64, 2MB 0, 4MB 0, 1GB 4 

[ 0.325307] HugeTLB registered 1 GB page size, pre-allocated 0 pages 
[ 0.325315] HugeTLB registered 2 MB page size, pre-allocated 0 pages 
I tried to pre-allocate both 1GB and 2MB pages via the kernel command line and it had no effect. 

I have tried both compiling the driver in the kernel and loading it as a module. Same results. 

I first reported this on the e1000 sourceforge list and they directed me to linux-mm, but majordomo is non-responsive for that list. 

In addition to the pmd_set_huge warning, there is also that ACPI warning. I am not sure if it is related or not, but I can say it only appears when the IXGBE driver is loaded and it always loads right before the pmd_set_huge warning. 

Please advise.

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2016-04-16  1:09 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-16  1:09 pmd_set_huge and ACPI warnings Paul Sturm

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.