x86, pat: Migrate to rbtree only backend for pat memtype management
authorPallipadi, Venkatesh <venkatesh.pallipadi@intel.com>
Wed, 10 Feb 2010 23:26:07 +0000 (15:26 -0800)
committerH. Peter Anvin <hpa@zytor.com>
Thu, 18 Feb 2010 23:41:36 +0000 (15:41 -0800)
commit9e41a49aab88a5a6c8f4875bf10a5543bc321f2d
tree65a4921f5a7973f017e66b9ca00b6427eb3a6c83
parentbe5a0c126ad1dea2128dc5aef12c87083518d1ab
x86, pat: Migrate to rbtree only backend for pat memtype management

Move pat backend to fully rbtree based implementation from the existing
rbtree and linked list hybrid.

New rbtree based solution uses interval trees (augmented rbtrees) in
order to store the PAT ranges. The new code seprates out the pat backend
to pat_rbtree.c file, making is cleaner. The change also makes the PAT
lookup, reserve and free operations more optimal, as we don't have to
traverse linear linked list of few tens of entries in normal case.

Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
LKML-Reference: <20100210232607.GB11465@linux-os.sc.intel.com>
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
arch/x86/mm/Makefile
arch/x86/mm/pat.c
arch/x86/mm/pat_internal.h
arch/x86/mm/pat_rbtree.c [new file with mode: 0644]