* warning in arch/x86/kernel/cpu/mtrr/generic.c:400 with 2.6.29-rc3 on IBM x3400 @ 2009-02-08 1:43 Morten P.D. Stevens 2009-02-09 15:50 ` Morten P.D. Stevens 0 siblings, 1 reply; 16+ messages in thread From: Morten P.D. Stevens @ 2009-02-08 1:43 UTC (permalink / raw) To: linux-kernel Hi, just for fun i installed linux 2.6.29-rc3 on a IBM x3400 server for testing purposes and get a warning in arch/x86/kernel/cpu/mtrr/generic.c: Kernel failure message 1: ------------[ cut here ]------------ WARNING: at arch/x86/kernel/cpu/mtrr/generic.c:400 generic_get_mtrr+0xc6/0x104() (Not tainted) Hardware name: IBM eServer x3400-[7976KCG]- mtrr: your BIOS has set up an incorrect mask, fixing it up. Modules linked in: Pid: 0, comm: swapper Not tainted 2.6.29-0.66.rc3.fc11.x86_64 #1 Call Trace: [<ffffffff8104a5c1>] warn_slowpath+0xb9/0xfe [<ffffffff8106ef5b>] ? lock_acquired+0x29e/0x2ae [<ffffffff81016ea4>] ? sched_clock+0xa/0xc [<ffffffff8106bc68>] ? lock_release_holdtime+0x2c/0x123 [<ffffffff8106f633>] ? lock_release+0x17c/0x189 [<ffffffff8119a570>] ? _raw_spin_unlock+0x8f/0x93 [<ffffffff8106c741>] ? trace_hardirqs_off+0xd/0xf [<ffffffff8101f915>] generic_get_mtrr+0xc6/0x104 [<ffffffff8160efa0>] mtrr_trim_uncached_memory+0x8e/0x2f5 [<ffffffff813806d9>] ? printk+0x3c/0x43 [<ffffffff816190f6>] ? early_gart_iommu_check+0x98/0x26a [<ffffffff81602140>] ? early_idt_handler+0x0/0x71 [<ffffffff8160a825>] setup_arch+0x41c/0x7d1 [<ffffffff8138338e>] ? _spin_unlock_irqrestore+0x40/0x57 [<ffffffff81602a8e>] start_kernel+0xa2/0x3e2 [<ffffffff816022bf>] x86_64_start_reservations+0xaa/0xae [<ffffffff816023ca>] x86_64_start_kernel+0xe4/0xf3 ---[ end trace 4eaa2a86a8e2da22 ]--- lspci: 00:00.0 Host bridge: Intel Corporation 5000P Chipset Memory Controller Hub (rev b1) 00:02.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x8 Port 2-3 (rev b1) 00:03.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x4 Port 3 (rev b1) 00:04.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x8 Port 4-5 (rev b1) 00:05.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x4 Port 5 (rev b1) 00:06.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x8 Port 6-7 (rev b1) 00:07.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x4 Port 7 (rev b1) 00:10.0 Host bridge: Intel Corporation 5000 Series Chipset FSB Registers (rev b1) 00:10.1 Host bridge: Intel Corporation 5000 Series Chipset FSB Registers (rev b1) 00:10.2 Host bridge: Intel Corporation 5000 Series Chipset FSB Registers (rev b1) 00:11.0 Host bridge: Intel Corporation 5000 Series Chipset Reserved Registers (rev b1) 00:13.0 Host bridge: Intel Corporation 5000 Series Chipset Reserved Registers (rev b1) 00:15.0 Host bridge: Intel Corporation 5000 Series Chipset FBD Registers (rev b1) 00:16.0 Host bridge: Intel Corporation 5000 Series Chipset FBD Registers (rev b1) 00:1c.0 PCI bridge: Intel Corporation 631xESB/632xESB/3100 Chipset PCI Express Root Port 1 (rev 09) 00:1c.1 PCI bridge: Intel Corporation 631xESB/632xESB/3100 Chipset PCI Express Root Port 2 (rev 09) 00:1d.0 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #1 (rev 09) 00:1d.1 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #2 (rev 09) 00:1d.2 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #3 (rev 09) 00:1d.3 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #4 (rev 09) 00:1d.7 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset EHCI USB2 Controller (rev 09) 00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev d9) 00:1f.0 ISA bridge: Intel Corporation 631xESB/632xESB/3100 Chipset LPC Interface Controller (rev 09) 00:1f.1 IDE interface: Intel Corporation 631xESB/632xESB IDE Controller (rev 09) 00:1f.3 SMBus: Intel Corporation 631xESB/632xESB/3100 Chipset SMBus Controller (rev 09) 01:00.0 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Upstream Port (rev 01) 01:00.3 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express to PCI-X Bridge (rev 01) 02:00.0 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Downstream Port E1 (rev 01) 02:01.0 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Downstream Port E2 (rev 01) 03:00.0 RAID bus controller: Adaptec AAC-RAID (Rocket) (rev 02) 1a:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5721 Gigabit Ethernet PCI Express (rev 21) 1c:04.0 VGA compatible controller: ATI Technologies Inc ES1000 (rev 02) Bios is the newest IBM BIOS. There are no problems with previous kernel versions like 2.6.18-92 or 2.6.27. Any ideas about the CPU/BIOS warning? - Morten ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: warning in arch/x86/kernel/cpu/mtrr/generic.c:400 with 2.6.29-rc3 on IBM x3400 2009-02-08 1:43 warning in arch/x86/kernel/cpu/mtrr/generic.c:400 with 2.6.29-rc3 on IBM x3400 Morten P.D. Stevens @ 2009-02-09 15:50 ` Morten P.D. Stevens 2009-02-09 23:45 ` Ingo Molnar 0 siblings, 1 reply; 16+ messages in thread From: Morten P.D. Stevens @ 2009-02-09 15:50 UTC (permalink / raw) To: linux-kernel Hi, Update: the same issue with a linux 2.6.28.4 kernel. [ 0.000000] ------------[ cut here ]------------ [ 0.000000] WARNING: at arch/x86/kernel/cpu/mtrr/generic.c:404 generic_get_mtrr+0xdf/0x119() [ 0.000000] mtrr: your BIOS has set up an incorrect mask, fixing it up. [ 0.000000] Modules linked in: [ 0.000000] Pid: 0, comm: swapper Not tainted 2.6.28.4-ibm #1 [ 0.000000] Call Trace: [ 0.000000] [<ffffffff8023cdae>] warn_slowpath+0xb4/0xda [ 0.000000] [<ffffffff80341c1f>] sprintf+0x51/0x59 [ 0.000000] [<ffffffff80222cb8>] default_spin_lock_flags+0x14/0x18 [ 0.000000] [<ffffffff8045e589>] _spin_unlock_irqrestore+0x22/0x25 [ 0.000000] [<ffffffff80219b3d>] get_fixed_ranges+0x94/0xbb [ 0.000000] [<ffffffff80219e0a>] mtrr_wrmsr+0x29/0x56 [ 0.000000] [<ffffffff80219e0a>] mtrr_wrmsr+0x29/0x56 [ 0.000000] [<ffffffff80602534>] get_mtrr_state+0x32d/0x339 [ 0.000000] [<ffffffff80219cf1>] generic_get_mtrr+0xdf/0x119 [ 0.000000] [<ffffffff80601347>] mtrr_bp_init+0x21f/0xc71 [ 0.000000] [<ffffffff80601e3a>] mtrr_trim_uncached_memory+0xa1/0x390 [ 0.000000] [<ffffffff803d796c>] dmi_table+0x6c/0x7a [ 0.000000] [<ffffffff8060cd06>] __early_set_fixmap+0xd1/0xd4 [ 0.000000] [<ffffffff805f6140>] early_idt_handler+0x0/0x71 [ 0.000000] [<ffffffff805fcf6a>] setup_arch+0x407/0x78c [ 0.000000] [<ffffffff806116d5>] cgroup_init_subsys+0x2a/0xd9 [ 0.000000] [<ffffffff806119b2>] cgroup_init_early+0x1a4/0x1b6 [ 0.000000] [<ffffffff8045e536>] _spin_lock+0x14/0x15 [ 0.000000] [<ffffffff805f6977>] start_kernel+0x7b/0x38b [ 0.000000] [<ffffffff805f6140>] early_idt_handler+0x0/0x71 [ 0.000000] [<ffffffff805f63e7>] x86_64_start_kernel+0x12d/0x13a [ 0.000000] ---[ end trace 4eaa2a86a8e2da22 ]--- -----Ursprüngliche Nachricht----- Von: linux-kernel-owner@vger.kernel.org [mailto:linux-kernel-owner@vger.kernel.org] Im Auftrag von Morten P.D. Stevens Gesendet: Sonntag, 8. Februar 2009 02:44 An: linux-kernel@vger.kernel.org Betreff: warning in arch/x86/kernel/cpu/mtrr/generic.c:400 with 2.6.29-rc3 on IBM x3400 Hi, just for fun i installed linux 2.6.29-rc3 on a IBM x3400 server for testing purposes and get a warning in arch/x86/kernel/cpu/mtrr/generic.c: Kernel failure message 1: ------------[ cut here ]------------ WARNING: at arch/x86/kernel/cpu/mtrr/generic.c:400 generic_get_mtrr+0xc6/0x104() (Not tainted) Hardware name: IBM eServer x3400-[7976KCG]- mtrr: your BIOS has set up an incorrect mask, fixing it up. Modules linked in: Pid: 0, comm: swapper Not tainted 2.6.29-0.66.rc3.fc11.x86_64 #1 Call Trace: [<ffffffff8104a5c1>] warn_slowpath+0xb9/0xfe [<ffffffff8106ef5b>] ? lock_acquired+0x29e/0x2ae [<ffffffff81016ea4>] ? sched_clock+0xa/0xc [<ffffffff8106bc68>] ? lock_release_holdtime+0x2c/0x123 [<ffffffff8106f633>] ? lock_release+0x17c/0x189 [<ffffffff8119a570>] ? _raw_spin_unlock+0x8f/0x93 [<ffffffff8106c741>] ? trace_hardirqs_off+0xd/0xf [<ffffffff8101f915>] generic_get_mtrr+0xc6/0x104 [<ffffffff8160efa0>] mtrr_trim_uncached_memory+0x8e/0x2f5 [<ffffffff813806d9>] ? printk+0x3c/0x43 [<ffffffff816190f6>] ? early_gart_iommu_check+0x98/0x26a [<ffffffff81602140>] ? early_idt_handler+0x0/0x71 [<ffffffff8160a825>] setup_arch+0x41c/0x7d1 [<ffffffff8138338e>] ? _spin_unlock_irqrestore+0x40/0x57 [<ffffffff81602a8e>] start_kernel+0xa2/0x3e2 [<ffffffff816022bf>] x86_64_start_reservations+0xaa/0xae [<ffffffff816023ca>] x86_64_start_kernel+0xe4/0xf3 ---[ end trace 4eaa2a86a8e2da22 ]--- lspci: 00:00.0 Host bridge: Intel Corporation 5000P Chipset Memory Controller Hub (rev b1) 00:02.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x8 Port 2-3 (rev b1) 00:03.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x4 Port 3 (rev b1) 00:04.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x8 Port 4-5 (rev b1) 00:05.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x4 Port 5 (rev b1) 00:06.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x8 Port 6-7 (rev b1) 00:07.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x4 Port 7 (rev b1) 00:10.0 Host bridge: Intel Corporation 5000 Series Chipset FSB Registers (rev b1) 00:10.1 Host bridge: Intel Corporation 5000 Series Chipset FSB Registers (rev b1) 00:10.2 Host bridge: Intel Corporation 5000 Series Chipset FSB Registers (rev b1) 00:11.0 Host bridge: Intel Corporation 5000 Series Chipset Reserved Registers (rev b1) 00:13.0 Host bridge: Intel Corporation 5000 Series Chipset Reserved Registers (rev b1) 00:15.0 Host bridge: Intel Corporation 5000 Series Chipset FBD Registers (rev b1) 00:16.0 Host bridge: Intel Corporation 5000 Series Chipset FBD Registers (rev b1) 00:1c.0 PCI bridge: Intel Corporation 631xESB/632xESB/3100 Chipset PCI Express Root Port 1 (rev 09) 00:1c.1 PCI bridge: Intel Corporation 631xESB/632xESB/3100 Chipset PCI Express Root Port 2 (rev 09) 00:1d.0 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #1 (rev 09) 00:1d.1 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #2 (rev 09) 00:1d.2 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #3 (rev 09) 00:1d.3 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #4 (rev 09) 00:1d.7 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset EHCI USB2 Controller (rev 09) 00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev d9) 00:1f.0 ISA bridge: Intel Corporation 631xESB/632xESB/3100 Chipset LPC Interface Controller (rev 09) 00:1f.1 IDE interface: Intel Corporation 631xESB/632xESB IDE Controller (rev 09) 00:1f.3 SMBus: Intel Corporation 631xESB/632xESB/3100 Chipset SMBus Controller (rev 09) 01:00.0 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Upstream Port (rev 01) 01:00.3 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express to PCI-X Bridge (rev 01) 02:00.0 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Downstream Port E1 (rev 01) 02:01.0 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Downstream Port E2 (rev 01) 03:00.0 RAID bus controller: Adaptec AAC-RAID (Rocket) (rev 02) 1a:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5721 Gigabit Ethernet PCI Express (rev 21) 1c:04.0 VGA compatible controller: ATI Technologies Inc ES1000 (rev 02) Bios is the newest IBM BIOS. There are no problems with previous kernel versions like 2.6.18-92 or 2.6.27. Any ideas about the CPU/BIOS warning? - Morten -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: warning in arch/x86/kernel/cpu/mtrr/generic.c:400 with 2.6.29-rc3 on IBM x3400 2009-02-09 15:50 ` Morten P.D. Stevens @ 2009-02-09 23:45 ` Ingo Molnar 2009-02-10 0:25 ` AW: warning in arch/x86/kernel/cpu/mtrr/generic.c:400 with2.6.29-rc3 " Morten P.D. Stevens 2009-02-10 2:40 ` warning in arch/x86/kernel/cpu/mtrr/generic.c:400 with 2.6.29-rc3 " Yinghai Lu 0 siblings, 2 replies; 16+ messages in thread From: Ingo Molnar @ 2009-02-09 23:45 UTC (permalink / raw) To: Morten P.D. Stevens, Yinghai Lu, Thomas Gleixner, H. Peter Anvin, Arjan van de Ven Cc: linux-kernel * Morten P.D. Stevens <mstevens@win-professional.com> wrote: > Hi, > > Update: > > the same issue with a linux 2.6.28.4 kernel. > > [ 0.000000] ------------[ cut here ]------------ > [ 0.000000] WARNING: at arch/x86/kernel/cpu/mtrr/generic.c:404 generic_get_mtrr+0xdf/0x119() > [ 0.000000] mtrr: your BIOS has set up an incorrect mask, fixing it up. buggy BIOS most likely. Had the kernel not fixed up the MTRRs you'd have a very slow and unhappy system now. Ingo ^ permalink raw reply [flat|nested] 16+ messages in thread
* AW: warning in arch/x86/kernel/cpu/mtrr/generic.c:400 with2.6.29-rc3 on IBM x3400 2009-02-09 23:45 ` Ingo Molnar @ 2009-02-10 0:25 ` Morten P.D. Stevens 2009-02-10 2:40 ` warning in arch/x86/kernel/cpu/mtrr/generic.c:400 with 2.6.29-rc3 " Yinghai Lu 1 sibling, 0 replies; 16+ messages in thread From: Morten P.D. Stevens @ 2009-02-10 0:25 UTC (permalink / raw) To: Ingo Molnar; +Cc: linux-kernel Hi, > buggy BIOS most likely. Had the kernel not fixed up the MTRRs you'd have > a very slow and unhappy system now. the IBM support said the bios is okay and there is a issue with linux 2.6.28 and 2.6.29-rc3? linux 2.6.26 (default debian kernel) works fine. - Morten -----Ursprüngliche Nachricht----- Von: Ingo Molnar [mailto:mingo@elte.hu] Gesendet: Dienstag, 10. Februar 2009 00:45 An: Morten P.D. Stevens; Yinghai Lu; Thomas Gleixner; H. Peter Anvin; Arjan van de Ven Cc: linux-kernel@vger.kernel.org Betreff: Re: warning in arch/x86/kernel/cpu/mtrr/generic.c:400 with2.6.29-rc3 on IBM x3400 * Morten P.D. Stevens <mstevens@win-professional.com> wrote: > Hi, > > Update: > > the same issue with a linux 2.6.28.4 kernel. > > [ 0.000000] ------------[ cut here ]------------ > [ 0.000000] WARNING: at arch/x86/kernel/cpu/mtrr/generic.c:404 generic_get_mtrr+0xdf/0x119() > [ 0.000000] mtrr: your BIOS has set up an incorrect mask, fixing it up. buggy BIOS most likely. Had the kernel not fixed up the MTRRs you'd have a very slow and unhappy system now. Ingo ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: warning in arch/x86/kernel/cpu/mtrr/generic.c:400 with 2.6.29-rc3 on IBM x3400 2009-02-09 23:45 ` Ingo Molnar 2009-02-10 0:25 ` AW: warning in arch/x86/kernel/cpu/mtrr/generic.c:400 with2.6.29-rc3 " Morten P.D. Stevens @ 2009-02-10 2:40 ` Yinghai Lu 2009-02-10 16:21 ` Morten P.D. Stevens 2009-02-11 10:43 ` Ingo Molnar 1 sibling, 2 replies; 16+ messages in thread From: Yinghai Lu @ 2009-02-10 2:40 UTC (permalink / raw) To: Ingo Molnar Cc: Morten P.D. Stevens, Thomas Gleixner, H. Peter Anvin, Arjan van de Ven, linux-kernel Ingo Molnar wrote: > * Morten P.D. Stevens <mstevens@win-professional.com> wrote: > >> Hi, >> >> Update: >> >> the same issue with a linux 2.6.28.4 kernel. >> >> [ 0.000000] ------------[ cut here ]------------ >> [ 0.000000] WARNING: at arch/x86/kernel/cpu/mtrr/generic.c:404 generic_get_mtrr+0xdf/0x119() >> [ 0.000000] mtrr: your BIOS has set up an incorrect mask, fixing it up. > > buggy BIOS most likely. Had the kernel not fixed up the MTRRs you'd have > a very slow and unhappy system now. please try: diff --git a/arch/x86/kernel/cpu/mtrr/generic.c b/arch/x86/kernel/cpu/mtrr/generic.c index 0c0a455..7a359ce 100644 --- a/arch/x86/kernel/cpu/mtrr/generic.c +++ b/arch/x86/kernel/cpu/mtrr/generic.c @@ -397,7 +397,8 @@ static void generic_get_mtrr(unsigned int reg, unsigned long *base, tmp |= ~((1<<(hi - 1)) - 1); if (tmp != mask_lo) { - WARN_ONCE(1, KERN_INFO "mtrr: your BIOS has set up an incorrect mask, fixing it up.\n"); + printk(KERN_INFO "mtrr: BIOS set mask_lo: %x should be %x, fixing it up\n", mask_lo, tmp); + WARN_ONCE(1, KERN_INFO "mtrr: your BIOS has set up an incorrect mask.\n"); mask_lo = tmp; } } ^ permalink raw reply related [flat|nested] 16+ messages in thread
* RE: warning in arch/x86/kernel/cpu/mtrr/generic.c:400 with 2.6.29-rc3 on IBM x3400 2009-02-10 2:40 ` warning in arch/x86/kernel/cpu/mtrr/generic.c:400 with 2.6.29-rc3 " Yinghai Lu @ 2009-02-10 16:21 ` Morten P.D. Stevens 2009-02-10 18:52 ` Yinghai Lu 2009-02-11 10:43 ` Ingo Molnar 1 sibling, 1 reply; 16+ messages in thread From: Morten P.D. Stevens @ 2009-02-10 16:21 UTC (permalink / raw) To: Yinghai Lu, Ingo Molnar Cc: Thomas Gleixner, H. Peter Anvin, Arjan van de Ven, linux-kernel Hi, > please try: > diff --git a/arch/x86/kernel/cpu/mtrr/generic.c b/arch/x86/kernel/cpu/mtrr/generic.c > index 0c0a455..7a359ce 100644 > --- a/arch/x86/kernel/cpu/mtrr/generic.c > +++ b/arch/x86/kernel/cpu/mtrr/generic.c > @@ -397,7 +397,8 @@ static void generic_get_mtrr(unsigned int reg, unsigned long *base, > tmp |= ~((1<<(hi - 1)) - 1); > > if (tmp != mask_lo) { > - WARN_ONCE(1, KERN_INFO "mtrr: your BIOS has set up an incorrect mask, fixing it up.\n"); > + printk(KERN_INFO "mtrr: BIOS set mask_lo: %x should be %x, fixing it up\n", mask_lo, tmp); > + WARN_ONCE(1, KERN_INFO "mtrr: your BIOS has set up an incorrect mask.\n"); > mask_lo = tmp; > } > } result: [ 0.000000] ------------[ cut here ]------------ [ 0.000000] WARNING: at arch/x86/kernel/cpu/mtrr/generic.c:405 generic_get_mtrr+0xd0/0x10a() [ 0.000000] mtrr: your BIOS has set up an incorrect mask. [ 0.000000] Modules linked in: [ 0.000000] Pid: 0, comm: swapper Not tainted 2.6.28.4-ibm #1 [ 0.000000] Call Trace: [ 0.000000] [<ffffffff8023acca>] warn_slowpath+0xb4/0xda [ 0.000000] [<ffffffff8023b8c6>] vprintk+0x2a4/0x2d1 [ 0.000000] [<ffffffff80221bea>] default_spin_lock_flags+0x6/0x8 [ 0.000000] [<ffffffff80451cf9>] printk+0x4e/0x5d [ 0.000000] [<ffffffff80453e6a>] _spin_lock_irqsave+0x25/0x2c [ 0.000000] [<ffffffff802194c0>] mtrr_wrmsr+0x1b/0x48 [ 0.000000] [<ffffffff805e5f88>] get_mtrr_state+0x2e5/0x2f1 [ 0.000000] [<ffffffff8021960e>] generic_get_mtrr+0xd0/0x10a [ 0.000000] [<ffffffff805e4e0d>] mtrr_bp_init+0x1f5/0xc39 [ 0.000000] [<ffffffff805e58e4>] mtrr_trim_uncached_memory+0x93/0x374 [ 0.000000] [<ffffffff805f07c9>] early_iounmap+0x13d/0x19d [ 0.000000] [<ffffffff805f07c9>] early_iounmap+0x13d/0x19d [ 0.000000] [<ffffffff805da140>] early_idt_handler+0x0/0x71 [ 0.000000] [<ffffffff805e0d56>] setup_arch+0x407/0x78c [ 0.000000] [<ffffffff805f4c81>] cgroup_init_subsys+0x2a/0xd9 [ 0.000000] [<ffffffff805f4f5e>] cgroup_init_early+0x1a4/0x1b6 [ 0.000000] [<ffffffff80453f10>] _spin_lock+0x6/0x7 [ 0.000000] [<ffffffff805da931>] start_kernel+0x7b/0x38b [ 0.000000] [<ffffffff805da140>] early_idt_handler+0x0/0x71 [ 0.000000] [<ffffffff805da3a1>] x86_64_start_kernel+0xe7/0xf4 [ 0.000000] ---[ end trace 4eaa2a86a8e2da22 ]--- -----Original Message----- From: Yinghai Lu [mailto:yinghai@kernel.org] Sent: Tuesday, February 10, 2009 3:40 AM To: Ingo Molnar Cc: Morten P.D. Stevens; Thomas Gleixner; H. Peter Anvin; Arjan van de Ven; linux-kernel@vger.kernel.org Subject: Re: warning in arch/x86/kernel/cpu/mtrr/generic.c:400 with 2.6.29-rc3 on IBM x3400 Ingo Molnar wrote: > * Morten P.D. Stevens <mstevens@win-professional.com> wrote: > >> Hi, >> >> Update: >> >> the same issue with a linux 2.6.28.4 kernel. >> >> [ 0.000000] ------------[ cut here ]------------ >> [ 0.000000] WARNING: at arch/x86/kernel/cpu/mtrr/generic.c:404 generic_get_mtrr+0xdf/0x119() >> [ 0.000000] mtrr: your BIOS has set up an incorrect mask, fixing it up. > > buggy BIOS most likely. Had the kernel not fixed up the MTRRs you'd have > a very slow and unhappy system now. please try: diff --git a/arch/x86/kernel/cpu/mtrr/generic.c b/arch/x86/kernel/cpu/mtrr/generic.c index 0c0a455..7a359ce 100644 --- a/arch/x86/kernel/cpu/mtrr/generic.c +++ b/arch/x86/kernel/cpu/mtrr/generic.c @@ -397,7 +397,8 @@ static void generic_get_mtrr(unsigned int reg, unsigned long *base, tmp |= ~((1<<(hi - 1)) - 1); if (tmp != mask_lo) { - WARN_ONCE(1, KERN_INFO "mtrr: your BIOS has set up an incorrect mask, fixing it up.\n"); + printk(KERN_INFO "mtrr: BIOS set mask_lo: %x should be %x, fixing it up\n", mask_lo, tmp); + WARN_ONCE(1, KERN_INFO "mtrr: your BIOS has set up an incorrect mask.\n"); mask_lo = tmp; } } ^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: warning in arch/x86/kernel/cpu/mtrr/generic.c:400 with 2.6.29-rc3 on IBM x3400 2009-02-10 16:21 ` Morten P.D. Stevens @ 2009-02-10 18:52 ` Yinghai Lu 2009-02-10 20:34 ` Morten P.D. Stevens 0 siblings, 1 reply; 16+ messages in thread From: Yinghai Lu @ 2009-02-10 18:52 UTC (permalink / raw) To: Morten P.D. Stevens Cc: Ingo Molnar, Thomas Gleixner, H. Peter Anvin, Arjan van de Ven, linux-kernel On Tue, Feb 10, 2009 at 8:21 AM, Morten P.D. Stevens <mstevens@win-professional.com> wrote: > Hi, > >> please try: >> diff --git a/arch/x86/kernel/cpu/mtrr/generic.c > b/arch/x86/kernel/cpu/mtrr/generic.c >> index 0c0a455..7a359ce 100644 >> --- a/arch/x86/kernel/cpu/mtrr/generic.c >> +++ b/arch/x86/kernel/cpu/mtrr/generic.c >> @@ -397,7 +397,8 @@ static void generic_get_mtrr(unsigned int reg, > unsigned long *base, >> tmp |= ~((1<<(hi - 1)) - 1); >> >> if (tmp != mask_lo) { >> - WARN_ONCE(1, KERN_INFO "mtrr: your BIOS has set > up an incorrect mask, fixing it up.\n"); >> + printk(KERN_INFO "mtrr: BIOS set mask_lo: %x > should be %x, fixing it up\n", mask_lo, tmp); >> + WARN_ONCE(1, KERN_INFO "mtrr: your BIOS has set > up an incorrect mask.\n"); >> mask_lo = tmp; >> } >> } > > result: > > [ 0.000000] ------------[ cut here ]------------ > [ 0.000000] WARNING: at arch/x86/kernel/cpu/mtrr/generic.c:405 > generic_get_mtrr+0xd0/0x10a() > [ 0.000000] mtrr: your BIOS has set up an incorrect mask. > [ 0.000000] Modules linked in: > [ 0.000000] Pid: 0, comm: swapper Not tainted 2.6.28.4-ibm #1 > [ 0.000000] Call Trace: > [ 0.000000] [<ffffffff8023acca>] warn_slowpath+0xb4/0xda > [ 0.000000] [<ffffffff8023b8c6>] vprintk+0x2a4/0x2d1 > [ 0.000000] [<ffffffff80221bea>] default_spin_lock_flags+0x6/0x8 > [ 0.000000] [<ffffffff80451cf9>] printk+0x4e/0x5d > [ 0.000000] [<ffffffff80453e6a>] _spin_lock_irqsave+0x25/0x2c > [ 0.000000] [<ffffffff802194c0>] mtrr_wrmsr+0x1b/0x48 > [ 0.000000] [<ffffffff805e5f88>] get_mtrr_state+0x2e5/0x2f1 > [ 0.000000] [<ffffffff8021960e>] generic_get_mtrr+0xd0/0x10a > [ 0.000000] [<ffffffff805e4e0d>] mtrr_bp_init+0x1f5/0xc39 > [ 0.000000] [<ffffffff805e58e4>] > mtrr_trim_uncached_memory+0x93/0x374 > [ 0.000000] [<ffffffff805f07c9>] early_iounmap+0x13d/0x19d > [ 0.000000] [<ffffffff805f07c9>] early_iounmap+0x13d/0x19d > [ 0.000000] [<ffffffff805da140>] early_idt_handler+0x0/0x71 > [ 0.000000] [<ffffffff805e0d56>] setup_arch+0x407/0x78c > [ 0.000000] [<ffffffff805f4c81>] cgroup_init_subsys+0x2a/0xd9 > [ 0.000000] [<ffffffff805f4f5e>] cgroup_init_early+0x1a4/0x1b6 > [ 0.000000] [<ffffffff80453f10>] _spin_lock+0x6/0x7 > [ 0.000000] [<ffffffff805da931>] start_kernel+0x7b/0x38b > [ 0.000000] [<ffffffff805da140>] early_idt_handler+0x0/0x71 > [ 0.000000] [<ffffffff805da3a1>] x86_64_start_kernel+0xe7/0xf4 > [ 0.000000] ---[ end trace 4eaa2a86a8e2da22 ]--- > the line before this? it should tell why BIOS set the mask wrong. YH ^ permalink raw reply [flat|nested] 16+ messages in thread
* RE: warning in arch/x86/kernel/cpu/mtrr/generic.c:400 with 2.6.29-rc3 on IBM x3400 2009-02-10 18:52 ` Yinghai Lu @ 2009-02-10 20:34 ` Morten P.D. Stevens 2009-02-10 20:45 ` Yinghai Lu 0 siblings, 1 reply; 16+ messages in thread From: Morten P.D. Stevens @ 2009-02-10 20:34 UTC (permalink / raw) To: Yinghai Lu Cc: Ingo Molnar, Thomas Gleixner, H. Peter Anvin, Arjan van de Ven, linux-kernel Hi, > the line before this? it should tell why BIOS set the mask wrong. here are the lines before: [ 0.000000] BIOS EBDA/lowmem at: 0009c400/0009c400 [ 0.000000] Initializing cgroup subsys cpuset [ 0.000000] Initializing cgroup subsys cpu [ 0.000000] Linux version 2.6.28.4-ibm (root@debian) (gcc version 4.3.2 (Debian 4.3.2-1.1) ) #1 SMP Tue Feb 10 16:49:51 CET 2009 [ 0.000000] Command line: root=/dev/sda3 ro quiet [ 0.000000] KERNEL supported cpus: [ 0.000000] Intel GenuineIntel [ 0.000000] AMD AuthenticAMD [ 0.000000] Centaur CentaurHauls [ 0.000000] BIOS-provided physical RAM map: [ 0.000000] BIOS-e820: 0000000000000000 - 000000000009c400 (usable) [ 0.000000] BIOS-e820: 000000000009c400 - 00000000000a0000 (reserved) [ 0.000000] BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved) [ 0.000000] BIOS-e820: 0000000000100000 - 00000000bff60000 (usable) [ 0.000000] BIOS-e820: 00000000bff60000 - 00000000bff6a000 (ACPI data) [ 0.000000] BIOS-e820: 00000000bff6a000 - 00000000bff80000 (ACPI NVS) [ 0.000000] BIOS-e820: 00000000bff80000 - 00000000c0000000 (reserved) [ 0.000000] BIOS-e820: 00000000e0000000 - 00000000f0000000 (reserved) [ 0.000000] BIOS-e820: 00000000fec00000 - 00000000fec10000 (reserved) [ 0.000000] BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved) [ 0.000000] BIOS-e820: 00000000ff000000 - 0000000100000000 (reserved) [ 0.000000] BIOS-e820: 0000000100000000 - 0000000140000000 (usable) [ 0.000000] DMI present. [ 0.000000] last_pfn = 0x140000 max_arch_pfn = 0x3ffffffff [ 0.000000] mtrr: BIOS set mask_lo: fcffff80 should be ffffff80, fixing it up -----Original Message----- From: yhlu.kernel@gmail.com [mailto:yhlu.kernel@gmail.com] On Behalf Of Yinghai Lu Sent: Tuesday, February 10, 2009 7:52 PM To: Morten P.D. Stevens Cc: Ingo Molnar; Thomas Gleixner; H. Peter Anvin; Arjan van de Ven; linux-kernel@vger.kernel.org Subject: Re: warning in arch/x86/kernel/cpu/mtrr/generic.c:400 with 2.6.29-rc3 on IBM x3400 On Tue, Feb 10, 2009 at 8:21 AM, Morten P.D. Stevens <mstevens@win-professional.com> wrote: > Hi, > >> please try: >> diff --git a/arch/x86/kernel/cpu/mtrr/generic.c > b/arch/x86/kernel/cpu/mtrr/generic.c >> index 0c0a455..7a359ce 100644 >> --- a/arch/x86/kernel/cpu/mtrr/generic.c >> +++ b/arch/x86/kernel/cpu/mtrr/generic.c >> @@ -397,7 +397,8 @@ static void generic_get_mtrr(unsigned int reg, > unsigned long *base, >> tmp |= ~((1<<(hi - 1)) - 1); >> >> if (tmp != mask_lo) { >> - WARN_ONCE(1, KERN_INFO "mtrr: your BIOS has set > up an incorrect mask, fixing it up.\n"); >> + printk(KERN_INFO "mtrr: BIOS set mask_lo: %x > should be %x, fixing it up\n", mask_lo, tmp); >> + WARN_ONCE(1, KERN_INFO "mtrr: your BIOS has set > up an incorrect mask.\n"); >> mask_lo = tmp; >> } >> } > > result: > > [ 0.000000] ------------[ cut here ]------------ > [ 0.000000] WARNING: at arch/x86/kernel/cpu/mtrr/generic.c:405 > generic_get_mtrr+0xd0/0x10a() > [ 0.000000] mtrr: your BIOS has set up an incorrect mask. > [ 0.000000] Modules linked in: > [ 0.000000] Pid: 0, comm: swapper Not tainted 2.6.28.4-ibm #1 > [ 0.000000] Call Trace: > [ 0.000000] [<ffffffff8023acca>] warn_slowpath+0xb4/0xda > [ 0.000000] [<ffffffff8023b8c6>] vprintk+0x2a4/0x2d1 > [ 0.000000] [<ffffffff80221bea>] default_spin_lock_flags+0x6/0x8 > [ 0.000000] [<ffffffff80451cf9>] printk+0x4e/0x5d > [ 0.000000] [<ffffffff80453e6a>] _spin_lock_irqsave+0x25/0x2c > [ 0.000000] [<ffffffff802194c0>] mtrr_wrmsr+0x1b/0x48 > [ 0.000000] [<ffffffff805e5f88>] get_mtrr_state+0x2e5/0x2f1 > [ 0.000000] [<ffffffff8021960e>] generic_get_mtrr+0xd0/0x10a > [ 0.000000] [<ffffffff805e4e0d>] mtrr_bp_init+0x1f5/0xc39 > [ 0.000000] [<ffffffff805e58e4>] > mtrr_trim_uncached_memory+0x93/0x374 > [ 0.000000] [<ffffffff805f07c9>] early_iounmap+0x13d/0x19d > [ 0.000000] [<ffffffff805f07c9>] early_iounmap+0x13d/0x19d > [ 0.000000] [<ffffffff805da140>] early_idt_handler+0x0/0x71 > [ 0.000000] [<ffffffff805e0d56>] setup_arch+0x407/0x78c > [ 0.000000] [<ffffffff805f4c81>] cgroup_init_subsys+0x2a/0xd9 > [ 0.000000] [<ffffffff805f4f5e>] cgroup_init_early+0x1a4/0x1b6 > [ 0.000000] [<ffffffff80453f10>] _spin_lock+0x6/0x7 > [ 0.000000] [<ffffffff805da931>] start_kernel+0x7b/0x38b > [ 0.000000] [<ffffffff805da140>] early_idt_handler+0x0/0x71 > [ 0.000000] [<ffffffff805da3a1>] x86_64_start_kernel+0xe7/0xf4 > [ 0.000000] ---[ end trace 4eaa2a86a8e2da22 ]--- > the line before this? it should tell why BIOS set the mask wrong. YH ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: warning in arch/x86/kernel/cpu/mtrr/generic.c:400 with 2.6.29-rc3 on IBM x3400 2009-02-10 20:34 ` Morten P.D. Stevens @ 2009-02-10 20:45 ` Yinghai Lu 2009-02-10 21:19 ` Morten P.D. Stevens 0 siblings, 1 reply; 16+ messages in thread From: Yinghai Lu @ 2009-02-10 20:45 UTC (permalink / raw) To: Morten P.D. Stevens Cc: Ingo Molnar, Thomas Gleixner, H. Peter Anvin, Arjan van de Ven, linux-kernel Morten P.D. Stevens wrote: > Hi, > >> the line before this? it should tell why BIOS set the mask wrong. > > [ 0.000000] mtrr: BIOS set mask_lo: fcffff80 should be ffffff80, > fixing it up so BIOS miss two bits in var mtrr regs can you post /proc/mtrr in 2.6.29-rc3 and old kernel without warn_on..? YH ^ permalink raw reply [flat|nested] 16+ messages in thread
* RE: warning in arch/x86/kernel/cpu/mtrr/generic.c:400 with 2.6.29-rc3 on IBM x3400 2009-02-10 20:45 ` Yinghai Lu @ 2009-02-10 21:19 ` Morten P.D. Stevens 2009-02-11 5:06 ` Yinghai Lu 0 siblings, 1 reply; 16+ messages in thread From: Morten P.D. Stevens @ 2009-02-10 21:19 UTC (permalink / raw) To: Yinghai Lu Cc: Ingo Molnar, Thomas Gleixner, H. Peter Anvin, Arjan van de Ven, linux-kernel Hi, > can you post /proc/mtrr in 2.6.29-rc3 and old kernel without warn_on..? okay... affected are 2.6.26, 2.6.27, 2.6.28 and 2.6.29-rc3. (previous kernels are not tested) a small update: debian 2.6.26 lenny default kernel should be also affected. here /proc/mtrr from 2.6.28.4: ibm-x3400:~# cat /proc/mtrr reg00: base=0x0c0000000 ( 3072MB), size= 1024MB, count=1: uncachable reg01: base=0x000000000 ( 0MB), size= 4096MB, count=1: write-back reg02: base=0x100000000 ( 4096MB), size= 1024MB, count=1: write-back reg03: base=0x0bff80000 ( 3071MB), size= 512KB, count=1: uncachable /proc/mtrr linux 2.6.24 (from gentoo 2008.0 amd64 livecd) no errors in dmesg reg00: base=0xc0000000 (3072MB), size=1024MB: uncachable, count=1 reg01: base=0x00000000 ( 0MB), size=4096MB: write-back, count=1 reg02: base=0x100000000 (4096MB), size=1024MB: write-back, count=1 reg03: base=0xbff80000 (3071MB), size=196608MB: uncachable, count=1 - Morten -----Original Message----- From: Yinghai Lu [mailto:yinghai@kernel.org] Sent: Tuesday, February 10, 2009 9:45 PM To: Morten P.D. Stevens Cc: Ingo Molnar; Thomas Gleixner; H. Peter Anvin; Arjan van de Ven; linux-kernel@vger.kernel.org Subject: Re: warning in arch/x86/kernel/cpu/mtrr/generic.c:400 with 2.6.29-rc3 on IBM x3400 Morten P.D. Stevens wrote: > Hi, > >> the line before this? it should tell why BIOS set the mask wrong. > > [ 0.000000] mtrr: BIOS set mask_lo: fcffff80 should be ffffff80, > fixing it up so BIOS miss two bits in var mtrr regs can you post /proc/mtrr in 2.6.29-rc3 and old kernel without warn_on..? YH ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: warning in arch/x86/kernel/cpu/mtrr/generic.c:400 with 2.6.29-rc3 on IBM x3400 2009-02-10 21:19 ` Morten P.D. Stevens @ 2009-02-11 5:06 ` Yinghai Lu 2009-02-11 16:01 ` Morten P.D. Stevens 0 siblings, 1 reply; 16+ messages in thread From: Yinghai Lu @ 2009-02-11 5:06 UTC (permalink / raw) To: Morten P.D. Stevens Cc: Ingo Molnar, Thomas Gleixner, H. Peter Anvin, Arjan van de Ven, linux-kernel On Tue, Feb 10, 2009 at 1:19 PM, Morten P.D. Stevens <mstevens@win-professional.com> wrote: > Hi, > >> can you post /proc/mtrr in 2.6.29-rc3 and old kernel without > warn_on..? > > okay... affected are 2.6.26, 2.6.27, 2.6.28 and 2.6.29-rc3. (previous > kernels are not tested) > a small update: debian 2.6.26 lenny default kernel should be also > affected. > > here /proc/mtrr from 2.6.28.4: > > ibm-x3400:~# cat /proc/mtrr > reg00: base=0x0c0000000 ( 3072MB), size= 1024MB, count=1: uncachable > reg01: base=0x000000000 ( 0MB), size= 4096MB, count=1: write-back > reg02: base=0x100000000 ( 4096MB), size= 1024MB, count=1: write-back > reg03: base=0x0bff80000 ( 3071MB), size= 512KB, count=1: uncachable > > /proc/mtrr linux 2.6.24 (from gentoo 2008.0 amd64 livecd) no errors in > dmesg > > reg00: base=0xc0000000 (3072MB), size=1024MB: uncachable, count=1 > reg01: base=0x00000000 ( 0MB), size=4096MB: write-back, count=1 > reg02: base=0x100000000 (4096MB), size=1024MB: write-back, count=1 > reg03: base=0xbff80000 (3071MB), size=196608MB: uncachable, count=1 so there is some problem with your BIOS, please ask the vendor to provide one to make 2.6.24 happy. YH ^ permalink raw reply [flat|nested] 16+ messages in thread
* RE: warning in arch/x86/kernel/cpu/mtrr/generic.c:400 with 2.6.29-rc3 on IBM x3400 2009-02-11 5:06 ` Yinghai Lu @ 2009-02-11 16:01 ` Morten P.D. Stevens 2009-02-11 18:52 ` Yinghai Lu 0 siblings, 1 reply; 16+ messages in thread From: Morten P.D. Stevens @ 2009-02-11 16:01 UTC (permalink / raw) To: Yinghai Lu Cc: Ingo Molnar, Thomas Gleixner, H. Peter Anvin, Arjan van de Ven, linux-kernel Hi, > so there is some problem with your BIOS, please ask the vendor to > provide one to make > 2.6.24 happy. I'll report the issue to the IBM support. on our IBM x3400 servers running RHEL the same output: 2.6.18-92.1.10.el5 # reg00: base=0xc0000000 (3072MB), size=1024MB: uncachable, count=1 reg01: base=0x00000000 ( 0MB), size=4096MB: write-back, count=1 reg02: base=0x100000000 (4096MB), size=1024MB: write-back, count=1 reg03: base=0xbff80000 (3071MB), size=196608MB: uncachable, count=1 and in dmesg: mtrr: type mismatch for d0000000,1000000 old: uncachable new: write-combining Is this a big problem for direct usage? The performance on these servers is still fine...? Thanks for your assistance. - Morten -----Original Message----- From: yhlu.kernel@gmail.com [mailto:yhlu.kernel@gmail.com] On Behalf Of Yinghai Lu Sent: Wednesday, February 11, 2009 6:07 AM To: Morten P.D. Stevens Cc: Ingo Molnar; Thomas Gleixner; H. Peter Anvin; Arjan van de Ven; linux-kernel@vger.kernel.org Subject: Re: warning in arch/x86/kernel/cpu/mtrr/generic.c:400 with 2.6.29-rc3 on IBM x3400 On Tue, Feb 10, 2009 at 1:19 PM, Morten P.D. Stevens <mstevens@win-professional.com> wrote: > Hi, > >> can you post /proc/mtrr in 2.6.29-rc3 and old kernel without > warn_on..? > > okay... affected are 2.6.26, 2.6.27, 2.6.28 and 2.6.29-rc3. (previous > kernels are not tested) > a small update: debian 2.6.26 lenny default kernel should be also > affected. > > here /proc/mtrr from 2.6.28.4: > > ibm-x3400:~# cat /proc/mtrr > reg00: base=0x0c0000000 ( 3072MB), size= 1024MB, count=1: uncachable > reg01: base=0x000000000 ( 0MB), size= 4096MB, count=1: write-back > reg02: base=0x100000000 ( 4096MB), size= 1024MB, count=1: write-back > reg03: base=0x0bff80000 ( 3071MB), size= 512KB, count=1: uncachable > > /proc/mtrr linux 2.6.24 (from gentoo 2008.0 amd64 livecd) no errors in > dmesg > > reg00: base=0xc0000000 (3072MB), size=1024MB: uncachable, count=1 > reg01: base=0x00000000 ( 0MB), size=4096MB: write-back, count=1 > reg02: base=0x100000000 (4096MB), size=1024MB: write-back, count=1 > reg03: base=0xbff80000 (3071MB), size=196608MB: uncachable, count=1 so there is some problem with your BIOS, please ask the vendor to provide one to make 2.6.24 happy. YH ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: warning in arch/x86/kernel/cpu/mtrr/generic.c:400 with 2.6.29-rc3 on IBM x3400 2009-02-11 16:01 ` Morten P.D. Stevens @ 2009-02-11 18:52 ` Yinghai Lu 2009-03-29 16:03 ` Morten P.D. Stevens 0 siblings, 1 reply; 16+ messages in thread From: Yinghai Lu @ 2009-02-11 18:52 UTC (permalink / raw) To: Morten P.D. Stevens Cc: Ingo Molnar, Thomas Gleixner, H. Peter Anvin, Arjan van de Ven, linux-kernel Morten P.D. Stevens wrote: > Hi, > >> so there is some problem with your BIOS, please ask the vendor to >> provide one to make >> 2.6.24 happy. > > I'll report the issue to the IBM support. > > on our IBM x3400 servers running RHEL the same output: > > 2.6.18-92.1.10.el5 # > > reg00: base=0xc0000000 (3072MB), size=1024MB: uncachable, count=1 > reg01: base=0x00000000 ( 0MB), size=4096MB: write-back, count=1 > reg02: base=0x100000000 (4096MB), size=1024MB: write-back, count=1 > reg03: base=0xbff80000 (3071MB), size=196608MB: uncachable, count=1 so that bios need to be fixed too. > > and in dmesg: > > mtrr: type mismatch for d0000000,1000000 old: uncachable new: > write-combining want add one entry for xwindow with your display card. > > > Is this a big problem for direct usage? The performance on these servers > is still fine...? x window could be some slow. YH ^ permalink raw reply [flat|nested] 16+ messages in thread
* RE: warning in arch/x86/kernel/cpu/mtrr/generic.c:400 with 2.6.29-rc3 on IBM x3400 2009-02-11 18:52 ` Yinghai Lu @ 2009-03-29 16:03 ` Morten P.D. Stevens 2009-03-29 19:17 ` Yinghai Lu 0 siblings, 1 reply; 16+ messages in thread From: Morten P.D. Stevens @ 2009-03-29 16:03 UTC (permalink / raw) To: 'Yinghai Lu' Cc: Ingo Molnar, Thomas Gleixner, H. Peter Anvin, Arjan van de Ven, linux-kernel Hi, > so that bios need to be fixed too. a small update: IBM said the BIOS-provided physical RAM map should be okay and they will not release a new bios... IBM said, this is a linux problem triggered through arch/x86/kernel/cpu/mtrr/... After installing and testing ubuntu server 9.04 (linux 2.6.28) i get this warning/failure in dmesg: [ 0.000000] BIOS EBDA/lowmem at: 0009c400/0009c400 [ 0.000000] Initializing cgroup subsys cpuset [ 0.000000] Initializing cgroup subsys cpu [ 0.000000] Linux version 2.6.28-11-server (buildd@crested) (gcc version 4.3.3 (Ubuntu 4.3.3-5ubuntu4) ) #37-Ubuntu SMP Mon Mar 23 17:33:24 UTC 2009 (Ubuntu 2.6.28-11.37-server) [ 0.000000] Command line: root=/dev/mapper/ubuntu--server-root ro quiet splash [ 0.000000] KERNEL supported cpus: [ 0.000000] Intel GenuineIntel [ 0.000000] AMD AuthenticAMD [ 0.000000] Centaur CentaurHauls [ 0.000000] BIOS-provided physical RAM map: [ 0.000000] BIOS-e820: 0000000000000000 - 000000000009c400 (usable) [ 0.000000] BIOS-e820: 000000000009c400 - 00000000000a0000 (reserved) [ 0.000000] BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved) [ 0.000000] BIOS-e820: 0000000000100000 - 00000000bff60000 (usable) [ 0.000000] BIOS-e820: 00000000bff60000 - 00000000bff6a000 (ACPI data) [ 0.000000] BIOS-e820: 00000000bff6a000 - 00000000bff80000 (ACPI NVS) [ 0.000000] BIOS-e820: 00000000bff80000 - 00000000c0000000 (reserved) [ 0.000000] BIOS-e820: 00000000e0000000 - 00000000f0000000 (reserved) [ 0.000000] BIOS-e820: 00000000fec00000 - 00000000fec10000 (reserved) [ 0.000000] BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved) [ 0.000000] BIOS-e820: 00000000ff000000 - 0000000100000000 (reserved) [ 0.000000] BIOS-e820: 0000000100000000 - 0000000140000000 (usable) [ 0.000000] DMI present. [ 0.000000] last_pfn = 0x140000 max_arch_pfn = 0x3ffffffff [ 0.000000] ------------[ cut here ]------------ [ 0.000000] WARNING: at /build/buildd/linux-2.6.28/arch/x86/kernel/cpu/mtrr/generic.c:411 generic_get_mtrr+0xfa/0x130() [ 0.000000] mtrr: your BIOS has set up an incorrect mask, fixing it up. [ 0.000000] Modules linked in: [ 0.000000] Pid: 0, comm: swapper Not tainted 2.6.28-11-server #37-Ubuntu [ 0.000000] Call Trace: [ 0.000000] [<ffffffff80250927>] warn_slowpath+0xb7/0xf0 [ 0.000000] [<ffffffff8041ea88>] ? sprintf+0x68/0x70 [ 0.000000] [<ffffffff8041e5d8>] ? vsnprintf+0x2e8/0x730 [ 0.000000] [<ffffffff8069eaf8>] ? _spin_unlock_irqrestore+0x18/0x20 [ 0.000000] [<ffffffff8069eaf8>] ? _spin_unlock_irqrestore+0x18/0x20 [ 0.000000] [<ffffffff8025124d>] ? release_console_sem+0x1dd/0x230 [ 0.000000] [<ffffffff8025172c>] ? vprintk+0x19c/0x400 [ 0.000000] [<ffffffff80a1aa16>] ? dmi_save_one_device+0x79/0xb4 [ 0.000000] [<ffffffff80220c6a>] generic_get_mtrr+0xfa/0x130 [ 0.000000] [<ffffffff809f7215>] mtrr_trim_uncached_memory+0xa3/0x331 [ 0.000000] [<ffffffff809f26c4>] setup_arch+0x5c6/0x902 [ 0.000000] [<ffffffff80273822>] ? clockevents_register_notifier+0x42/0x60 [ 0.000000] [<ffffffff809e9b33>] start_kernel+0x6e/0x3b2 [ 0.000000] [<ffffffff809e92b4>] x86_64_start_reservations+0x94/0xb9 [ 0.000000] [<ffffffff809e93ee>] x86_64_start_kernel+0xf2/0x101 [ 0.000000] [<ffffffff809e9140>] ? early_idt_handler+0x0/0x71 [ 0.000000] ---[ end trace 4eaa2a86a8e2da22 ]--- [ 0.000000] last_pfn = 0xbff60 max_arch_pfn = 0x3ffffffff [ 0.000000] Scanning 2 areas for low memory corruption [ 0.000000] modified physical RAM map: [ 0.000000] modified: 0000000000000000 - 0000000000001000 (usable) [ 0.000000] modified: 0000000000001000 - 0000000000006000 (reserved) [ 0.000000] modified: 0000000000006000 - 0000000000008000 (usable) [ 0.000000] modified: 0000000000008000 - 0000000000010000 (reserved) [ 0.000000] modified: 0000000000010000 - 000000000008f400 (usable) [ 0.000000] modified: 000000000009c400 - 00000000000a0000 (reserved) [ 0.000000] modified: 00000000000e0000 - 0000000000100000 (reserved) [ 0.000000] modified: 0000000000100000 - 00000000bff60000 (usable) [ 0.000000] modified: 00000000bff60000 - 00000000bff6a000 (ACPI data) [ 0.000000] modified: 00000000bff6a000 - 00000000bff80000 (ACPI NVS) [ 0.000000] modified: 00000000bff80000 - 00000000c0000000 (reserved) [ 0.000000] modified: 00000000e0000000 - 00000000f0000000 (reserved) [ 0.000000] modified: 00000000fec00000 - 00000000fec10000 (reserved) [ 0.000000] modified: 00000000fee00000 - 00000000fee01000 (reserved) [ 0.000000] modified: 00000000ff000000 - 0000000100000000 (reserved) [ 0.000000] modified: 0000000100000000 - 0000000140000000 (usable) [ 0.000000] init_memory_mapping: 0000000000000000-00000000bff60000 [ 0.000000] 0000000000 - 00bfe00000 page 2M [ 0.000000] 00bfe00000 - 00bff60000 page 4k [ 0.000000] kernel direct mapping tables up to bff60000 @ 10000-15000 [ 0.000000] last_map_addr: bff60000 end: bff60000 [ 0.000000] init_memory_mapping: 0000000100000000-0000000140000000 [ 0.000000] 0100000000 - 0140000000 page 2M [ 0.000000] kernel direct mapping tables up to 140000000 @ 13000-19000 [ 0.000000] last_map_addr: 140000000 end: 140000000 root@ubuntu-server:/# uname -a Linux ubuntu-server 2.6.28-11-server #37-Ubuntu SMP Mon Mar 23 17:33:24 UTC 2009 x86_64 GNU/Linux root@ubuntu-server:/# cat /proc/mtrr reg00: base=0x0c0000000 ( 3072MB), size= 1024MB, count=1: uncachable reg01: base=0x000000000 ( 0MB), size= 4096MB, count=1: write-back reg02: base=0x100000000 ( 4096MB), size= 1024MB, count=1: write-back reg03: base=0x0bff80000 ( 3071MB), size= 512KB, count=1: uncachable Morten -----Original Message----- From: Yinghai Lu [mailto:yinghai@kernel.org] Sent: Wednesday, February 11, 2009 7:52 PM To: Morten P.D. Stevens Cc: Ingo Molnar; Thomas Gleixner; H. Peter Anvin; Arjan van de Ven; linux-kernel@vger.kernel.org Subject: Re: warning in arch/x86/kernel/cpu/mtrr/generic.c:400 with 2.6.29-rc3 on IBM x3400 Morten P.D. Stevens wrote: > Hi, > >> so there is some problem with your BIOS, please ask the vendor to >> provide one to make >> 2.6.24 happy. > > I'll report the issue to the IBM support. > > on our IBM x3400 servers running RHEL the same output: > > 2.6.18-92.1.10.el5 # > > reg00: base=0xc0000000 (3072MB), size=1024MB: uncachable, count=1 > reg01: base=0x00000000 ( 0MB), size=4096MB: write-back, count=1 > reg02: base=0x100000000 (4096MB), size=1024MB: write-back, count=1 > reg03: base=0xbff80000 (3071MB), size=196608MB: uncachable, count=1 so that bios need to be fixed too. > > and in dmesg: > > mtrr: type mismatch for d0000000,1000000 old: uncachable new: > write-combining want add one entry for xwindow with your display card. > > > Is this a big problem for direct usage? The performance on these servers > is still fine...? x window could be some slow. YH ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: warning in arch/x86/kernel/cpu/mtrr/generic.c:400 with 2.6.29-rc3 on IBM x3400 2009-03-29 16:03 ` Morten P.D. Stevens @ 2009-03-29 19:17 ` Yinghai Lu 0 siblings, 0 replies; 16+ messages in thread From: Yinghai Lu @ 2009-03-29 19:17 UTC (permalink / raw) To: Morten P.D. Stevens Cc: Ingo Molnar, Thomas Gleixner, H. Peter Anvin, Arjan van de Ven, linux-kernel Morten P.D. Stevens wrote: > Hi, > >> so that bios need to be fixed too. > > a small update: > IBM said the BIOS-provided physical RAM map should be okay and they will not > release a new bios... IBM said, this is a linux problem triggered through > arch/x86/kernel/cpu/mtrr/... > > After installing and testing ubuntu server 9.04 (linux 2.6.28) i get this > warning/failure in dmesg: > > [ 0.000000] BIOS EBDA/lowmem at: 0009c400/0009c400 > [ 0.000000] Initializing cgroup subsys cpuset > [ 0.000000] Initializing cgroup subsys cpu > [ 0.000000] Linux version 2.6.28-11-server (buildd@crested) (gcc version > 4.3.3 (Ubuntu 4.3.3-5ubuntu4) ) #37-Ubuntu SMP Mon Mar 23 17:33:24 UTC 2009 > (Ubuntu 2.6.28-11.37-server) > [ 0.000000] Command line: root=/dev/mapper/ubuntu--server-root ro quiet > splash > [ 0.000000] KERNEL supported cpus: > [ 0.000000] Intel GenuineIntel > [ 0.000000] AMD AuthenticAMD > [ 0.000000] Centaur CentaurHauls > [ 0.000000] BIOS-provided physical RAM map: > [ 0.000000] BIOS-e820: 0000000000000000 - 000000000009c400 (usable) > [ 0.000000] BIOS-e820: 000000000009c400 - 00000000000a0000 (reserved) > [ 0.000000] BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved) > [ 0.000000] BIOS-e820: 0000000000100000 - 00000000bff60000 (usable) > [ 0.000000] BIOS-e820: 00000000bff60000 - 00000000bff6a000 (ACPI data) > [ 0.000000] BIOS-e820: 00000000bff6a000 - 00000000bff80000 (ACPI NVS) > [ 0.000000] BIOS-e820: 00000000bff80000 - 00000000c0000000 (reserved) > [ 0.000000] BIOS-e820: 00000000e0000000 - 00000000f0000000 (reserved) > [ 0.000000] BIOS-e820: 00000000fec00000 - 00000000fec10000 (reserved) > [ 0.000000] BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved) > [ 0.000000] BIOS-e820: 00000000ff000000 - 0000000100000000 (reserved) > [ 0.000000] BIOS-e820: 0000000100000000 - 0000000140000000 (usable) > [ 0.000000] DMI present. > [ 0.000000] last_pfn = 0x140000 max_arch_pfn = 0x3ffffffff > [ 0.000000] ------------[ cut here ]------------ > [ 0.000000] WARNING: at > /build/buildd/linux-2.6.28/arch/x86/kernel/cpu/mtrr/generic.c:411 > generic_get_mtrr+0xfa/0x130() > [ 0.000000] mtrr: your BIOS has set up an incorrect mask, fixing it up. > [ 0.000000] Modules linked in: > [ 0.000000] Pid: 0, comm: swapper Not tainted 2.6.28-11-server #37-Ubuntu > [ 0.000000] Call Trace: > [ 0.000000] [<ffffffff80250927>] warn_slowpath+0xb7/0xf0 > [ 0.000000] [<ffffffff8041ea88>] ? sprintf+0x68/0x70 > [ 0.000000] [<ffffffff8041e5d8>] ? vsnprintf+0x2e8/0x730 > [ 0.000000] [<ffffffff8069eaf8>] ? _spin_unlock_irqrestore+0x18/0x20 > [ 0.000000] [<ffffffff8069eaf8>] ? _spin_unlock_irqrestore+0x18/0x20 > [ 0.000000] [<ffffffff8025124d>] ? release_console_sem+0x1dd/0x230 > [ 0.000000] [<ffffffff8025172c>] ? vprintk+0x19c/0x400 > [ 0.000000] [<ffffffff80a1aa16>] ? dmi_save_one_device+0x79/0xb4 > [ 0.000000] [<ffffffff80220c6a>] generic_get_mtrr+0xfa/0x130 > [ 0.000000] [<ffffffff809f7215>] mtrr_trim_uncached_memory+0xa3/0x331 > [ 0.000000] [<ffffffff809f26c4>] setup_arch+0x5c6/0x902 > [ 0.000000] [<ffffffff80273822>] ? > clockevents_register_notifier+0x42/0x60 > [ 0.000000] [<ffffffff809e9b33>] start_kernel+0x6e/0x3b2 > [ 0.000000] [<ffffffff809e92b4>] x86_64_start_reservations+0x94/0xb9 > [ 0.000000] [<ffffffff809e93ee>] x86_64_start_kernel+0xf2/0x101 > [ 0.000000] [<ffffffff809e9140>] ? early_idt_handler+0x0/0x71 > [ 0.000000] ---[ end trace 4eaa2a86a8e2da22 ]--- > [ 0.000000] last_pfn = 0xbff60 max_arch_pfn = 0x3ffffffff > [ 0.000000] Scanning 2 areas for low memory corruption > [ 0.000000] modified physical RAM map: > [ 0.000000] modified: 0000000000000000 - 0000000000001000 (usable) > [ 0.000000] modified: 0000000000001000 - 0000000000006000 (reserved) > [ 0.000000] modified: 0000000000006000 - 0000000000008000 (usable) > [ 0.000000] modified: 0000000000008000 - 0000000000010000 (reserved) > [ 0.000000] modified: 0000000000010000 - 000000000008f400 (usable) > [ 0.000000] modified: 000000000009c400 - 00000000000a0000 (reserved) > [ 0.000000] modified: 00000000000e0000 - 0000000000100000 (reserved) > [ 0.000000] modified: 0000000000100000 - 00000000bff60000 (usable) > [ 0.000000] modified: 00000000bff60000 - 00000000bff6a000 (ACPI data) > [ 0.000000] modified: 00000000bff6a000 - 00000000bff80000 (ACPI NVS) > [ 0.000000] modified: 00000000bff80000 - 00000000c0000000 (reserved) > [ 0.000000] modified: 00000000e0000000 - 00000000f0000000 (reserved) > [ 0.000000] modified: 00000000fec00000 - 00000000fec10000 (reserved) > [ 0.000000] modified: 00000000fee00000 - 00000000fee01000 (reserved) > [ 0.000000] modified: 00000000ff000000 - 0000000100000000 (reserved) > [ 0.000000] modified: 0000000100000000 - 0000000140000000 (usable) > [ 0.000000] init_memory_mapping: 0000000000000000-00000000bff60000 > [ 0.000000] 0000000000 - 00bfe00000 page 2M > [ 0.000000] 00bfe00000 - 00bff60000 page 4k > [ 0.000000] kernel direct mapping tables up to bff60000 @ 10000-15000 > [ 0.000000] last_map_addr: bff60000 end: bff60000 > [ 0.000000] init_memory_mapping: 0000000100000000-0000000140000000 > [ 0.000000] 0100000000 - 0140000000 page 2M > [ 0.000000] kernel direct mapping tables up to 140000000 @ 13000-19000 > [ 0.000000] last_map_addr: 140000000 end: 140000000 > > root@ubuntu-server:/# uname -a > Linux ubuntu-server 2.6.28-11-server #37-Ubuntu SMP Mon Mar 23 17:33:24 UTC > 2009 x86_64 GNU/Linux > > root@ubuntu-server:/# cat /proc/mtrr > reg00: base=0x0c0000000 ( 3072MB), size= 1024MB, count=1: uncachable > reg01: base=0x000000000 ( 0MB), size= 4096MB, count=1: write-back > reg02: base=0x100000000 ( 4096MB), size= 1024MB, count=1: write-back > reg03: base=0x0bff80000 ( 3071MB), size= 512KB, count=1: uncachable that mean new kernel workaround the mask bits. you can try to set CONFIG_MTRR=y CONFIG_MTRR_SANITIZER=y CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=1 CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1 in your config it could make your Xserver happy. YH ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: warning in arch/x86/kernel/cpu/mtrr/generic.c:400 with 2.6.29-rc3 on IBM x3400 2009-02-10 2:40 ` warning in arch/x86/kernel/cpu/mtrr/generic.c:400 with 2.6.29-rc3 " Yinghai Lu 2009-02-10 16:21 ` Morten P.D. Stevens @ 2009-02-11 10:43 ` Ingo Molnar 1 sibling, 0 replies; 16+ messages in thread From: Ingo Molnar @ 2009-02-11 10:43 UTC (permalink / raw) To: Yinghai Lu Cc: Morten P.D. Stevens, Thomas Gleixner, H. Peter Anvin, Arjan van de Ven, linux-kernel * Yinghai Lu <yinghai@kernel.org> wrote: > Ingo Molnar wrote: > > * Morten P.D. Stevens <mstevens@win-professional.com> wrote: > > > >> Hi, > >> > >> Update: > >> > >> the same issue with a linux 2.6.28.4 kernel. > >> > >> [ 0.000000] ------------[ cut here ]------------ > >> [ 0.000000] WARNING: at arch/x86/kernel/cpu/mtrr/generic.c:404 generic_get_mtrr+0xdf/0x119() > >> [ 0.000000] mtrr: your BIOS has set up an incorrect mask, fixing it up. > > > > buggy BIOS most likely. Had the kernel not fixed up the MTRRs you'd have > > a very slow and unhappy system now. > > please try: > diff --git a/arch/x86/kernel/cpu/mtrr/generic.c b/arch/x86/kernel/cpu/mtrr/generic.c > index 0c0a455..7a359ce 100644 > --- a/arch/x86/kernel/cpu/mtrr/generic.c > +++ b/arch/x86/kernel/cpu/mtrr/generic.c > @@ -397,7 +397,8 @@ static void generic_get_mtrr(unsigned int reg, unsigned long *base, > tmp |= ~((1<<(hi - 1)) - 1); > > if (tmp != mask_lo) { > - WARN_ONCE(1, KERN_INFO "mtrr: your BIOS has set up an incorrect mask, fixing it up.\n"); > + printk(KERN_INFO "mtrr: BIOS set mask_lo: %x should be %x, fixing it up\n", mask_lo, tmp); > + WARN_ONCE(1, KERN_INFO "mtrr: your BIOS has set up an incorrect mask.\n"); > mask_lo = tmp; > } > } Could you please embedd this info in the WARN_ONCE() itself please, so that it gets reported as one unit? (and send a proper changelogged patch, etc.) WARN_ONCE() is a full printk as well so you can add anything to it. Thanks, Ingo ^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2009-03-29 19:18 UTC | newest] Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2009-02-08 1:43 warning in arch/x86/kernel/cpu/mtrr/generic.c:400 with 2.6.29-rc3 on IBM x3400 Morten P.D. Stevens 2009-02-09 15:50 ` Morten P.D. Stevens 2009-02-09 23:45 ` Ingo Molnar 2009-02-10 0:25 ` AW: warning in arch/x86/kernel/cpu/mtrr/generic.c:400 with2.6.29-rc3 " Morten P.D. Stevens 2009-02-10 2:40 ` warning in arch/x86/kernel/cpu/mtrr/generic.c:400 with 2.6.29-rc3 " Yinghai Lu 2009-02-10 16:21 ` Morten P.D. Stevens 2009-02-10 18:52 ` Yinghai Lu 2009-02-10 20:34 ` Morten P.D. Stevens 2009-02-10 20:45 ` Yinghai Lu 2009-02-10 21:19 ` Morten P.D. Stevens 2009-02-11 5:06 ` Yinghai Lu 2009-02-11 16:01 ` Morten P.D. Stevens 2009-02-11 18:52 ` Yinghai Lu 2009-03-29 16:03 ` Morten P.D. Stevens 2009-03-29 19:17 ` Yinghai Lu 2009-02-11 10:43 ` Ingo Molnar
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).