From patchwork Wed Jun 7 15:24:25 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Petr Mladek X-Patchwork-Id: 10435 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp288436vqr; Wed, 7 Jun 2023 08:36:11 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4zGB+BI+elxBW2vmVfvYpda72q/KDxpiUcFgDGukw9p9jd8+Aj96MP8Cwhbjsa9Va+YRWS X-Received: by 2002:a05:6a21:9713:b0:117:19d1:8369 with SMTP id ub19-20020a056a21971300b0011719d18369mr1155651pzb.37.1686152170807; Wed, 07 Jun 2023 08:36:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1686152170; cv=none; d=google.com; s=arc-20160816; b=TmFwpOSqE176NXtfS22zqQoNLlE9gjOhaOAEWOGyXt1B8uHyuZ27alYL/knkRVSowI J2XG/Cv6B+oa2Vs3WzT2N6sWML1SV0ZJ5uazIt8fgwx6nazERkY1k45Ilzjo9dXjehCX KBZyMEhPjudF0baip4XMlbFu0IpJipOOpc9Bclfk94xkJdsZJidgArUFdDVAbuREzj4H om0zCfmLuvNawGg2fZ7K6PhUVe5AVWzmBuG43253aSvM9PTEuZF+NycWXFkWtV4nn7P0 x6j6FWrsIiQMmfAYhA9c67QrKvbweF1h+lvy7rrMJyYVh5oDh02luJXNFF0f8ff73slv msZA== 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=3dXGf7k+4oTYlBaWumJNU4jR3nmmEHJWtnu0vSLVKpY=; b=vXliEp+h4QfWbNMKwbS2gr/H+1dV62fABJl9eTobPpU5IfDiB4FQ1NafXuLiLr/ymt tGn8ZGFaLaPqX7i4Ai8ymzZBRFQaqra+haMRKJhPvdoie+IIzJxEEjNGERM89+WFNZJ1 TagI+DgIwLq3w0Ag/28DYOEG64XGE7mKe2gBZ25tRCsV4VoJS9e9W9s+vQirMfbbhSWj Aou4ZoZxzeBhPPgDwgUzRWIZiX6QYognAK3c4rxL6XrH5z7D+4ach+twrRJd2T+YyZdD oVeUojnsAad0XUtHvXydHjj0Yp01KebKVP9IhUsC4iEog50CTOb+UVowjmdIGGa6Cpjt ceIw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@suse.com header.s=susede1 header.b=B+PBZJXT; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id bk13-20020a056a02028d00b0053ef95fa919si8797475pgb.458.2023.06.07.08.35.58; Wed, 07 Jun 2023 08:36:10 -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=@suse.com header.s=susede1 header.b=B+PBZJXT; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241414AbjFGP02 (ORCPT + 99 others); Wed, 7 Jun 2023 11:26:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34370 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241313AbjFGP0H (ORCPT ); Wed, 7 Jun 2023 11:26:07 -0400 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3C7892699; Wed, 7 Jun 2023 08:25:34 -0700 (PDT) Received: from relay2.suse.de (relay2.suse.de [149.44.160.134]) by smtp-out1.suse.de (Postfix) with ESMTP id 764C421A0A; Wed, 7 Jun 2023 15:25:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1686151501; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=3dXGf7k+4oTYlBaWumJNU4jR3nmmEHJWtnu0vSLVKpY=; b=B+PBZJXThYIOntzOMYJN1M7HOWKlcyfHTjqwYAzKeYBeg7N4H53o02U8FpcHbdfxQS/12F pD2SxjHz7edW0+GtChSdSrs+u54G5UDKluEkn024K10JO0UxcGtR6rRHIiyWQ7rmD6W5Wk GvOPqUkg6P2Kqu+RevoP90n3lOrnJZQ= Received: from alley.suse.cz (unknown [10.100.201.202]) by relay2.suse.de (Postfix) with ESMTP id 6C3A12C141; Wed, 7 Jun 2023 15:24:59 +0000 (UTC) From: Petr Mladek To: Andrew Morton , Douglas Anderson Cc: kgdb-bugreport@lists.sourceforge.net, linux-kernel@vger.kernel.org, Nicholas Piggin , Michael Ellerman , linuxppc-dev@lists.ozlabs.org, Christophe Leroy , sparclinux@vger.kernel.org, "David S . Miller" , linux-perf-users@vger.kernel.org, Petr Mladek Subject: [PATCH 0/7] watchdog/hardlockup: Cleanup configuration of hardlockup detectors Date: Wed, 7 Jun 2023 17:24:25 +0200 Message-Id: <20230607152432.5435-1-pmladek@suse.com> X-Mailer: git-send-email 2.35.3 MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_PASS,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-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1768058698360333347?= X-GMAIL-MSGID: =?utf-8?q?1768058698360333347?= Hi, this patchset is supposed to replace the last patch in the patchset cleaning up after introducing the buddy detector, see https://lore.kernel.org/r/20230526184139.10.I821fe7609e57608913fe05abd8f35b343e7a9aae@changeid There are four possible variants of hardlockup detectors: + buddy: available when SMP is set. + perf: available when HAVE_HARDLOCKUP_DETECTOR_PERF is set. + arch-specific: available when HAVE_HARDLOCKUP_DETECTOR_ARCH is set. + sparc64 special variant: available when HAVE_NMI_WATCHDOG is set and HAVE_HARDLOCKUP_DETECTOR_ARCH is not set. Only one hardlockup detector can be compiled in. The selection is done using quite complex dependencies between several CONFIG variables. The following patches will try to make it more straightforward. Before, the decision was done using the following variables: + HAVE_HARDLOCKUP_DETECTOR_PERF + HAVE_HARDLOCKUP_DETECTOR_BUDDY + HAVE_HARDLOCKUP_DETECTOR_ARCH + HAVE_NMI_WATCHDOG + HARDLOCKUP_DETECTOR + HARDLOCKUP_DETECTOR_PREFER_BUDDY + HAVE_HARDLOCKUP_DETECTOR_NON_ARCH + HARDLOCKUP_DETECTOR_NON_ARCH + HARDLOCKUP_DETECTOR_PERF + HARDLOCKUP_DETECTOR_BUDDY and the particular watchdog was used when the following variables were set: + perf: HARDLOCKUP_DETECTOR_PERF + buddy: HARDLOCKUP_DETECTOR_BUDDY + arch-specific: HAVE_HARDLOCKUP_DETECTOR_ARCH + sparc64: HAVE_NMI_WATCHDOG && !HAVE_HARDLOCKUP_DETECTOR_ARCH After, the decision is done using the following variables: + HAVE_HARDLOCKUP_DETECTOR_PERF + HAVE_HARDLOCKUP_DETECTOR_BUDDY + HAVE_HARDLOCKUP_DETECTOR_ARCH + HAVE_HARDLOCKUP_DETECTOR_SPARC64 + HARDLOCKUP_DETECTOR + HARDLOCKUP_DETECTOR_PREFER_BUDDY + HARDLOCKUP_DETECTOR_PERF + HARDLOCKUP_DETECTOR_BUDDY + HARDLOCKUP_DETECTOR_ARCH + HARDLOCKUP_DETECTOR_SPARC64 and the particular watchdog is used when one of these variables is set: + perf: HARDLOCKUP_DETECTOR_PERF + buddy: HARDLOCKUP_DETECTOR_BUDDY + arch-specific: HARDLOCKUP_DETECTOR_ARCH + sparc64: HARDLOCKUP_DETECTOR_SPARC64 Plus, many checks are more straightforward and even self-explanatory. I build and run tested it on x86_64. I only checked the generated .config after using sparc_defconfig, sparc64_defconfig, ppc64_defconfig, and ppc40x_defconfig. Best Regards, Petr Petr Mladek (7): watchdog/hardlockup: Sort hardlockup detector related config values a logical way watchdog/hardlockup: Make the config checks more straightforward watchdog/hardlockup: Declare arch_touch_nmi_watchdog() only in linux/nmi.h watchdog/hardlockup: Enable HAVE_NMI_WATCHDOG only on sparc64 watchdog/sparc64: Rename HAVE_NMI_WATCHDOG to HAVE_HARDLOCKUP_WATCHDOG_SPARC64 watchdog/sparc64: Define HARDLOCKUP_DETECTOR_SPARC64 watchdog/hardlockup: Define HARDLOCKUP_DETECTOR_ARCH arch/Kconfig | 17 ++--- arch/powerpc/Kconfig | 5 +- arch/powerpc/include/asm/nmi.h | 2 - arch/sparc/Kconfig | 2 +- arch/sparc/Kconfig.debug | 20 ++++++ arch/sparc/include/asm/nmi.h | 1 - include/linux/nmi.h | 14 ++-- kernel/watchdog.c | 2 +- lib/Kconfig.debug | 115 +++++++++++++++++++-------------- 9 files changed, 104 insertions(+), 74 deletions(-)