On Tue, 4 Sep 2012 02:20:51 -0700 Michel Lespinasse <walken@xxxxxxxxxx> wrote: > This commit updates the generic interval tree code that was > introduced in "mm: replace vma prio_tree with an interval tree". > > Changes: > > - fixed 'endpoing' typo noticed by Andrew Morton > > - replaced include/linux/interval_tree_tmpl.h, which was used as a > template (including it automatically defined the interval tree > functions) with include/linux/interval_tree_generic.h, which only > defines a preprocessor macro INTERVAL_TREE_DEFINE(), which itself > defines the interval tree functions when invoked. Now that is a very > long macro which is unfortunate, but it does make the usage sites > (lib/interval_tree.c and mm/interval_tree.c) a bit nicer than previously. > > - make use of RB_DECLARE_CALLBACKS() in the INTERVAL_TREE_DEFINE() macro, > instead of duplicating that code in the interval tree template. > > - replaced vma_interval_tree_add(), which was actually handling the > nonlinear and interval tree cases, with vma_interval_tree_insert_after() > which handles only the interval tree case and has an API that is more > consistent with the other interval tree handling functions. > The nonlinear case is now handled explicitly in kernel/fork.c dup_mmap(). > > Signed-off-by: Michel Lespinasse <walken@xxxxxxxxxx> > --- > include/linux/interval_tree_generic.h | 191 ++++++++++++++++++++++++++++ > include/linux/interval_tree_tmpl.h | 219 --------------------------------- Well that's a mess. We create interval_tree_generic.h then four commits later it vanishes, never to return. And I can't fold mm-interval-tree-updates.patch into mm-replace-vma-prio_tree-with-an-interval-tree.patch because rbtree-move-augmented-rbtree-functionality-to-rbtree_augmentedh.patch mucks with interval_tree_generic.h within those four commits. Ho hum. I don't think I can be bothered untangling all this. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>