From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752022AbbJEN1K (ORCPT ); Mon, 5 Oct 2015 09:27:10 -0400 Received: from m50-135.163.com ([123.125.50.135]:46641 "EHLO m50-135.163.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751210AbbJEN1J (ORCPT ); Mon, 5 Oct 2015 09:27:09 -0400 From: Geliang Tang To: Ingo Molnar , Peter Zijlstra Cc: Geliang Tang , linux-kernel@vger.kernel.org Subject: [PATCH v2 2/3] sched/core: drop unlikely behind BUG_ON() Date: Mon, 5 Oct 2015 21:26:05 +0800 Message-Id: <6fa7125979f98bbeac26e268271769b6ca935c8d.1444051018.git.geliangtang@163.com> X-Mailer: git-send-email 2.5.0 In-Reply-To: <482d18783d6df356809b67431de95addfa20aa79.1444051018.git.geliangtang@163.com> References: <482d18783d6df356809b67431de95addfa20aa79.1444051018.git.geliangtang@163.com> In-Reply-To: <482d18783d6df356809b67431de95addfa20aa79.1444051018.git.geliangtang@163.com> References: <482d18783d6df356809b67431de95addfa20aa79.1444051018.git.geliangtang@163.com> X-CM-TRANSID: D9GowACHn0t+ehJWeay_Cw--.14791S3 X-Coremail-Antispam: 1Uf129KBjvJXoW7Xw1UXF4xtF18Aw1UWr1fXrb_yoW8Jr4fpr 97Wws7GanrGa4vka48Zrn7u345Kwn5C347WFs5KryrArn8K3ySqr1Fq3ZxCF1093yjgrya qFs2vr17tw1UAwUanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x07Uo89NUUUUU= X-Originating-IP: [116.77.145.2] X-CM-SenderInfo: 5jhoxtpqjwt0rj6rljoofrz/1tbiNR+KmVSIJSGNXQAAsx Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org (1) For !CONFIG_BUG cases, the bug call is a no-op, so we couldn't care less and the change is ok. (2) ppc and mips, which HAVE_ARCH_BUG_ON, do not rely on branch predictions as it seems to be pointless[1] and thus callers should not be trying to push an optimization in the first place. (3) For CONFIG_BUG and !HAVE_ARCH_BUG_ON cases, BUG_ON() contains an unlikely compiler flag already. Hence, we can drop unlikely behind BUG_ON(). [1] http://lkml.iu.edu/hypermail/linux/kernel/1101.3/02289.html Signed-off-by: Geliang Tang --- Changes in v2: - Just rewrite the commit log. --- kernel/sched/core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c index fe81929..a3518789 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -2947,7 +2947,7 @@ static noinline void __schedule_bug(struct task_struct *prev) static inline void schedule_debug(struct task_struct *prev) { #ifdef CONFIG_SCHED_STACK_END_CHECK - BUG_ON(unlikely(task_stack_end_corrupted(prev))); + BUG_ON(task_stack_end_corrupted(prev)); #endif /* * Test if we are atomic. Since do_exit() needs to call into -- 2.5.0