Re: MTRR cleanup does not kick in

From: Michael Reinelt
Date: Mon May 21 2012 - 22:19:21 EST


Hello all,

may I draw your attention again to this issue?

I just run linux-3.4.0, seems to have still this problem (where I am not sure if this is a problem at all)

regards, Michael

Am 2012-03-17 07:36, schrieb Michael Reinelt:
Hi there,

I am (again) suffering from:
kernel: mtrr: no more MTRRs available
kernel: [drm] MTRR allocation failed. Graphics performance may suffer.

kernel is vanilla 3.2.11

I know that this *used* to work, but I had to specify mtrr_gran_size=16M mtrr_chunk_size=128M on the kernel command line.

Now, with the current kernel, I could not find *any* MTRR cleanup debug messages at all.

I debugged a bit, and probably found the cause:

arch/x86/kernel/cpu/mtrr/cleanup.c:mtrr_need_cleanup(void)

/* Check if we only had WB and UC */
if (num[MTRR_TYPE_WRBACK] + num[MTRR_TYPE_UNCACHABLE] !=
num_var_ranges - num[MTRR_NUM_TYPES])
return 0;

This one kicks in, and disables the MTRR cleanup, resulting in all 10 MTRR registers in use, and no more MTRRs available for DRM.

I disabled this check, and now the MTRR cleaner works fine, even finding a optimal value for my system with only 9 registers, leaving one available for DRM.


maybe the mtrr_need_cleanup() function should take nr_mtrr_spare_reg into account?




regards, Michael

PS please keep me on CC as I'm not subscribed. thanks!


--
Michael Reinelt<michael@xxxxxxxxxxxxx>
http://home.pages.at/reinelt
GPG-Key 0xDF13BA50
ICQ #288386781

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/