augmented rbtree: add new RB_DECLARE_CALLBACKS_MAX macro
authorMichel Lespinasse <walken@google.com>
Wed, 25 Sep 2019 23:46:07 +0000 (16:46 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 26 Sep 2019 00:51:39 +0000 (17:51 -0700)
commit315cc066b8ae8349a27887ad7a34e1916e9797fe
tree3c7dba850cee3ec6991228ae425db0de78fbb252
parent444b8a83f1e01584ff2d53f5951d8e836c0070b5
augmented rbtree: add new RB_DECLARE_CALLBACKS_MAX macro

Add RB_DECLARE_CALLBACKS_MAX, which generates augmented rbtree callbacks
for the case where the augmented value is a scalar whose definition
follows a max(f(node)) pattern.  This actually covers all present uses of
RB_DECLARE_CALLBACKS, and saves some (source) code duplication in the
various RBCOMPUTE function definitions.

[walken@google.com: fix mm/vmalloc.c]
Link: http://lkml.kernel.org/r/CANN689FXgK13wDYNh1zKxdipeTuALG4eKvKpsdZqKFJ-rvtGiQ@mail.gmail.com
[walken@google.com: re-add check to check_augmented()]
Link: http://lkml.kernel.org/r/20190727022027.GA86863@google.com
Link: http://lkml.kernel.org/r/20190703040156.56953-3-walken@google.com
Signed-off-by: Michel Lespinasse <walken@google.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: David Howells <dhowells@redhat.com>
Cc: Davidlohr Bueso <dbueso@suse.de>
Cc: Uladzislau Rezki <urezki@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/x86/mm/pat_rbtree.c
drivers/block/drbd/drbd_interval.c
include/linux/interval_tree_generic.h
include/linux/rbtree_augmented.h
lib/rbtree_test.c
mm/mmap.c
mm/vmalloc.c
tools/include/linux/rbtree_augmented.h