Received: by 2002:a6b:500f:0:0:0:0:0 with SMTP id e15csp5027821iob; Mon, 9 May 2022 07:12:16 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy0X3BpSt3CL84ID9idMTu2nmP+tIuJFrMx0dlx4A28h1l8gYJI66Lc1+rnrUpU3r9w8l5e X-Received: by 2002:a17:90b:17d0:b0:1dc:ddce:9c25 with SMTP id me16-20020a17090b17d000b001dcddce9c25mr16793116pjb.232.1652105535817; Mon, 09 May 2022 07:12:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1652105535; cv=none; d=google.com; s=arc-20160816; b=Q8NXpofUo1OORwPGpJvOy8pnE6JAfZOAsG+mzBzbImJ2PtRHYQB6MHYZkzfGrGzuGc uG4ghGr7SPcaFZwSrpxq0l+RI9a4JoPXT3B/pQ/TQkcoOR+3GvmJ3NiDdQOhRYmGPRSn dIoop4apIlr3vU/4VRi0XcDEYgg0akAv8RcXgK5RyawI7C6ItvWZgT5HcKHKp9KCIYup SuMc1lBl7x259g3BI7fb2FQy2DF6NdsP75eh6m8xxzNW6gI7Hd7Rshhw/PiS17L2UvwZ jaWl1TmmPE2vUE7YYFT3+L+lSNoR1fzm4ZF2FkvkBk8EXKbmIDAnuwWuskERETdjk8Ax gpnA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:date:references :in-reply-to:subject:cc:to:dkim-signature:dkim-signature:from; bh=GqbJqls16FNy0vugLmt3uGKWWGVnEjYiGmRysMH1yNs=; b=uvyOhjAIHHKka0fVXq2fUCoSeNXW/R6vVGnrWI4q84lm+6pMCl4JGOzosCOVeWA0nq KfMPJovXR4IFUyEDw1q7FRjzWQ+yc/I+Szz4WarDXiQw8csfCM4uWi4mxfZ+Ao3+nvfI fBu7zbGpQrhWT1B7YXikfKg8XgdwMc3Kt5M5fg3n0k8l+Ei6KRfTAVZLNNd41oPTqsXH Xk4zumFiYdj+IppK21uaQj9QvBtklQQJx7ga3Ibaf0Dzdf1zqJCUu3a1ROl7mGu+xkhx yP0cRHFL7DMz+OuGF/y6xIJJN5/YCrmyUoFB1Yzd+cIkM6s3DRC8WzvF4GahUd4KDZG9 G8OA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=tvslSlzi; dkim=neutral (no key) header.i=@linutronix.de; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id r11-20020a170902be0b00b0015f0bce635dsi5329663pls.335.2022.05.09.07.12.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 09 May 2022 07:12:15 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=tvslSlzi; dkim=neutral (no key) header.i=@linutronix.de; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 9EC2F283A18; Mon, 9 May 2022 07:04:02 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236608AbiEIOHl (ORCPT + 99 others); Mon, 9 May 2022 10:07:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46106 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236578AbiEIOHg (ORCPT ); Mon, 9 May 2022 10:07:36 -0400 Received: from galois.linutronix.de (Galois.linutronix.de [IPv6:2a0a:51c0:0:12e:550::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8ADC72701BE for ; Mon, 9 May 2022 07:03:41 -0700 (PDT) From: Thomas Gleixner DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1652105019; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=GqbJqls16FNy0vugLmt3uGKWWGVnEjYiGmRysMH1yNs=; b=tvslSlziDv2t2phpzE4lNj+wrzJgX67KxhCt1FuyD1ceg6sJFkBlxDhpRcOusXD3vCH1GO rrwBIOqwLBE/09DZS1RWIEpRUyzO4Ylxq9wypMWnCjV9KtGMgRRbEooy5Av5VpyEFRGz5A ZhYHIWm3yehXFdD4iBjXd6R7PU5v8T6fgojfu0Xj9/TcO08hmV7QXMv6URnVkVzfzFLPYQ nCVwI6uHnWtOiluEEbY/QZ0aJobXPwV6uKRnLdA5YA8RqQpeGlC+MXbMXss77eJLujwtT7 ZzQK/ggooLf32/huA0pdmI4dXrznLN0honUiqbA/ZsXU29EKPlPPYg33zHC8PA== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1652105019; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=GqbJqls16FNy0vugLmt3uGKWWGVnEjYiGmRysMH1yNs=; b=B+umBlaN/4/EfvGP0sahg2ByBcjgBKcjCmDqM6xwlN4Jeh/lEDpTcEWCOSnSQddUEZRznA Ju1piRkbSamhYbAA== To: Ricardo Neri , x86@kernel.org Cc: Tony Luck , Andi Kleen , Stephane Eranian , Andrew Morton , Joerg Roedel , Suravee Suthikulpanit , David Woodhouse , Lu Baolu , Nicholas Piggin , "Ravi V. Shankar" , Ricardo Neri , iommu@lists.linux-foundation.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, Ricardo Neri Subject: Re: [PATCH v6 22/29] x86/watchdog/hardlockup: Add an HPET-based hardlockup detector In-Reply-To: <20220506000008.30892-23-ricardo.neri-calderon@linux.intel.com> References: <20220506000008.30892-1-ricardo.neri-calderon@linux.intel.com> <20220506000008.30892-23-ricardo.neri-calderon@linux.intel.com> Date: Mon, 09 May 2022 16:03:39 +0200 Message-ID: <877d6uref8.ffs@tglx> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,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 On Thu, May 05 2022 at 17:00, Ricardo Neri wrote: > + if (is_hpet_hld_interrupt(hdata)) { > + /* > + * Kick the timer first. If the HPET channel is periodic, it > + * helps to reduce the delta between the expected TSC value and > + * its actual value the next time the HPET channel fires. > + */ > + kick_timer(hdata, !(hdata->has_periodic)); > + > + if (cpumask_weight(hld_data->monitored_cpumask) > 1) { > + /* > + * Since we cannot know the source of an NMI, the best > + * we can do is to use a flag to indicate to all online > + * CPUs that they will get an NMI and that the source of > + * that NMI is the hardlockup detector. Offline CPUs > + * also receive the NMI but they ignore it. > + * > + * Even though we are in NMI context, we have concluded > + * that the NMI came from the HPET channel assigned to > + * the detector, an event that is infrequent and only > + * occurs in the handling CPU. There should not be races > + * with other NMIs. > + */ > + cpumask_copy(hld_data->inspect_cpumask, > + cpu_online_mask); > + > + /* If we are here, IPI shorthands are enabled. */ > + apic->send_IPI_allbutself(NMI_VECTOR); So if the monitored cpumask is a subset of online CPUs, which is the case when isolation features are enabled, then you still send NMIs to those isolated CPUs. I'm sure the isolation folks will be enthused. Thanks, tglx