From patchwork Thu Oct 19 12:01:57 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frederic Weisbecker X-Patchwork-Id: 155465 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2010:b0:403:3b70:6f57 with SMTP id fe16csp329956vqb; Thu, 19 Oct 2023 05:02:32 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEmK8iFZODJpxGS/WXlDSA+MGMNjE2otqxnv5au9bE+EJiK5PKA0nsBv6IIo+elWNWDMxEm X-Received: by 2002:a05:6a00:1a86:b0:6b2:2a2d:7a25 with SMTP id e6-20020a056a001a8600b006b22a2d7a25mr1866850pfv.29.1697716952495; Thu, 19 Oct 2023 05:02:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1697716952; cv=none; d=google.com; s=arc-20160816; b=GYwKVlz9MFugUfwYawklA8cCFfH7JJ2nnU2xcxw1WILn34YTK/08ILiCSj66iusq0O DaJUHtdIAVsBXuwgVUQDfFMukjT7pCT+A2UB50Gu8LQACcIvUva8zcV2JmPt65aMKCgf mTtMZnPDN/RK3IrhXj1jBIbUY2hePt6vLF1rXCbwtxKYuqbBmGVJTg9tezyBqXTy4LFd +mP82qWl8FEfYlFJLFeF448sB2x97vyZnqhxTqjXyevfKdpCvtTZ0RF76Q/f/eaFRQe2 luTbbbpAfCFxjO8jPCTPPn/9dSnEUp5/Y36o82eA5rorJnHdD3nAATUepupdy1p6NW46 R0sg== 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=Yqhmi9DkQYNfeHgmWKBozr22uZD0DnxARdlvMV6Nrq0=; fh=5+YmRexi1ebesok90zB32639YOcyyiie3F5fnFFoKq8=; b=OEtWf4QabnuHNi7ePye9hjhCguHZJxyZt0y9hk15veDtNQKEE2qjrLqPgPsUB0BC8h lR4kxnQ7meaWX8yBBR+GDx20AUKdLJ8xKBp9CTJau+6OH5CeCs/wJhgYNo8LPMJ2bAel L98srFDhTA2HJn0AHsWgw4pqLHUUE2WBLhQHEIVIh5en1tx22EQIH26nofmD8t27/4UG NC9tTk7OUdu+TOH4GMC05Owme5svPQxhQx0QfBD4tX4J6JWb0988hdxIG9d7EnG4TDB6 o31FOyB76edbMTaPwjy+XvCY2jxBzOwzgE5FiZdK8yUDV22zV6yDHiUs36Um7fn/g4ru bvww== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=pT1BJ9EY; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 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. [23.128.96.34]) by mx.google.com with ESMTPS id z6-20020aa78886000000b00690ba709d02si6376712pfe.381.2023.10.19.05.02.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Oct 2023 05:02:32 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) client-ip=23.128.96.34; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=pT1BJ9EY; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 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 89B20826EBBB; Thu, 19 Oct 2023 05:02:29 -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 S1345506AbjJSMCT (ORCPT + 25 others); Thu, 19 Oct 2023 08:02:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59530 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1345538AbjJSMCO (ORCPT ); Thu, 19 Oct 2023 08:02:14 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id ACA85193; Thu, 19 Oct 2023 05:02:12 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id E16BAC433C9; Thu, 19 Oct 2023 12:02:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1697716932; bh=3y9CeNYUlIJW5JcYaNHy3H8Dnbv10KviDi7g0Akst9A=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=pT1BJ9EYiFJuh1grJANBeWldKA8R12Y2yhHwv6Qd/kmSR2BPN3hP3jRVRAQkGrzmc su74tO3dzxd9/oVp/MpTByCpaGK3yikim86Qpl8A8gdeCfbN2DOdIcfYTJIvD4Vr/m MEUueOLZeMVBxIkMB0WNM1jx/3FU9tOrz8sW6RkEak7WdQcxtOh/EiWqwK28mWdX9v NbAMjBEL9EyPX/wFGr/b0u2229GShll0d7zpKPS8c8Tnf7HAgx+HpsdAljmArcaZ5V kvwyrBLq4nWqIPondsqPUQlJmOULpKp2eea9BeF+38S+Yh45pToDnCoIE3Gm2HwoeH c1hVUW/cwkhnA== From: Frederic Weisbecker To: LKML Cc: Zhen Lei , Boqun Feng , Joel Fernandes , Josh Triplett , Mathieu Desnoyers , Neeraj Upadhyay , "Paul E . McKenney" , Steven Rostedt , Uladzislau Rezki , rcu , Frederic Weisbecker Subject: [PATCH 1/6] rcu: Delete a redundant check in rcu_check_gp_kthread_starvation() Date: Thu, 19 Oct 2023 14:01:57 +0200 Message-Id: <20231019120202.1216228-2-frederic@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231019120202.1216228-1-frederic@kernel.org> References: <20231019120202.1216228-1-frederic@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-1.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on howler.vger.email 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]); Thu, 19 Oct 2023 05:02:29 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1780185251233387504 X-GMAIL-MSGID: 1780185251233387504 From: Zhen Lei The rcu_check_gp_kthread_starvation() function uses task_cpu() to sample the last CPU that the grace-period kthread ran on, and task_cpu() samples the thread_info structure's ->cpu field. But this field will always contain a number corresponding to a CPU that was online some time in the past, thus never a negative number. This invariant is checked by a WARN_ON_ONCE() in set_task_cpu(). This means that if the grace-period kthread exists, that is, if the "gpk" local variable is non-NULL, the "cpu" local variable will be non-negative. This in turn means that the existing check for non-negative "cpu" is redundant with the enclosing check for non-NULL "gpk". This commit threefore removes the redundant check of "cpu". Signed-off-by: Zhen Lei Signed-off-by: Paul E. McKenney Signed-off-by: Frederic Weisbecker --- kernel/rcu/tree_stall.h | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/kernel/rcu/tree_stall.h b/kernel/rcu/tree_stall.h index 6f06dc12904a..b5ce0580074e 100644 --- a/kernel/rcu/tree_stall.h +++ b/kernel/rcu/tree_stall.h @@ -537,13 +537,11 @@ static void rcu_check_gp_kthread_starvation(void) pr_err("\tUnless %s kthread gets sufficient CPU time, OOM is now expected behavior.\n", rcu_state.name); pr_err("RCU grace-period kthread stack dump:\n"); sched_show_task(gpk); - if (cpu >= 0) { - if (cpu_is_offline(cpu)) { - pr_err("RCU GP kthread last ran on offline CPU %d.\n", cpu); - } else { - pr_err("Stack dump where RCU GP kthread last ran:\n"); - dump_cpu_task(cpu); - } + if (cpu_is_offline(cpu)) { + pr_err("RCU GP kthread last ran on offline CPU %d.\n", cpu); + } else { + pr_err("Stack dump where RCU GP kthread last ran:\n"); + dump_cpu_task(cpu); } wake_up_process(gpk); }