[drm] MTRR allocation failed. Graphics performance may suffer.

Bug #709677 reported by Ralf Hildebrandt
76
This bug affects 14 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

[ 3.159092] [drm] Initialized drm 1.1.0 20060810
[ 3.224937] i915 0000:00:02.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[ 3.242176] i915 0000:00:02.0: setting latency timer to 64
[ 3.317070] sky2: driver version 1.28
[ 3.354628] mtrr: type mismatch for e0000000,10000000 old: write-back new: write-combining
[ 3.372359] [drm] MTRR allocation failed. Graphics performance may suffer.
[ 3.390812] i915 0000:00:02.0: irq 42 for MSI/MSI-X
[ 3.390822] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
[ 3.408833] [drm] Driver supports precise vblank timestamp query.

2.6.38 is reporting "MTRR allocation failed. Graphics performance may suffer"

ProblemType: Bug
DistroRelease: Ubuntu 11.04
Package: linux-image-2.6.38-1-generic 2.6.38-1.28
Regression: Yes
Reproducible: Yes
ProcVersionSignature: Ubuntu 2.6.38-1.28-generic 2.6.38-rc2
Uname: Linux 2.6.38-1-generic x86_64
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.23.
Architecture: amd64
ArecordDevices:
 **** List of CAPTURE Hardware Devices ****
 card 0: Intel [HDA Intel], device 0: ALC262 Analog [ALC262 Analog]
   Subdevices: 1/1
   Subdevice #0: subdevice #0
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: hildeb 15060 F.... pulseaudio
Card0.Amixer.info:
 Card hw:0 'Intel'/'HDA Intel at 0xfc700000 irq 46'
   Mixer name : 'Realtek ALC262'
   Components : 'HDA:10ec0262,10cf0100,00100202'
   Controls : 27
   Simple ctrls : 16
Date: Sat Jan 29 10:55:22 2011
HibernationDevice: RESUME=/dev/sdb5
MachineType: FUJITSU SIEMENS LIFEBOOK P8010
PccardctlIdent:
 Socket 0:
   no product info available
PccardctlStatus:
 Socket 0:
   no card
ProcEnviron:
 LANGUAGE=en_US:en
 LANG=de_DE.UTF-8
 LC_MESSAGES=en_US.utf8
 SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-2.6.38-1-generic root=UUID=d3877693-43c0-45cc-821c-6c4dcd692cde ro noquiet nosplash rootfstype=ext4
RelatedPackageVersions:
 linux-restricted-modules-2.6.38-1-generic N/A
 linux-backports-modules-2.6.38-1-generic N/A
 linux-firmware 1.46
SourcePackage: linux
dmi.bios.date: 08/20/2008
dmi.bios.vendor: FUJITSU // Phoenix Technologies Ltd.
dmi.bios.version: Version 1.08
dmi.board.name: FJNB1E3
dmi.board.vendor: FUJITSU
dmi.board.version: CP365186-01
dmi.chassis.type: 10
dmi.chassis.vendor: FUJITSU SIEMENS
dmi.chassis.version: P8010
dmi.modalias: dmi:bvnFUJITSU//PhoenixTechnologiesLtd.:bvrVersion1.08:bd08/20/2008:svnFUJITSUSIEMENS:pnLIFEBOOKP8010:pvr:rvnFUJITSU:rnFJNB1E3:rvrCP365186-01:cvnFUJITSUSIEMENS:ct10:cvrP8010:
dmi.product.name: LIFEBOOK P8010
dmi.sys.vendor: FUJITSU SIEMENS

Revision history for this message
Ralf Hildebrandt (ralf-hildebrandt) wrote :
Revision history for this message
Ralf Hildebrandt (ralf-hildebrandt) wrote :

It's not a regression, since 2.6.37 reports the same message.

tags: removed: regression-release
Revision history for this message
Ralf Hildebrandt (ralf-hildebrandt) wrote :
Revision history for this message
Ralf Hildebrandt (ralf-hildebrandt) wrote :

mainline kernel is looking similar:

