MTRR (Registro de intervalo de tipo de memória) em mensagens dmesg do Debian 10

MTRR (Registro de intervalo de tipo de memória) em mensagens dmesg do Debian 10
[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.

Notei essas mensagens agora mesmo, depois de reiniciar o servidor há vários dias.

Pode ser relevante:

enable_mtrr_cleanupencontrado emparâmetros do kernel, Eu cito:

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.

Não entendo o que foi dito acima, mas acho que devo mencionar o hardware:

É uma peça mais antiga da Dell, PowerEdge T20 com CPU (e iGPU) IntelXeon E3-1225 v33,2 GHz, 8 MB de cache, 4C/4T, especificações completas emArca da Intel+ tem32 GB de DDR3 em UDIMM.

Tudo o que consegui encontrarMTRR (Registro de intervalo de tipo de memória) está na Wikipedia, infelizmente também não entendo muito disso. Alguma dica em termos mais ou menos leigos? Devo me importar com essa dmesgmensagem no meu Debian 10?


Ao contrário do servidor acima, aqui está uma parte relevante mencionando o MTRR no hardware, sendo meu laptop mais recente também da Dell, Inspiron 15,32 GB de DDR4 em 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:

Posso ver pouca diferença, talvez não haja nenhuma na aplicação de palavras reais... talvez haja.

Responder1

ORegistros de intervalo do tipo memória(MTRR) pode controlar o comportamento do cache em relação às gravações na memória. Em ambos os seus logs, nenhum comportamento específico está habilitado. Se estivesse habilitado, ficaria assim (de um sistema meu mais antigo):

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

Normalmente, isso só é necessário para placas gráficas mais antigas, onde pode influenciar o desempenho.

Portanto, seus logs não indicam comportamento anormal em relação aos MTRRs. A única coisa potencial é

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

e é impossível dizer por que isso existe sem ver o restante dos logs ou vasculhar seu sistema: qual é esse intervalo de memória, de onde vem a substituição do MTRR e se seria adequado para mapeamento de páginas enormes no primeiro lugar.

Portanto, é bem possível que isso também esteja bem, e é algum espaço de E/S da placa PCI que simplesmente não pode ter tabelas de páginas enormes.

informação relacionada