Merge branch 'x86-pat-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'x86-pat-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86, pat: Update the page flags for memtype atomically instead of using memtype_lock
  x86, pat: In rbt_memtype_check_insert(), update new->type only if valid
  x86, pat: Migrate to rbtree only backend for pat memtype management
  x86, pat: Preparatory changes in pat.c for bigger rbtree change
  rbtree: Add support for augmented rbtrees
This commit is contained in:
Linus Torvalds 2010-05-18 09:28:04 -07:00
commit c4fd308ed6
8 changed files with 470 additions and 244 deletions

View file

@ -110,6 +110,7 @@ struct rb_node
struct rb_root
{
struct rb_node *rb_node;
void (*augment_cb)(struct rb_node *node);
};
@ -129,7 +130,9 @@ static inline void rb_set_color(struct rb_node *rb, int color)
rb->rb_parent_color = (rb->rb_parent_color & ~1) | color;
}
#define RB_ROOT (struct rb_root) { NULL, }
#define RB_ROOT (struct rb_root) { NULL, NULL, }
#define RB_AUGMENT_ROOT(x) (struct rb_root) { NULL, x}
#define rb_entry(ptr, type, member) container_of(ptr, type, member)
#define RB_EMPTY_ROOT(root) ((root)->rb_node == NULL)