[ 3.221143] [drm] Initialized drm 1.1.0 20060810
[ 3.240051] usb 5-1: new full speed USB device using uhci_hcd and address 2
[ 3.332112] i915 0000:00:02.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[ 3.349466] i915 0000:00:02.0: setting latency timer to 64
[ 3.358577] sky2: driver version 1.28
[ 3.405735] mtrr: type mismatch for e0000000,10000000 old: write-back new: write-combining

[ 3.423512] [drm] MTRR allocation failed. Graphics performance may suffer.

[ 3.441978] ioremap error for 0xcf6cb000-0xcf6ce000, requested 0x10, got 0x0
[ 3.460551] i915 0000:00:02.0: irq 42 for MSI/MSI-X
[ 3.460560] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
[ 3.478650] [drm] Driver supports precise vblank timestamp query.
[ 3.531333] sdhci: Secure Digital Host Controller Interface driver
[ 3.549655] sdhci: Copyright(c) Pierre Ossman
[ 3.586762] sky2 0000:04:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[ 3.632612] sdhci-pci 0000:1c:03.2: SDHCI controller found [1217:7120] (rev 2)
[ 3.649371] vgaarb: device changed decodes: PCI:0000:00:02.0,olddecodes=io+mem,decodes=io+mem:owns=io+mem
[ 3.649758] [drm] initialized overlay support
[ 3.689177] sdhci-pci 0000:1c:03.2: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[ 3.708512] mmc0: no vmmc regulator found
[ 3.727538] sky2 0000:04:00.0: setting latency timer to 64
[ 3.727578] sky2 0000:04:00.0: Yukon-2 EC Ultra chip revision 3
[ 3.743682] Registered led device: mmc0::
[ 3.743714] sky2 0000:04:00.0: irq 43 for MSI/MSI-X
[ 3.743803] mmc0: SDHCI controller on PCI [0000:1c:03.2] using PIO
[ 3.744828] sky2 0000:04:00.0: eth0: addr 00:17:42:ef:50:6a
[ 3.783385] usb 5-2: new full speed USB device using uhci_hcd and address 3
[ 3.783424] firewire_ohci 0000:1c:03.4: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[ 3.890194] firewire_ohci: Added fw-ohci device 0000:1c:03.4, OHCI v1.10, 8 IR + 8 IT contexts, quirks 0x0
[ 4.381940] checking generic (e0000000 300000) vs hw (e0000000 10000000)
[ 4.381947] fb: conflicting fb hw usage inteldrmfb vs VESA VGA - removing generic driver
[ 4.398947] Console: switching to colour dummy device 80x25
[ 4.400141] firewire_core: created device fw0: GUID 00000e100402737e, S400
[ 4.435471] Console: switching to colour frame buffer device 160x50
[ 4.483273] fb0: inteldrmfb frame buffer device
[ 4.483581] drm: registered panic notifier
[ 4.484093] [drm] Initialized i915 1.6.0 20080730 for 0000:00:02.0 on minor 0

tags: removed: needs-upstream-testing
Revision history for this message
Jeremy Foshee (jeremyfoshee) wrote :

Hi Ralf,

If you could also please test the latest upstream kernel available that would be great. It will allow additional upstream developers to examine the issue. Refer to https://wiki.ubuntu.com/KernelMainlineBuilds . Once you've tested the upstream kernel, please remove the 'needs-upstream-testing' tag. This can be done by clicking on the yellow pencil icon next to the tag located at the bottom of the bug description and deleting the 'needs-upstream-testing' text. Please let us know your results.

Thanks in advance.

    [This is an automated message. Apologies if it has reached you inappropriately; please just reply to this message indicating so.]

tags: added: needs-upstream-testing
tags: added: kj-triage
Changed in linux (Ubuntu):
status: New → Incomplete
Revision history for this message
Ralf Hildebrandt (ralf-hildebrandt) wrote :

I already performed the upstream-testing!

Changed in linux (Ubuntu):
status: Incomplete → New
Revision history for this message
Ralf Hildebrandt (ralf-hildebrandt) wrote :

