2
[Sun Mar  1 07:51:40 2020] MTRR default type: uncachable
[Sun Mar  1 07:51:40 2020] MTRR fixed ranges enabled:
[Sun Mar  1 07:51:40 2020] MTRR variable ranges enabled:
[Sun Mar  1 07:51:40 2020] pmd_set_huge: Cannot satisfy [mem 0xf8000000-0xf8200000] with a huge-page mapping due to MTRR override.

Noticed these messages just now, after I've rebooted the server several days ago.

Might be relevant:

enable_mtrr_cleanup found in kernel parameters, I quote:

The kernel tries to adjust MTRR layout from continuous
to discrete, to make X server driver able to add WB
entry later. This parameter enables that.

I don't understand the above, but I feel I should mention the hardware:

It's an older piece from Dell, PowerEdge T20 with CPU (and iGPU) Intel Xeon E3-1225 v3 3.2GHz, 8MB cache, 4C/4T, full specs on Intel's Ark + it has 32 GB of DDR3 in UDIMM.

All I managed to find on MTRR (Memory Type Range Register) is on Wikipedia, sadly I do not understand much of this either. Any hints in more or less layman terms? Should I even care for that dmesg message on my Debian 10?


As opposed to the server above, here is relevant part mentioning MTRR on hardware being my newer laptop also from Dell, Inspiron 15, 32 GB of DDR4 in SO-DIMM:

[Sat Mar  7 10:00:42 2020] MTRR default type: write-back
[Sat Mar  7 10:00:42 2020] MTRR fixed ranges enabled:
[Sat Mar  7 10:00:42 2020] MTRR variable ranges enabled:

I can see little difference, maybe there is none in real-word application... maybe there is.

1 Answer 1

1
+50

The Memory-Type Range Registers (MTRR) can control caching behaviour with respect to memory writes. In both your logs, no specific behaviour is enabled. If it was enabled, it would look like this (from an older system of mine):

MTRR default type: uncachable
MTRR fixed ranges enabled:
  00000-9FFFF write-back
  A0000-EFFFF uncachable
  F0000-FFFFF write-protect
MTRR variable ranges enabled:
  0 base 000000000 mask FE0000000 write-back
  1 base 020000000 mask FF8000000 write-back
  2 disabled
  3 disabled
  4 disabled
  5 disabled
  6 disabled
  7 disabled

Typically this is only needed for older graphics cards, where it can influence performance.

So your logs do not indicate abnormal behavior with respect to MTRRs. The only potential thing is

pmd_set_huge: Cannot satisfy [mem 0xf8000000-0xf8200000] with a huge-page mapping due to MTRR override.

and it's impossible to say why this is there without seeing the rest of the logs, or poking around in your system: What this memory range is, where the MTRR override comes from, and if it would be suitable for huge-page mapping in the first place.

So it's quite possible this is fine, as well, and it is some PCI card I/O space that just cannot have huge page-tables.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .