Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756563Ab0GMKbY (ORCPT ); Tue, 13 Jul 2010 06:31:24 -0400 Received: from mx1.redhat.com ([209.132.183.28]:38357 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751400Ab0GMKbW (ORCPT ); Tue, 13 Jul 2010 06:31:22 -0400 From: Xiaotian Feng To: linux-kernel@vger.kernel.org Cc: Xiaotian Feng , Suresh Siddha , Venkatesh Pallipadi , Ingo Molnar , Peter Zijlstra Subject: [PATCH -tip] rbtree: avoid func twice when node doesn't have a right sibling Date: Tue, 13 Jul 2010 18:30:54 +0800 Message-Id: <1279017054-3024-1-git-send-email-dfeng@redhat.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1239 Lines: 41 In rb_augment_path(), if (node == parent->rb_left && parent->rb_right) func(parent->rb_right, data); else if (parent->rb_left) func(parent->rb_left, data); If (node == parent->rb_left && !parent->rb_right), then kernel will func(node,data) twice. Signed-off-by: Xiaotian Feng Cc: Suresh Siddha Cc: Venkatesh Pallipadi Cc: Xiaotian Feng Cc: Ingo Molnar Cc: Peter Zijlstra --- lib/rbtree.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/lib/rbtree.c b/lib/rbtree.c index 4693f79..7bb8f7f 100644 --- a/lib/rbtree.c +++ b/lib/rbtree.c @@ -295,7 +295,7 @@ up: if (node == parent->rb_left && parent->rb_right) func(parent->rb_right, data); - else if (parent->rb_left) + else if (node == parent->rb_right && parent->rb_left) func(parent->rb_left, data); node = parent; -- 1.7.1.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/