Received: by 2002:a25:1506:0:0:0:0:0 with SMTP id 6csp5062239ybv; Tue, 11 Feb 2020 08:29:43 -0800 (PST) X-Google-Smtp-Source: APXvYqx2JHtPioU5gtoGUWm+w9gt9gpfi+zy6kPQ/Oa4tDrXQv5EVOfoTYqiyoakz/kvQuEy9BIn X-Received: by 2002:aca:b60a:: with SMTP id g10mr3245074oif.102.1581438583422; Tue, 11 Feb 2020 08:29:43 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1581438583; cv=none; d=google.com; s=arc-20160816; b=Gi7VXjxp5jzlK+Uy7jNGHHAnRBtaGciSci1R3SSqSzve82WWc28yRSzx125f9+tm2v 73dquW/bu0KifnRK6USZNSyxdd49FiZrJSwM85oqcDPXOL1cBKFjS81uzVp6A8F9Ez3B 51F4jhy0GKjBnfWfw/sh9P3OoHZy8IpkFjoAFmM3y9b7SCvZcUvZgRdgKTS+OZGGa8jL Auzph9HejRE2XpJL8amWDt+gvTZDYxKGvwhmCNMl2QfIVHRgP/JaMeiQd+kez3MwgYcu 7Kb7nuVWiC699+R3D/u1NJO5gIxTYTRhz04Byr2s8IrYUspapgktDwoSAc9hrYGVoTPX a88Q== 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; bh=HJa2CTkFETZYSOnvfZ4SUYKK35aTFG27RXPTJbI+LPc=; b=bKFiRK+0OjsGi2xhtT7w64ExCaQVEami+iqB6NEJ5KpaRnpGX2HEDq3e/4RQdGtW13 Cq8y9kdB9eRS89gq1fd4TFNVvxdcyjWSALcES28QARyqEHNZWiYGi6b5UYHFVOhmA0l6 nqViH2ZY0x4XyuyfNcT4jBTFwapYsWd4FO2iMEhWQ2ZqIig6ZiaOmA5ktJZF+gDjGa5m zrUjxAO9sPvD94O01oR4eb/hf+ZzEEt0B2g6zF1OV6jCP5UH1TRRs1PZhsBtRu27g0v+ QR1mkqnkOSAUDPHGuBY8KoJtQ9fy6kZNpXnyVPRvzsESCuzpCB63tb52o8SvovZigKDl gWDw== 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 d22si2243090oti.316.2020.02.11.08.29.26; Tue, 11 Feb 2020 08:29:43 -0800 (PST) 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 S1729019AbgBKOKQ (ORCPT + 99 others); Tue, 11 Feb 2020 09:10:16 -0500 Received: from mail.kernel.org ([198.145.29.99]:56784 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728124AbgBKOKQ (ORCPT ); Tue, 11 Feb 2020 09:10:16 -0500 Received: from gandalf.local.home (cpe-66-24-58-225.stny.res.rr.com [66.24.58.225]) (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 DA16620675; Tue, 11 Feb 2020 14:10:14 +0000 (UTC) Date: Tue, 11 Feb 2020 09:10:13 -0500 From: Steven Rostedt To: Peter Zijlstra Cc: Mathieu Desnoyers , linux-kernel , Ingo Molnar , "Joel Fernandes, Google" , Greg Kroah-Hartman , "Gustavo A. R. Silva" , Thomas Gleixner , paulmck , Josh Triplett , Lai Jiangshan Subject: Re: [PATCH] tracing/perf: Move rcu_irq_enter/exit_irqson() to perf trace point hook Message-ID: <20200211091013.0eec4cda@gandalf.local.home> In-Reply-To: <20200211120015.GL14914@hirez.programming.kicks-ass.net> References: <20200210170643.3544795d@gandalf.local.home> <576504045.617212.1581381032132.JavaMail.zimbra@efficios.com> <20200211120015.GL14914@hirez.programming.kicks-ass.net> X-Mailer: Claws Mail 3.17.3 (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 Tue, 11 Feb 2020 13:00:15 +0100 Peter Zijlstra wrote: > As per nmi_enter() calling rcu_nmi_enter() I've always assumed that NMIs > are fully covered by RCU. > > If this isn't so, RCU it terminally broken :-) Most of the time it is. But for tracing that injects callbacks at arbitrary points of code, it can break. I've always said that tracing is a more sensitive context than NMI itself. The reason NMIs are sensitive is because they can happen pretty much anywhere. But tracing can happen also in the context switch that enters NMI. This is why function tracing does the "rude" RCU flavor (yes Paul, I'd love you to add that flavor!), that performs a schedule_on_each_cpu() before freeing anything. Because it traces when RCU is not watching. But RCU really shouldn't have to bend over backward for tracing, as tracing is the exception and not the norm. -- Steve