From patchwork Tue Oct 3 23:29:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frederic Weisbecker X-Patchwork-Id: 148103 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2a8e:b0:403:3b70:6f57 with SMTP id in14csp2413330vqb; Tue, 3 Oct 2023 16:29:33 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGnbyyYzRQEMa72TZMUJFfSnvyWqkJDBT1eyC+3AcgI4QvhLD1bQqHCuXkomFgsnJ8/Ctyu X-Received: by 2002:a05:6a21:9989:b0:14c:daa9:5e22 with SMTP id ve9-20020a056a21998900b0014cdaa95e22mr858910pzb.45.1696375773444; Tue, 03 Oct 2023 16:29:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696375773; cv=none; d=google.com; s=arc-20160816; b=RtvSstxJ6CN/k8VPVIxEEAbqHgRnLeqSXumBD1VJjs1VDzXcUeiLpOFt3GDLiFCLim +c2tq85TiHxGVT8PPpPC6TtwEXKiLz5+ppDeM2rm5dm6/cW2jFnSAJaZd1g0rIefd9Xy tPTPPGKnKciBh/NiSpd4LMcNX+pLqsvVRg4dESKDF1eRdolKSZ8Es+Nxxt2Bcq5iGmhm 3T2HbKumu8gKHgEPuRIFTnCY6fHM3b2vJcw0Bc0WUTZDpDBIanHFGbU/LH69b0ntj4kH n/4rwArGS1X43kO4DZiaq/NeddDb/Z54SalcGXjBtYo8dEXWdhdhg9frhIVxXEVGkw85 hAfQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=CkbI8qBGRRYpFx8wwdG54GwR9iHuJjuN3v1zcB47Xgg=; fh=F5rAnPhwm0E3NuqHck/WDxlMw3n2ra+y1fhewNj930Q=; b=ZfCa56J3wAojMx874A07mNrWVmcB3C22gmyWj3PD3Z9dXAhunqy+VMouUqlikn0OUk ZQaQSn92hBC5ytw3Q/tgPSnmNrXE9z0hiMXzNvRbWYtY76umIlrz2vYMNfb+/R6YDRDu Zsq40lq+5BzxVuBXtdBG1shAXWII2HaX+Lm7RMerKE7BV/JcVcoX2M8IKVjvJlZNc+l2 CohD8ZlF8WthMHa9e+tqwsvMAEuM/ijdxPdE/+cfwblhzEKGudQABJXZR0lxKbaNplfW ewf1EeVsi7oZ/046sWptfk7f3LXtBOR6balXmxSghDAXz9UDKhkRkgjCABk+HhUaEx+x hh9A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=Vb8yt7rj; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from howler.vger.email (howler.vger.email. [2620:137:e000::3:4]) by mx.google.com with ESMTPS id m18-20020a170902db1200b001bf741231f7si2706101plx.570.2023.10.03.16.29.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Oct 2023 16:29:33 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 as permitted sender) client-ip=2620:137:e000::3:4; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=Vb8yt7rj; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by howler.vger.email (Postfix) with ESMTP id D8FC08315C8D; Tue, 3 Oct 2023 16:29:32 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at howler.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236799AbjJCX33 (ORCPT + 17 others); Tue, 3 Oct 2023 19:29:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43032 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236317AbjJCX3Z (ORCPT ); Tue, 3 Oct 2023 19:29:25 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0116890; Tue, 3 Oct 2023 16:29:21 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 827CEC433CC; Tue, 3 Oct 2023 23:29:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1696375761; bh=AYpsqjGYQerYpEpgb3/3JuONsnqpe9k5KpicXU2iC5A=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Vb8yt7rj1+eASMqdgd8uOd7YztQbD2LY9C8D6UKrRfCDQEWlcvcvXP+pYsO1KYl3F wKo7Ipua6EfHoRWZg6Gh9t3205hor55zobDIFfZQK+/0sBOlmNyXAzW5kyHOveRedJ tlpo2xc6XMDQkLBC/d/cAioxpFZ/Tb40pP0QU+M4nhFeRad5DIaZ7oQZLxwrmVzEvr BH2bP6bdKh3ey9tW6/I+GMMIihWm9SNc5TC0i9t83zpy4b+Ge+x4qt/Sohw3GLHgN+ LUFyxegCWNp/NlJAT09G8e1UXQu8Xg/FZnZ79+rrMLxk6hfFfzi3QJZ0bKBz97ZPSI a7srEntCpnslg== From: Frederic Weisbecker To: "Paul E . McKenney" Cc: LKML , Frederic Weisbecker , Yong He , Neeraj upadhyay , Joel Fernandes , Boqun Feng , Uladzislau Rezki , RCU Subject: [PATCH 4/5] srcu: No need to advance/accelerate if no callback enqueued Date: Wed, 4 Oct 2023 01:29:02 +0200 Message-ID: <20231003232903.7109-5-frederic@kernel.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20231003232903.7109-1-frederic@kernel.org> References: <20231003232903.7109-1-frederic@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (howler.vger.email [0.0.0.0]); Tue, 03 Oct 2023 16:29:32 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1778778922754959644 X-GMAIL-MSGID: 1778778922754959644 While in grace period start, there is nothing to accelerate and therefore no need to advance the callbacks either if no callback is to be enqueued. Spare these needless operations in this case. Signed-off-by: Frederic Weisbecker --- kernel/rcu/srcutree.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/kernel/rcu/srcutree.c b/kernel/rcu/srcutree.c index e9356a103626..2bfc8ed1eed2 100644 --- a/kernel/rcu/srcutree.c +++ b/kernel/rcu/srcutree.c @@ -1261,9 +1261,11 @@ static unsigned long srcu_gp_start_if_needed(struct srcu_struct *ssp, * period (gp_num = X + 8). So acceleration fails. */ s = rcu_seq_snap(&ssp->srcu_sup->srcu_gp_seq); - rcu_segcblist_advance(&sdp->srcu_cblist, - rcu_seq_current(&ssp->srcu_sup->srcu_gp_seq)); - WARN_ON_ONCE(!rcu_segcblist_accelerate(&sdp->srcu_cblist, s) && rhp); + if (rhp) { + rcu_segcblist_advance(&sdp->srcu_cblist, + rcu_seq_current(&ssp->srcu_sup->srcu_gp_seq)); + WARN_ON_ONCE(!rcu_segcblist_accelerate(&sdp->srcu_cblist, s)); + } if (ULONG_CMP_LT(sdp->srcu_gp_seq_needed, s)) { sdp->srcu_gp_seq_needed = s; needgp = true;