From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, URIBL_RED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 41D2AC433ED for ; Sat, 8 May 2021 22:39:54 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 2620061415 for ; Sat, 8 May 2021 22:39:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229620AbhEHWkz (ORCPT ); Sat, 8 May 2021 18:40:55 -0400 Received: from mail.kernel.org ([198.145.29.99]:44244 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229559AbhEHWky (ORCPT ); Sat, 8 May 2021 18:40:54 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id A7703613EA; Sat, 8 May 2021 22:39:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1620513592; bh=UpSKKBPvtMDHMwvHoZ89h06QYfiAkKGdvXXkUS8zfeQ=; h=Date:From:To:Subject:From; b=yY6wgCj2Tt0a46d34sRxj0XVwbbIhw2sUb9lyjITInHzTd6kA41rk8A+iT2lZ8wpv UUedAnjMeAoxI7nN0JJBkObvvwsmSpL+m6vjUuHI767uMryoH/L5/sbehJxDHdRy9e z50bYwxtzOHwKkX87SxSpugs+rg8SmH94WMUPfl0= Date: Sat, 08 May 2021 15:39:52 -0700 From: akpm@linux-foundation.org To: loberman@redhat.com, mhocko@suse.com, mingo@kernel.org, mm-commits@vger.kernel.org, peterz@infradead.org, pmladek@suse.com, tglx@linutronix.de, vincent.whitchurch@axis.com Subject: [merged] watchdog-fix-barriers-when-printing-backtraces-from-all-cpus.patch removed from -mm tree Message-ID: <20210508223952.Nz_BqGDvz%akpm@linux-foundation.org> User-Agent: s-nail v14.8.16 Precedence: bulk Reply-To: linux-kernel@vger.kernel.org List-ID: X-Mailing-List: mm-commits@vger.kernel.org The patch titled Subject: watchdog: fix barriers when printing backtraces from all CPUs has been removed from the -mm tree. Its filename was watchdog-fix-barriers-when-printing-backtraces-from-all-cpus.patch This patch was dropped because it was merged into mainline or a subsystem tree ------------------------------------------------------ From: Petr Mladek Subject: watchdog: fix barriers when printing backtraces from all CPUs Any parallel softlockup reports are skipped when one CPU is already printing backtraces from all CPUs. The exclusive rights are synchronized using one bit in soft_lockup_nmi_warn. There is also one memory barrier that does not make much sense. Use two barriers on the right location to prevent mixing two reports. [pmladek@suse.com: use bit lock operations to prevent multiple soft-lockup reports] Link: https://lkml.kernel.org/r/YFSVsLGVWMXTvlbk@alley Link: https://lkml.kernel.org/r/20210311122130.6788-6-pmladek@suse.com Signed-off-by: Petr Mladek Acked-by: Peter Zijlstra (Intel) Cc: Ingo Molnar Cc: Laurence Oberman Cc: Michal Hocko Cc: Thomas Gleixner Cc: Vincent Whitchurch Signed-off-by: Andrew Morton --- kernel/watchdog.c | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) --- a/kernel/watchdog.c~watchdog-fix-barriers-when-printing-backtraces-from-all-cpus +++ a/kernel/watchdog.c @@ -410,11 +410,12 @@ static enum hrtimer_restart watchdog_tim if (kvm_check_and_clear_guest_paused()) return HRTIMER_RESTART; + /* + * Prevent multiple soft-lockup reports if one cpu is already + * engaged in dumping all cpu back traces. + */ if (softlockup_all_cpu_backtrace) { - /* Prevent multiple soft-lockup reports if one cpu is already - * engaged in dumping cpu back traces - */ - if (test_and_set_bit(0, &soft_lockup_nmi_warn)) + if (test_and_set_bit_lock(0, &soft_lockup_nmi_warn)) return HRTIMER_RESTART; } @@ -432,14 +433,8 @@ static enum hrtimer_restart watchdog_tim dump_stack(); if (softlockup_all_cpu_backtrace) { - /* Avoid generating two back traces for current - * given that one is already made above - */ trigger_allbutself_cpu_backtrace(); - - clear_bit(0, &soft_lockup_nmi_warn); - /* Barrier to sync with other cpus */ - smp_mb__after_atomic(); + clear_bit_unlock(0, &soft_lockup_nmi_warn); } add_taint(TAINT_SOFTLOCKUP, LOCKDEP_STILL_OK); _ Patches currently in -mm which might be from pmladek@suse.com are