* Davidlohr Bueso <dave@xxxxxxxxxxxx> wrote: > With some considerations, the custom pat_rbtree implementation can be > simplified to use most of the generic interval_tree machinery. > > o The tree inorder traversal can slightly differ when there are key > ('start') collisions in the tree due to one going left and another right. > This, however, only affects the output of debugfs' pat_memtype_list file. > > o Generic interval trees are now semi open [a,b), which suits well with > what pat wants. > > o Erasing logic must remain untouched as well. > > In order for the types to remain u64, the 'memtype_interval' calls are > introduced, as opposed to simply using struct interval_tree. > > In addition, pat tree might potentially also benefit by the fast overlap > detection for the insertion case when looking up the first overlapping node > in the tree. > > Finally, I've tested this on various servers, via sanity warnings, running > side by side with the current version and so far see no differences in the > returned pointer node when doing memtype_rb_lowest_match() lookups. > > Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> > Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > Cc: Ingo Molnar <mingo@xxxxxxxxxx> > Cc: Borislav Petkov <bp@xxxxxxxxx> > Cc: x86@xxxxxxxxxx > Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> > --- > arch/x86/mm/pat.c | 22 +++---- > arch/x86/mm/pat_rbtree.c | 151 ++++++++++------------------------------------- > 2 files changed, 43 insertions(+), 130 deletions(-) I suppose this will be carried in -mm? If so and if this patch is regression free, then: Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Thanks, Ingo