Received: by 2002:a05:7412:419a:b0:f3:1519:9f41 with SMTP id i26csp189665rdh; Thu, 23 Nov 2023 00:42:13 -0800 (PST) X-Google-Smtp-Source: AGHT+IGAqes1PzAJ5ECd6DM3Y46zDHne54q6O6l5nPJwg5kauACVeWUC0QBIJ7uodWCBEMcWrzbW X-Received: by 2002:a05:6808:2343:b0:3b6:dc6f:2741 with SMTP id ef3-20020a056808234300b003b6dc6f2741mr4757153oib.19.1700728933450; Thu, 23 Nov 2023 00:42:13 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700728933; cv=none; d=google.com; s=arc-20160816; b=Q8olI+H+f4R6G+Kljiu1H4RcgJaAYnNmmaKzfpNnQObONedwelLeXzGCCqagOENXv8 MSyWfb3U4Tf3qZgj0IL0HnSkklzGqTntmV9EufjGpq5vS3L4084HqDtJN5FhVop3thOT 4tDU9+dOpLOTZ9R1Bzrm099DiNPKnTvhzKggVheFXIfwDh+6sVfcIhQaVYts/YIM3UM/ +uQNDcr5/xlGUfsw33IGpCTkt9DW/DuBgILRlHsvU4/CX+8uwxTiWQ4PHiD5gOntJlb/ yBExzY9/y5f/eyuOPJF0i3q72QhV4mZlf7k82QjyLWh8pNHgCpJLSWeLkG/1FSYLjLJV vkSQ== 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 :message-id:date:subject:cc:to:from:dkim-signature; bh=awyDGbhYoRPdZVH0aev31LUF7PKhT9Q8DrIpkivvDV8=; fh=isWf0f7euJ+iXuyUq2jtNAs5T/2XeGlcsWQSKE+WcWM=; b=DbXSgTGlR4mjtDlzStvBmcgs8pZws6RhAwfkyQ3Ec1TsN49Siz1iX/KDnqQBL9bGpi tQZa3Dnr5wQiOyPNXxyYtOU/u+Nc9ZwJAV95SnUyDSi26QOs0l6oVvCmv0lokTSYxfZU FiesjV/gGdQKZaGfw5m8VTOltAGUl7YtcT+ep7rCoA3fTyjHk2/fhBFYg/Gav8r83wv/ mNOauGCPrZCoxpHaNeeigsTv4a2S47RcmiV5+QZYInWLcxFBGg7ZMwnQULYd8VbxQtpU gMM6ckp29NKXM57YzncQOwSJrgf8WW5nofMGPj3g7xtamWLe5fhTi//Ny18sMKk3aDoo zgIA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@bytedance.com header.s=google header.b=ZBGLIWVh; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=bytedance.com Return-Path: Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id bz3-20020a056a02060300b005be09a118d3si991078pgb.143.2023.11.23.00.42.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Nov 2023 00:42:13 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass header.i=@bytedance.com header.s=google header.b=ZBGLIWVh; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=bytedance.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id EA44E80C1122; Thu, 23 Nov 2023 00:41:56 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344959AbjKWIlo (ORCPT + 99 others); Thu, 23 Nov 2023 03:41:44 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41598 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229543AbjKWIlm (ORCPT ); Thu, 23 Nov 2023 03:41:42 -0500 Received: from mail-pf1-x430.google.com (mail-pf1-x430.google.com [IPv6:2607:f8b0:4864:20::430]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 626D1D7E for ; Thu, 23 Nov 2023 00:41:26 -0800 (PST) Received: by mail-pf1-x430.google.com with SMTP id d2e1a72fcca58-6c431b91b2aso550846b3a.1 for ; Thu, 23 Nov 2023 00:41:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1700728886; x=1701333686; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=awyDGbhYoRPdZVH0aev31LUF7PKhT9Q8DrIpkivvDV8=; b=ZBGLIWVhWcFoABspHbvKAt4+lkjqsOjyZPnmGl0FN2UTb0v2IddTr9bKz/1wGfTz/d f3mWgJIBACxecHDnu0Lb1xFZXewj4fSKZ4z+n9v2hQ4y/3VDd65OmNjGEIO0DPyuzk3f VUt1zA7gNE3j68OmHfaxUTbA+FXeHfbnk3109dhMrkMiPMdz8F8/nutXtBUk/rP6J8JR rQzDOaCl0eUTyHRkfDg2xyuh5qM7b1Evq/jsGMOW0PciMq1/D+Z52R9IEOZyIR40jdsw MIvwItx81qVhzx+xU00aw30A4IaNQKlxFIliIXq+A2gJC6yy2pCqW2MUxvOAy6izC3vF EHcg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1700728886; x=1701333686; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=awyDGbhYoRPdZVH0aev31LUF7PKhT9Q8DrIpkivvDV8=; b=OmrTFH/LwAButAfTt8KAqH477t0mHmEb7VBQeBUmkZ+p5XPmsvnSWRhWbYmBybNa/j /cNIJ996TOSVf0xQSx+MMCNKOsSq++WnZfvdM1nXJEN3LhA4mudux4py1jDlRO5vhU05 iHTUi1i4aXiaDD8qFtq8lcRQH0kqTqL/bo7bHVJ1QcePtaAQTj75oNpvHo6RmLFpfANf hDhF6aF2mOd9T4uaaI0Vz3dD1gy9mUodZ+/XEL8UQUEnzZ3XqS3mhvMR1fZMjWUT1lNo MvcatEuCDARYm3pHHHANGKkV8lHiQaCd8ndP82K/OW9FinTBq6rlCD8lE96mJOdcf8gr 2AbQ== X-Gm-Message-State: AOJu0Yw1CSErPvPDSi7hzgiJ7oZTr0d22d9anoIhIKHVy26R7cwb04wb 26xXXVrmfobwOIa5jBwkF87KUA== X-Received: by 2002:a05:6a00:1f1a:b0:6cb:a2fa:1e0e with SMTP id be26-20020a056a001f1a00b006cba2fa1e0emr5132705pfb.9.1700728885887; Thu, 23 Nov 2023 00:41:25 -0800 (PST) Received: from localhost.localdomain ([203.208.189.10]) by smtp.gmail.com with ESMTPSA id e22-20020aa78c56000000b006cbb582fe6csm710578pfd.204.2023.11.23.00.41.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Nov 2023 00:41:25 -0800 (PST) From: lizhe.67@bytedance.com To: dianders@chromium.org, akpm@linux-foundation.org, pmladek@suse.com, lecopzer.chen@mediatek.com, kernelfans@gmail.com Cc: linux-kernel@vger.kernel.org, lizefan.x@bytedance.com, lizhe.67@bytedance.com Subject: [PATCH v3] softlockup: serialized softlockup's log Date: Thu, 23 Nov 2023 16:40:22 +0800 Message-Id: <20231123084022.10302-1-lizhe.67@bytedance.com> X-Mailer: git-send-email 2.39.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED 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 (snail.vger.email [0.0.0.0]); Thu, 23 Nov 2023 00:41:57 -0800 (PST) From: Li Zhe If multiple CPUs trigger softlockup at the same time with 'softlockup_all_cpu_backtrace=0', the softlockup's logs will appear staggeredly in dmesg, which will affect the viewing of the logs for developer. Since the code path for outputting softlockup logs is not a kernel hotspot and the performance requirements for the code are not strict, locks are used to serialize the softlockup log output to improve the readability of the logs. Signed-off-by: Li Zhe --- Changelogs: v1->v2: - define the lock outside the scope of function - add precondition 'softlockup_all_cpu_backtrace=0' in commit message v2->v3: - define the lock inside the scope of function kernel/watchdog.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/kernel/watchdog.c b/kernel/watchdog.c index 5cd6d4e26915..bf30a6fac665 100644 --- a/kernel/watchdog.c +++ b/kernel/watchdog.c @@ -448,6 +448,7 @@ static enum hrtimer_restart watchdog_timer_fn(struct hrtimer *hrtimer) struct pt_regs *regs = get_irq_regs(); int duration; int softlockup_all_cpu_backtrace = sysctl_softlockup_all_cpu_backtrace; + static DEFINE_SPINLOCK(watchdog_output_lock); if (!watchdog_enabled) return HRTIMER_NORESTART; @@ -514,6 +515,7 @@ static enum hrtimer_restart watchdog_timer_fn(struct hrtimer *hrtimer) /* Start period for the next softlockup warning. */ update_report_ts(); + spin_lock(&watchdog_output_lock); pr_emerg("BUG: soft lockup - CPU#%d stuck for %us! [%s:%d]\n", smp_processor_id(), duration, current->comm, task_pid_nr(current)); @@ -523,6 +525,7 @@ static enum hrtimer_restart watchdog_timer_fn(struct hrtimer *hrtimer) show_regs(regs); else dump_stack(); + spin_unlock(&watchdog_output_lock); if (softlockup_all_cpu_backtrace) { trigger_allbutcpu_cpu_backtrace(smp_processor_id()); -- 2.20.1