Bug 61041
Summary: | [ilk BISECTED]i915 driver triggers low memory corruption 1 minute after boot-up | ||
---|---|---|---|
Product: | Drivers | Reporter: | Abby (alstandiford) |
Component: | Video(DRI - Intel) | Assignee: | Daniel Vetter (daniel) |
Status: | CLOSED INVALID | ||
Severity: | normal | CC: | alan, alstandiford, daniel, hpa, intel-gfx-bugs, przanoni, tprevite |
Priority: | P1 | ||
Hardware: | x86-64 | ||
OS: | Linux | ||
Kernel Version: | 3.10.10 | Subsystem: | |
Regression: | Yes | Bisected commit-id: | |
Attachments: |
This is the dmesg output of the 3.10.10 kernel on my system.
dmesg output of kernel 3.12 with drm.debug=0xe option enabled |
Description
Abby
2013-09-08 21:56:39 UTC
This is strange. Have you confirmed the bisect by reverting the offending commit? Also please boot with drm.debug=0xe and attach the complet dmesg so we know what kind of gfx hw you have. Daniel, I've reverted the commit mentioned in the bisect. The memory corruption bug doesn't happen after the revert, so the bisect is confirmed. This bug is still present in the latest git version of the kernel (currently 3.12+). I will attach the dmesg output of that kernel with the drm.debug=0xe option enabled. Created attachment 115171 [details]
dmesg output of kernel 3.12 with drm.debug=0xe option enabled
Still confused. Another trick to play is to prevent i915 from loading with i915.modeset=0. Then wait for a while to make sure that we'd catch any lowmem corruption. Then stop X and reload i915 for real with # rmmod i915 # modprobe i915 modeset=1 The big question is whether the lowmem corruption happens anyway of whether we need to load the i915 modeset driver (which would point at either bios leftovers or a bug in our takeover sequence). After blacklisting the module using /etc/modprobe.d/blacklist.conf, setting i915.modeset=0, booting the system and waiting a while, I found that the bug didn't trigger until a few seconds after I loaded the i915 module manually using # modprobe i915 modeset=1 If I set i915.modeset=0, but don't blacklist the module, the low memory corruption happens. The bisection is bogus, simply because all it does is it makes the detector actually works as advertised. Without the patch, the detector actually misses large swaths of memory, typically at least all memory below 64K (which includes your corruption address.) Either way, there isn't anything to actually *do* here... the BIOS clobbers memory that we normally reserve for exactly the reason that BIOS has a nasty tendency to scribble on low memory. The only thing that is happening is that you have enabled the detector that tells you that did indeed happen. This is probably something you want to fix in your kernel configuration: [ 0.000000] smpboot: 8 Processors exceeds NR_CPUS limit of 4 |