[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1364589989.13783.2.camel@buesod1.americas.hpqcorp.net>
Date: Fri, 29 Mar 2013 13:46:29 -0700
From: Davidlohr Bueso <davidlohr.bueso@...com>
To: Andrew Morton <akpm@...ux-foundation.org>,
Michel Lespinasse <walken@...gle.com>
Cc: LKML <linux-kernel@...r.kernel.org>
Subject: [PATCH v2 1/2] rbtree_test: add extra rbtree integrity check
Account for the rbtree having 2**bh(v)-1 internal nodes.
While this can be seen as a consequence of other checks, Michel states
that it nicely sums up what the other properties are for.
Signed-off-by: Davidlohr Bueso <davidlohr.bueso@...com>
---
lib/rbtree_test.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/lib/rbtree_test.c b/lib/rbtree_test.c
index af38aed..9951503 100644
--- a/lib/rbtree_test.c
+++ b/lib/rbtree_test.c
@@ -117,8 +117,7 @@ static int black_path_count(struct rb_node *rb)
static void check(int nr_nodes)
{
struct rb_node *rb;
- int count = 0;
- int blacks = 0;
+ int count = 0, blacks = 0;
u32 prev_key = 0;
for (rb = rb_first(&root); rb; rb = rb_next(rb)) {
@@ -134,7 +133,9 @@ static void check(int nr_nodes)
prev_key = node->key;
count++;
}
+
WARN_ON_ONCE(count != nr_nodes);
+ WARN_ON_ONCE(count < (1 << black_path_count(rb_last(&root))) - 1);
}
static void check_augmented(int nr_nodes)
--
1.7.11.7
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists