This patchset enhances MTRR checks for the kernel huge I/O mapping, which was enabled by the patchset below: https://lkml.org/lkml/2015/3/3/589 The following functional changes are made in patch 3/3. - Allow pud_set_huge() and pmd_set_huge() to create a huge page mapping to a range covered by a single MTRR entry of any memory type. - Log a pr_warn() message when a requested PMD map range spans more than a single MTRR entry. Drivers should make a mapping request aligned to a single MTRR entry when the range is covered by MTRRs. Patch 1/3 addresses other review comments to the mapping funcs for better code read-ability. Patch 2/3 fixes a bug in mtrr_type_lookup(). The patchset is based on the -mm tree. --- Toshi Kani (3): 1/3 mm, x86: Document return values of mapping funcs 2/3 mtrr, x86: Fix MTRR lookup to handle inclusive entry 3/3 mtrr, mm, x86: Enhance MTRR checks for KVA huge page mapping --- arch/x86/Kconfig | 2 +- arch/x86/include/asm/mtrr.h | 5 ++-- arch/x86/kernel/cpu/mtrr/generic.c | 52 +++++++++++++++++++++++++------------ arch/x86/mm/pat.c | 4 +-- arch/x86/mm/pgtable.c | 53 ++++++++++++++++++++++++++++---------- 5 files changed, 81 insertions(+), 35 deletions(-) -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>