Received: by 2002:a05:6a10:a841:0:0:0:0 with SMTP id d1csp1143886pxy; Fri, 23 Apr 2021 00:58:38 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzjKV7huRJJIBMFdPWmoqiS4Su+a4nRxHlXVXBw+Nnf5nMBxdcW7CjepV5Y58EIlWX7g4L/ X-Received: by 2002:a17:906:478c:: with SMTP id cw12mr2872725ejc.5.1619164718205; Fri, 23 Apr 2021 00:58:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1619164718; cv=none; d=google.com; s=arc-20160816; b=GA5gwdKBcrcCqEjxWhbKO3H5TxqQUFGzwNa2G1Qdy7iBwymBqIYMKg3QB1Fe/2QLnK 84ML7ur4kIpPyKu7nic40VFqu9hrCI8Lo5MqyJcaT3ByVghVBEINP/1mlptAngaJ5CQ4 V9YUR7SS5CycoHgRWQhrIpAK0jfsM5i48gNUaJaP82ayfLMW1XAEkgeU64jWFwIviPUW R+FSP5iZrho0DJWJc6URxgRs1idUA5JH98h6gNdikQzxtKx8nXpNRyrn5Ueo2SV3tZGH KGKOZlPjRKJMZvVxxpn9yL23fFtpnKWQyywJEXFy25hLULGNJ3hoDIkpNBzcCMUDWw/o IeuA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:date:subject:to:from; bh=YbqNsnq86T0bY/yLjw+65VSibzUjrw0JcGwUZr0q0w0=; b=TjKJrXiCt6bXbGEU06SreYSHymM32loQ52z63ql3TvAJmPsjf1qAoFtrGHBUQDVPe2 IvhZuKrHlbMuVHprsa9QuHU9CIP4jnMdOSaQQn5LaDgES2IMFganOSQ++nS3ROjhh1Oc u7H0YGcAjp3+/AYs+80EVOtaIQRVeNSQLr4FEY04qq05/zrL26mBSAikJdqrs4qT1vbn v9e29wK+sYwLVpDAjXRLd2NisHZha8O6ZvBfWoV5ZmdUvMXeZ73Bz8sdkYHnQZnUVRPJ p8XMrSfc4vRJIsHzIe0eoEV0eeLziVGRjGX6uoQXYzeBIRpy+uEitGEKm5nPJYmOqaWO qjjw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=vivo.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id cm23si4494826edb.167.2021.04.23.00.58.14; Fri, 23 Apr 2021 00:58:38 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=vivo.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230192AbhDWH5Y (ORCPT + 99 others); Fri, 23 Apr 2021 03:57:24 -0400 Received: from mail-m118208.qiye.163.com ([115.236.118.208]:11038 "EHLO mail-m118208.qiye.163.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230125AbhDWH5X (ORCPT ); Fri, 23 Apr 2021 03:57:23 -0400 Received: from ubuntu.localdomain (unknown [36.152.145.182]) by mail-m118208.qiye.163.com (Hmail) with ESMTPA id 41DA8E04BA; Fri, 23 Apr 2021 15:56:44 +0800 (CST) From: zhouchuangao To: Peter Zijlstra , Joerg Roedel , Ingo Molnar , zhouchuangao , "Rafael J. Wysocki" , linux-kernel@vger.kernel.org Subject: [PATCH] kernel/notifier: Use BUG_ON instead of if condition followed by BUG Date: Fri, 23 Apr 2021 00:56:34 -0700 Message-Id: <1619164597-69309-1-git-send-email-zhouchuangao@vivo.com> X-Mailer: git-send-email 2.7.4 X-HM-Spam-Status: e1kfGhgUHx5ZQUtXWQgYFAkeWUFZS1VLWVdZKFlBSE83V1ktWUFJV1kPCR oVCBIfWUFZGRgfTlYYGh9DTR5DHUlJHklVEwETFhoSFyQUDg9ZV1kWGg8SFR0UWUFZT0tIVUpKS0 hKTFVLWQY+ X-HM-Sender-Digest: e1kMHhlZQR0aFwgeV1kSHx4VD1lBWUc6NEk6OSo5Tz8WFg0dQ1EBM1EV LT8aFBZVSlVKTUpCSk1PTUtPTEpNVTMWGhIXVQETFA4YEw4aFRwaFDsNEg0UVRgUFkVZV1kSC1lB WUhNVUpOSVVKT05VSkNJWVdZCAFZQUlLT003Bg++ X-HM-Tid: 0a78fdbb27d42c17kusn41da8e04ba Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org BUG_ON uses unlikely in if(). Through disassembly, we can see that brk #0x800 is compiled to the end of the function. As you can see below: ...... ffffff8008660bec: d65f03c0 ret ffffff8008660bf0: d4210000 brk #0x800 Usually, the condition in if () is not satisfied. For the multi-stage pipeline, we do not need to perform fetch decode and excute operation on brk instruction. In my opinion, this can improve the efficiency of the multi-stage pipeline. Signed-off-by: zhouchuangao --- kernel/notifier.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/kernel/notifier.c b/kernel/notifier.c index 1b019cb..2b0ed7d 100644 --- a/kernel/notifier.c +++ b/kernel/notifier.c @@ -522,8 +522,7 @@ EXPORT_SYMBOL_GPL(srcu_notifier_call_chain); void srcu_init_notifier_head(struct srcu_notifier_head *nh) { mutex_init(&nh->mutex); - if (init_srcu_struct(&nh->srcu) < 0) - BUG(); + BUG_ON(init_srcu_struct(&nh->srcu) < 0); nh->head = NULL; } EXPORT_SYMBOL_GPL(srcu_init_notifier_head); -- 2.7.4