[lkml]   [2019]   [Jul]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subject[PATCH v3 0/3] make RB_DECLARE_CALLBACKS more generic
These changes are intended to make the RB_DECLARE_CALLBACKS macro
more generic (allowing the aubmented subtree information to be a struct
instead of a scalar).

Changes since v2: Left the RBSTATIC and RBNAME arguments first in the
by Peter Zijlstra.

Changes since v1: I have added a new RB_DECLARE_CALLBACKS_MAX macro,
which generates augmented rbtree callbacks where the subtree information
can be expressed as max(f(node)). This covers all current uses, and thus
makes it easy to do the later RB_DECLARE_CALLBACKS definition change
as it's only currently used in RB_DECLARE_CALLBACKS_MAX.

I have also verified the compiled lib/interval_tree.o and mm/mmap.o
files to check that they didn't change. This held as expected for
interval_tree.o; mmap.o did have some changes which could be reverted
by marking __vma_link_rb as noinline. I did not add such a change to the
patchset; I felt it was reasonable enough to let the inlining decision
up to the compiler.

Michel Lespinasse (3):
augmented rbtree: add comments for RB_DECLARE_CALLBACKS macro
augmented rbtree: add new RB_DECLARE_CALLBACKS_MAX macro
augmented rbtree: rework the RB_DECLARE_CALLBACKS macro definition

arch/x86/mm/pat_rbtree.c | 19 +-----
drivers/block/drbd/drbd_interval.c | 29 +--------
include/linux/interval_tree_generic.h | 22 +------
include/linux/rbtree_augmented.h | 88 ++++++++++++++++++++------
lib/rbtree_test.c | 22 +------
mm/mmap.c | 29 +++++----
tools/include/linux/rbtree_augmented.h | 88 ++++++++++++++++++++------
7 files changed, 163 insertions(+), 134 deletions(-)


 \ /
  Last update: 2019-07-03 06:02    [W:0.080 / U:0.476 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site