Por que o mecanismo de verificação foi alterado? Por causa da atualização do código MTRR? Ou foi um bug na verificação anterior?
x86/mm: Only check uniform after calling mtrr_type_lookup()
Today pud_set_huge() and pmd_set_huge() test for the MTRR type to be
WB or INVALID after calling mtrr_type_lookup().
Those tests can be dropped as the only reason not to use a large mapping
would be uniform being 0.
Any MTRR type can be accepted as long as it applies to the whole memory
range covered by the mapping, as the alternative would only be to map
the same region with smaller pages instead, using the same PAT type as
for the large mapping.
O código foi alterado porque a semântica
uniform
não estava correta. Isso foi descoberto em uma iteração anterior do patchset; Juergen Gross perguntouao que Linus Torvalds respondeu
Isso levou ao patch que você está perguntando, marcado como sugerido por Linus.
(Nessas circunstâncias, para encontrar o e-mail que conta como sugestão, procure os e-mails do sugeridor para o autor do patch .)