GRUB_CMDLINE_LINUX="enable_mtrr_cleanup mtrr_spare_reg_nr=1"
solves the issue...

exactt (giesbert)
Changed in linux (Ubuntu):
status: New → Confirmed
Revision history for this message
exactt (giesbert) wrote :

confirming problem and work-around on release version of natty

Revision history for this message
Ralf Hildebrandt (ralf-hildebrandt) wrote :

Still there in 2.6.38-9-generic on natty

Revision history for this message
Daniel Letzeisen (dtl131) wrote :

If mtrr_cleanup fails, see: https://lkml.org/lkml/2011/6/3/22

Revision history for this message
exactt (giesbert) wrote :

still experiencing this bug with latest proposed kernel

2.6.38-11-generic #47-Ubuntu SMP Fri Jul 15 19:27:09 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

work-around (comment #7) is still valid

Revision history for this message
Ralf Hildebrandt (ralf-hildebrandt) wrote :

Fixed in linux-image-3.2.0-18-generic on precise

Revision history for this message
Wladimir Mutel (mwg) wrote :
Download full text (5.8 KiB)

The problem is still there on my Acer 1830T, 4GB RAM with Quantal kernel 3.4.0-1-generic, x86_64

$ cat /proc/mtrr
reg00: base=0x000000000 ( 0MB), size= 2048MB, count=1: write-back
reg01: base=0x0ffe00000 ( 4094MB), size= 2MB, count=1: write-protect
reg02: base=0x080000000 ( 2048MB), size= 1024MB, count=1: write-back
reg03: base=0x0b8000000 ( 2944MB), size= 128MB, count=1: uncachable
reg04: base=0x0b4000000 ( 2880MB), size= 64MB, count=1: uncachable
reg05: base=0x0b3800000 ( 2872MB), size= 8MB, count=1: uncachable
reg06: base=0x100000000 ( 4096MB), size= 1024MB, count=1: write-back
reg07: base=0x138000000 ( 4992MB), size= 128MB, count=1: uncachable

$ cat /proc/iomem
00000000-0000ffff : reserved
00010000-0009cfff : System RAM
0009d000-0009ffff : reserved
000a0000-000bffff : PCI Bus 0000:00
000c0000-000c7fff : Video ROM
000e0000-000fffff : reserved
  000f0000-000fffff : System ROM
00100000-b363efff : System RAM
  01000000-01689262 : Kernel code
  01689263-01cdfa3f : Kernel data
  01dcc000-01f2ffff : Kernel bss
b363f000-b36befff : reserved
b36bf000-b37befff : ACPI Non-volatile Storage
b37bf000-b37fefff : ACPI Tables
b37ff000-b37fffff : System RAM
b3800000-bfffffff : reserved
c0000000-feafffff : PCI Bus 0000:00
  c0000000-cfffffff : 0000:00:02.0
  d0000000-d03fffff : 0000:00:02.0
  d0400000-d13fffff : PCI Bus 0000:01
  d1400000-d23fffff : PCI Bus 0000:02
  d2400000-d33fffff : PCI Bus 0000:02
    d2400000-d2403fff : 0000:02:00.0
      d2400000-d2403fff : 0000:02:00.0
  d3400000-d43fffff : PCI Bus 0000:01
    d3400000-d343ffff : 0000:01:00.0
      d3400000-d343ffff : atl1c
  d4400000-d4403fff : 0000:00:1b.0
    d4400000-d4403fff : ICH HD audio
  d4404000-d4404fff : 0000:00:1f.6
    d4404000-d4404fff : ips thermal sensor
  d4405000-d44057ff : 0000:00:1f.2
    d4405000-d44057ff : ahci
  d4405800-d4405bff : 0000:00:1d.0
    d4405800-d4405bff : ehci_hcd
  d4405c00-d4405fff : 0000:00:1a.0
    d4405c00-d4405fff : ehci_hcd
  d4406000-d44060ff : 0000:00:1f.3
  d4406100-d440610f : 0000:00:16.0
    d4406100-d440610f : mei
  d4407000-d4407fff : Intel Flush Page
  d4500000-d4500fff : pnp 00:09
  e0000000-efffffff : PCI MMCONFIG 0000 [bus 00-ff]
    e0000000-efffffff : reserved
      e0000000-efffffff : pnp 00:09
feb00000-feb03fff : reserved
fec00000-fec00fff : reserved
  fec00000-fec003ff : IOAPIC 0
fed00000-fed003ff : HPET 0
fed10000-fed13fff : reserved
  fed10000-fed13fff : pnp 00:09
fed18000-fed19fff : reserved
  fed18000-fed18fff : pnp 00:09
  fed19000-fed19fff : pnp 00:09
fed1b000-fed1ffff : reserved
  fed1c000-fed1ffff : pnp 00:09
fed20000-fed3ffff : pnp 00:09
fed45000-fed8ffff : pnp 00:09
fee00000-fee00fff : Local APIC
  fee00000-fee00fff : reserved
ffe00000-ffffffff : reserved
100000000-137ffffff : System RAM

selected dmesgs :

[ 0.000000] MTRR default type: uncachable
[ 0.000000] MTRR fixed ranges enabled:
[ 0.000000] 00000-9FFFF write-back
[ 0.000000] A0000-BFFFF uncachable
[ 0.000000] C0000-EFFFF write-through
[ 0.000000] F0000-FFFFF write-combining
[ 0.000000] MTRR variable ranges enabled:
[ 0.000000] 0 base 000000000 mask F80000000 write-back
[ 0.000000] 1 base 0FFE00000 mask FFFE00000 write-...

Read more...

Revision history for this message
Wladimir Mutel (mwg) wrote :

ok, sorting my mtrr file by its second field, I noticed this 200MB region covered by 3 regs : 3,4,5
I made an initramfs hook /usr/share/initramfs-tools/scripts/init-top/screw_mtrr :
--
#!/bin/sh

PREREQ=""
prereqs()
{
        echo "$PREREQ"
}
case $1 in
# get pre-requisites
prereqs)
        prereqs
        exit 0
        ;;
