[PATCH v3 0/5] mtrr, mm, x86: Enhance MTRR checks for huge I/O mapping

From: Toshi Kani
Date: Fri Mar 13 2015 - 17:34:39 EST


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 5/5.
- 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 specified 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/5 addresses other review comments to the mapping funcs for
better code read-ability. Patch 2/5 - 4/5 are bug fixes and clean up
to mtrr_type_lookup().

The patchset is based on the -mm tree.
---
v3:
- Add patch 3/5 to fix a bug in MTRR state checks.
- Update patch 4/5 to create separate functions for the fixed and
variable entries. (Ingo Molnar)

v2:
- Update change logs and comments per review comments.
(Ingo Molnar)
- Add patch 3/4 to clean up mtrr_type_lookup(). (Ingo Molnar)

---
Toshi Kani (5):
1/5 mm, x86: Document return values of mapping funcs
2/5 mtrr, x86: Fix MTRR lookup to handle inclusive entry
3/5 mtrr, x86: Fix MTRR state checks in mtrr_type_lookup()
4/5 mtrr, x86: Clean up mtrr_type_lookup()
5/5 mtrr, mm, x86: Enhance MTRR checks for KVA huge page mapping

---
arch/x86/Kconfig | 2 +-
arch/x86/include/asm/mtrr.h | 5 +-
arch/x86/include/uapi/asm/mtrr.h | 4 +
arch/x86/kernel/cpu/mtrr/generic.c | 181 ++++++++++++++++++++++++-------------
arch/x86/mm/pat.c | 4 +-
arch/x86/mm/pgtable.c | 53 ++++++++---
6 files changed, 165 insertions(+), 84 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/