MTRR (Memory Type Range Register) in Debian 10 dmesg-Nachrichten

MTRR (Memory Type Range Register) in Debian 10 dmesg-Nachrichten
[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.

Habe diese Meldungen erst jetzt bemerkt, nachdem ich den Server vor einigen Tagen neugestartet habe.

Könnte relevant sein:

enable_mtrr_cleanupgefunden inKernel-Parameter, Ich zitiere:

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.

Ich verstehe das oben Gesagte nicht, aber ich denke, ich sollte die Hardware erwähnen:

Es ist ein älteres Stück von Dell, PowerEdge T20 mit CPU (und iGPU) IntelXeon E3-1225 v33,2 GHz, 8 MB Cache, 4C/4T, vollständige Spezifikationen aufIntels Arche+ es hat32 GB DDR3 in UDIMM.

Alles was ich gefunden habe aufMTRR (Memory Type Range Register) ist auf Wikipedia, leider verstehe ich davon auch nicht viel. Irgendwelche mehr oder weniger allgemeinverständlichen Hinweise? Sollte mich diese dmesgMeldung auf meinem Debian 10 überhaupt interessieren?


Im Gegensatz zum Server oben ist hier ein relevanter Teil, der MTRR auf Hardware erwähnt, nämlich mein neuer Laptop, ebenfalls von Dell, Inspiron 15,32 GB 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:

Ich sehe kaum einen Unterschied, vielleicht gibt es bei der Anwendung in der realen Welt keinen ... vielleicht doch.

Antwort1

DerSpeichertyp-Bereichsregister(MTRR) kann das Caching-Verhalten in Bezug auf Speicherschreibvorgänge steuern. In beiden Protokollen ist kein bestimmtes Verhalten aktiviert. Wenn es aktiviert wäre, würde es so aussehen (von einem älteren System von mir):

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

Normalerweise ist dies nur bei älteren Grafikkarten erforderlich, bei denen es die Leistung beeinträchtigen kann.

Ihre Protokolle weisen also nicht auf ein abnormales Verhalten in Bezug auf MTRRs hin. Das einzig Mögliche ist

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

und es ist unmöglich zu sagen, warum dies dort ist, ohne die restlichen Protokolle zu sehen oder in Ihrem System herumzustöbern: Was dieser Speicherbereich ist, woher die MTRR-Überschreibung kommt und ob er überhaupt für die Zuordnung großer Seiten geeignet wäre.

Es ist also durchaus möglich, dass dies auch kein Problem ist und der E/A-Speicherplatz einiger PCI-Karten einfach keine riesigen Seitentabellen aufnehmen kann.

verwandte Informationen