esac

for x in $(awk '$NF=="uncachable"{print substr($1,5,1)}' /proc/mtrr)
do echo disable=$x > /proc/mtrr
done
--
and included it into my initramfs image (update-initramfs -u -k all)
after the reboot, uncachable MTRRs were disabled , and i915 driver was able to allocate an MTRR for its needs :

$ cat /proc/mtrr
reg00: base=0x000000000 ( 0MB), size= 2048MB, count=1: write-back
reg01: base=0x0ffe00000 ( 4094MB), size= 2MB, count=1: write-protect
reg02: base=0x080000000 ( 2048MB), size= 1024MB, count=1: write-back
reg03: base=0x0c0000000 ( 3072MB), size= 256MB, count=1: write-combining
reg06: base=0x100000000 ( 4096MB), size= 1024MB, count=1: write-back

Revision history for this message
Wladimir Mutel (mwg) wrote :

Btw, "enable_mtrr_cleanup mtrr_spare_reg_nr=1" did not help in my case.

Now, by my subjective perception, graphic performance of my Intel Arrandale IGP with 256 MB shared-RAM framebuffer has become somewhat livelier. At least judging by Flash video and heavily-animated Flash games.

Revision history for this message
Daniele Napolitano (dnax88) wrote :

@Wladimir Mutel (mwg): Your solution work for me.

Kernel: 3.2.0-25
Ubuntu 12.04

Revision history for this message
penalvch (penalvch) wrote :

Ralf Hildebrandt, this bug report is being closed due to your last comment https://bugs.launchpad.net/ubuntu/+source/linux/+bug/709677/comments/12 regarding this being fixed with an update. For future reference you can manage the status of your own bugs by clicking on the current status in the yellow line and then choosing a new status in the revealed drop down box. You can learn more about bug statuses at https://wiki.ubuntu.com/Bugs/Status. Thank you again for taking the time to report this bug and helping to make Ubuntu better. Please submit any future bugs you may find.

Changed in linux (Ubuntu):
status: Confirmed → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.