]> git.karo-electronics.de Git - karo-tx-linux.git/commit
rbtree: rb_erase updates and comments
authorMichel Lespinasse <walken@google.com>
Tue, 14 Aug 2012 03:22:43 +0000 (13:22 +1000)
committerStephen Rothwell <sfr@canb.auug.org.au>
Mon, 20 Aug 2012 07:08:14 +0000 (17:08 +1000)
commitd1bdf4370a0efc3eefa86daa9eee7d78f4729bbb
treee3be3be6722df79461de569ad38f0cc55b24b363
parentd409099b4e58941f9b247f52dbc78be898e8f18c
rbtree: rb_erase updates and comments

Minor updates to the rb_erase() function:
- Reorder code to put simplest / common case (no more than 1 child) first.
- Fetch the parent first, since it ends up being required in all 3 cases.
- Add a few comments to illustrate case 2 (node to remove has 2 childs,
  but one of them is the successor) and case 3 (node to remove has 2 childs,
  successor is a left-descendant of the right child).

Signed-off-by: Michel Lespinasse <walken@google.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: David Woodhouse <David.Woodhouse@intel.com>
Cc: Rik van Riel <riel@redhat.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Daniel Santos <daniel.santos@pobox.com>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
lib/rbtree.c