From patchwork Mon Jul 17 19:46:07 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: John Ogness X-Patchwork-Id: 121580 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp1321087vqt; Mon, 17 Jul 2023 13:10:25 -0700 (PDT) X-Google-Smtp-Source: APBJJlFBe8j1mJGdDh729b3cI+d1ljxYJBECx/Xo6IqC57FRmGOJQYb4zeETquVT44u+woZSaiOm X-Received: by 2002:a05:6512:3189:b0:4fb:9469:d65f with SMTP id i9-20020a056512318900b004fb9469d65fmr8840465lfe.37.1689624625561; Mon, 17 Jul 2023 13:10:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689624625; cv=none; d=google.com; s=arc-20160816; b=urKdSoXFUb97dxWrr50eH7idqI9VIfH5cd994841CDEBKeY+BRaRWy/gk/uN3fGzhh t7wMpfLRNuqEtoC3+8Moddsj8N8XzVLAWPPbafQaWwpFpBnLf+cEVMIyS7Czwe0hVzCI mFUrRc4SUhDO9kBNDYLGbjUMaEkZ5e/y9X/l4b/AyeHremtjZ18xJGc+IQNMLSQCBvdA BbHp8Nphs06WV4wXLWm98SiI6Mya60+qVEiSGr4qNL/A5DmDcQmsK+k5+H9aDSW83Qsh adJeyvraiCzYPuRiUcx89ttLIYO65bFVDxTG68cyiydFP91q61KOGK7AaJ+IBFGAtuLU PVlw== 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:dkim-signature :dkim-signature:from; bh=9YQbbOC++27VfIsffSPDpAp65YkynE+WjOPzsRadPmE=; fh=HVRBJStvoKWbFco6Jta18xe5UAVCwWVs9OvJstciom4=; b=MC4T1tNGR1FFw8E1MkAOzoyu4xYuEjDCKa9c+3kuVni/uHpg8v/VxKAORm+wC4y1/e RwSp5IsqaOFbPB12mhXwvRDcFkc/xB1b9BS6iDYqZ+tGkT5PbOGY9CyQoL5vYQHgqu4p aZ2wERTBv8yLmdeAnjB0Z7IygTh43CNz+ggQxv4vE7zg1f0nF53u2rNgmN0b6Z4z141i 4ym8uKXh2DFa6Ezl9fg4oaOPF8if/cSqCv0g20QCcZ8q1nxkuwOQ3QTyRhTQ3HEF3RIf g8RLLU9xbfjBzBjVa5qZatn1Ki0smu3n2TdbglY+eewsQUQS5fG9JJVBnjGlnNYlYcO+ WCfA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=sHqCWahs; dkim=neutral (no key) header.i=@linutronix.de header.b=9IHgE7RC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id g5-20020a056402180500b0051e02696179si77286edy.388.2023.07.17.13.10.00; Mon, 17 Jul 2023 13:10:25 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=sHqCWahs; dkim=neutral (no key) header.i=@linutronix.de header.b=9IHgE7RC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231748AbjGQTqe (ORCPT + 99 others); Mon, 17 Jul 2023 15:46:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41558 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231448AbjGQTqP (ORCPT ); Mon, 17 Jul 2023 15:46:15 -0400 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4232B134 for ; Mon, 17 Jul 2023 12:46:14 -0700 (PDT) From: John Ogness DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1689623172; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=9YQbbOC++27VfIsffSPDpAp65YkynE+WjOPzsRadPmE=; b=sHqCWahsOvD4A9UnYFTXLDtz/ASa6LrsAWgDf7FkeeOlFfFT6K8hRPadzcCdN7/rt1KDpg +lXZk0RmJ+it1hdcsm9cCIMXgbxUHGkEfGqRsf1TOJ3harahQ15nvdYIZl4vV7sXjVDoVU 6t3CG7T7aY1UYRwFZVV1IcEZ3+nzLIwBlD+kpfhnLNW+PrJaiTSVV0JhxYZJtCGA8wCgAg e8P0RP77KrwB5Xz1BSRa4wuUIxdb1uv7FubBSvaU7otmfxnjvakNVkSHSrDEyAcq1hm6hr +uXeS7EVoczXX2jpuDgUcqKlrPRSp7rts2ibREKF3P9Xeq1vOLplZfc+N7xDgA== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1689623172; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=9YQbbOC++27VfIsffSPDpAp65YkynE+WjOPzsRadPmE=; b=9IHgE7RC4BYeds2iX1dQh0bYNmwmlziLbwfkx0g88uyZzMRrVw2b+YmkusV7QhwEST5u4Z 7rrXFemlFI7bylAA== To: Petr Mladek Cc: Sergey Senozhatsky , Steven Rostedt , Thomas Gleixner , linux-kernel@vger.kernel.org Subject: [PATCH printk v3 7/7] printk: Rename abandon_console_lock_in_panic() to other_cpu_in_panic() Date: Mon, 17 Jul 2023 21:52:07 +0206 Message-Id: <20230717194607.145135-8-john.ogness@linutronix.de> In-Reply-To: <20230717194607.145135-1-john.ogness@linutronix.de> References: <20230717194607.145135-1-john.ogness@linutronix.de> MIME-Version: 1.0 X-Spam-Status: No, score=-1.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,INVALID_DATE_TZ_ABSURD, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=no 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-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771699831396679987 X-GMAIL-MSGID: 1771699831396679987 Currently abandon_console_lock_in_panic() is only used to determine if the current CPU should immediately release the console lock because another CPU is in panic. However, later this function will be used by the CPU to immediately release other resources in this situation. Rename the function to other_cpu_in_panic(), which is a better description and does not assume it is related to the console lock. Signed-off-by: John Ogness Reviewed-by: Sergey Senozhatsky Reviewed-by: Petr Mladek --- kernel/printk/internal.h | 2 ++ kernel/printk/printk.c | 15 ++++++++------- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/kernel/printk/internal.h b/kernel/printk/internal.h index 2a17704136f1..7d4979d5c3ce 100644 --- a/kernel/printk/internal.h +++ b/kernel/printk/internal.h @@ -103,3 +103,5 @@ struct printk_message { u64 seq; unsigned long dropped; }; + +bool other_cpu_in_panic(void); diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c index efe577477913..8787d3a72114 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c @@ -2612,11 +2612,12 @@ static int console_cpu_notify(unsigned int cpu) } /* - * Return true when this CPU should unlock console_sem without pushing all - * messages to the console. This reduces the chance that the console is - * locked when the panic CPU tries to use it. + * Return true if a panic is in progress on a remote CPU. + * + * On true, the local CPU should immediately release any printing resources + * that may be needed by the panic CPU. */ -static bool abandon_console_lock_in_panic(void) +bool other_cpu_in_panic(void) { if (!panic_in_progress()) return false; @@ -2643,7 +2644,7 @@ void console_lock(void) might_sleep(); /* On panic, the console_lock must be left to the panic cpu. */ - while (abandon_console_lock_in_panic()) + while (other_cpu_in_panic()) msleep(1000); down_console_sem(); @@ -2663,7 +2664,7 @@ EXPORT_SYMBOL(console_lock); int console_trylock(void) { /* On panic, the console_lock must be left to the panic cpu. */ - if (abandon_console_lock_in_panic()) + if (other_cpu_in_panic()) return 0; if (down_trylock_console_sem()) return 0; @@ -2978,7 +2979,7 @@ static bool console_flush_all(bool do_cond_resched, u64 *next_seq, bool *handove any_progress = true; /* Allow panic_cpu to take over the consoles safely. */ - if (abandon_console_lock_in_panic()) + if (other_cpu_in_panic()) goto abandon; if (do_cond_resched)