I'm seeing this bug, or something like it, on an older chip (G965,
desktop version):
Feb 19 22:05:56 muttonhead kernel: [drm:i915_hangcheck_hung] *ERROR* Hangcheck
timer elapsed... GPU hung
Feb 19 22:05:56 muttonhead kernel: [drm] capturing error event; look for more
information in
I think that message no space left on device means your MTRR registers
are all used up. (There are only eight of them.)
To check whether MTRR cleanup is enabled, you can run dmesg | grep
MTRR. The cleanup process produces the lines original variable MTRRs
and then New variable MTRRs (as well as
That error message write error: invalid argument doesn't mean that
there was a syntax error. Instead the kernel is rejecting the command.
In my case it added a line to dmesg explaining the rejection:
mtrr: type mismatch for d000,100 old: write-back new: write-
combining
That was because
Having looked into this further, I find that adding the kernel boot
parameter enable_mtrr_cleanup does exactly what I'd done in replacing
the 4GB entry, and for the same purpose (opening up a range where a new
write-combining entry can go). Plus, it's a general algorithm, not
something specific