Received: by 2002:ac0:a581:0:0:0:0:0 with SMTP id m1-v6csp4403321imm; Mon, 25 Jun 2018 15:17:32 -0700 (PDT) X-Google-Smtp-Source: ADUXVKLem0FrTUj2oHPihsCmnulmkgxo1iXbhrPAKyAOylVASVQNHrZwVkT40jtZx3K/jMG9RdnT X-Received: by 2002:a62:dd8:: with SMTP id 85-v6mr10339680pfn.202.1529965052516; Mon, 25 Jun 2018 15:17:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1529965052; cv=none; d=google.com; s=arc-20160816; b=UbpmbFOudAXXBAEbLhhy9BXyzCdD0oyB+5mejcIkRHPjDHnRarqhEzzlofT8/BAhUX YTnCkoIN9BcThNxDvT3EVs+eZIo60nMTdDhGOKihgoH9lhx+95zxzQQrCgxrYne5pXlt +9DzOTUeeVucdcSXgFz0yriAEvOHqL9PqS/YzmkGFbm/qrxOmwCVRvDOLaJoLJlqmxmm GAN+ZW5hhgFjBHHKn1YwjU0tsUoKhmgrLl/m9IwG3tKtjtsA3b8fJSyxoy7DHkJwIKqF s5SCAO0WvGQcAotYkvdiyamc+AFAsBeZScrCCqdxtoeqy1IxbZmZGMMksxOUHprjatTC 2nxw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date :arc-authentication-results; bh=tALK/nSmqDDGTnineaiLxYHbmvgRKc5j+xQrHV41U8c=; b=hqUD9KKwXEHnVh0WOvGqzsAxd6FK7sG6iWozUIKxZXEHLB0reMaFxDw9d+NSB8taZK hLudBc95Ri3TdVEF+noJISlOHrTDqLzz0CN9/Iyo9hrOibp0Yjk+GC+jLe67/4nB3EVT werDa2ehFGuRZp3E1zT/bD9+19zWUFteVextPG2e3nIxvOCiA0a0UE/sD4qXyt4B+b8/ p205TaozGqkC1wmFdJZWeougzLvklAfTf89cCEYsL8E2zZfALTd4IcyDHb8AB8sNXfNT 4s/z2wf0oTS8VpKm54eQOEQt3sJiDfg7weEuVOWx0/oDROFG4Qg9/MRuyB4Yoc3aIWUu w3PA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t17-v6si27500plo.343.2018.06.25.15.17.17; Mon, 25 Jun 2018 15:17:32 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932151AbeFYWPZ (ORCPT + 99 others); Mon, 25 Jun 2018 18:15:25 -0400 Received: from mail.kernel.org ([198.145.29.99]:53620 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754583AbeFYWPZ (ORCPT ); Mon, 25 Jun 2018 18:15:25 -0400 Received: from gandalf.local.home (cpe-66-24-56-78.stny.res.rr.com [66.24.56.78]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id CDA7A2612A; Mon, 25 Jun 2018 22:15:23 +0000 (UTC) Date: Mon, 25 Jun 2018 18:15:22 -0400 From: Steven Rostedt To: "Paul E. McKenney" Cc: Joel Fernandes , Byungchul Park , Byungchul Park , jiangshanlai@gmail.com, josh@joshtriplett.org, Mathieu Desnoyers , linux-kernel@vger.kernel.org, kernel-team@lge.com, luto@kernel.org Subject: Re: [RFC 2/2] rcu: Remove ->dynticks_nmi_nesting from struct rcu_dynticks Message-ID: <20180625181522.53b5d296@gandalf.local.home> In-Reply-To: <20180625204708.GS3593@linux.vnet.ibm.com> References: <20180620164902.GW3593@linux.vnet.ibm.com> <20180622055659.GA255098@joelaf.mtv.corp.google.com> <20180622132843.GN3593@linux.vnet.ibm.com> <20180622181916.GA13628@joelaf.mtv.corp.google.com> <20180622143247.781028b1@gandalf.local.home> <20180622200548.GA114655@joelaf.mtv.corp.google.com> <20180625082824.GB21377@X58A-UD3R> <20180625163951.GA52646@joelaf.mtv.corp.google.com> <20180625162557.7140664c@gandalf.local.home> <20180625204708.GS3593@linux.vnet.ibm.com> X-Mailer: Claws Mail 3.16.0 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 25 Jun 2018 13:47:08 -0700 "Paul E. McKenney" wrote: > On Mon, Jun 25, 2018 at 04:25:57PM -0400, Steven Rostedt wrote: > > On Mon, 25 Jun 2018 09:39:51 -0700 > > Joel Fernandes wrote: > > > > > For whatever its worth, I made some notes of what I understood from reading > > > the code and old posts because I was sure I would otherwise forget > > > everything: > > > http://www.joelfernandes.org/linuxinternals/2018/06/15/rcu-dynticks.html > > > > Nice write up. I may point some people to this ;-) > > > > Anyway "complications due to nested NMIs (yes NMIs can nest!)" > > > > What arch allows for NMIs to nest. Because we don't let that happen on > > x86, and there's code that I know of that is called by NMIs that is not > > re-entrant, and can crash if we allow for NMIs to nest. For example > > "in_nmi()" will not show that we are in_nmi() if we allow for nesting > > of NMIs. It has a single bit that gets incremented when we enter NMI > > code, and cleared when we leave it. > > Last I checked with Andy Lutomirski, there are a number of things that, > though not NMIs, act like NMIs and that can interrupt each others' > handlers. This is on x86. > Perhaps things like MCEs, but they don't call nmi_enter(). And usually when something does, it probably puts the machine into an unstable state. Getting RCU right, may be the least of the worries. You may want to ask Andy if there's legitimate interruptions of NMIs that doesn't mean "please reboot as soon as possible"? -- Steve