[PATCH 00/10] x86, PAT: PAT patchset

From: Venkatesh Pallipadi
Date: Fri Jul 10 2009 - 12:59:54 EST


Another PAT patchset. Apart from minor cleanups, there are 3
relatively big changes here.
* Adding memtype tracking to io_mapping_* APIs. Currently these APIs hardcoded
the type to WC.
* An rbtree added to keep track of PAT entries. This will avoid worst case
latency with PAT entry lookup.
* Tracking of RAM pages using 2 bits in page struct. This will give us the
ability to lookup the type of any physical address.

This patchset covers almost all the items in our PAT todo list, except for:
* Make PAT APIs to take try MTRR setup internally when pat is disabled.
* Need a set_pages_array_wc interface.

These patches are targeted for .32 and hoping to get some extended test
until the merge upstream. I have tested this with some of my test programs
and also with regressions tests in Eric's intel-gpu-tools here
http://cgit.freedesktop.org/xorg/app/intel-gpu-tools/

Venkatesh Pallipadi (10):
x86, PAT: keep identity maps consistent with mmaps even when
pat_disabled
x86, PAT: ioremap to follow same PAT restrictions as other PAT users
x86, PAT: New i/f for driver to request memtype for IO regions
x86, PAT: Add PAT reserve free to io_mapping* APIs
x86, PAT: Add rbtree to do quick lookup in memtype tracking
x86, PAT: Generalize the use of page flag PG_uncached
x86, PAT: Use page flags to track memtypes of RAM pages
x86, PAT: Add lookup_memtype to get the current memtype of a paddr
x86, PAT: lookup the protection from memtype list on vm_insert_pfn()
x86, PAT: Sanity check remap_pfn_range for RAM region

arch/ia64/Kconfig | 4 +
arch/x86/Kconfig | 4 +
arch/x86/include/asm/cacheflush.h | 54 ++++++-
arch/x86/include/asm/iomap.h | 9 +-
arch/x86/include/asm/pat.h | 5 +
arch/x86/mm/iomap_32.c | 27 +++-
arch/x86/mm/ioremap.c | 17 +--
arch/x86/mm/pat.c | 352 +++++++++++++++++++++++++++----------
include/linux/io-mapping.h | 17 ++-
include/linux/page-flags.h | 4 +-
10 files changed, 376 insertions(+), 117 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/