Received: by 2002:a05:7412:3784:b0:e2:908c:2ebd with SMTP id jk4csp2116447rdb; Tue, 3 Oct 2023 10:38:18 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEWgW1/jjvxMhIy0tN28H/tm03aF7ADzFmYVUUhG/B9AIQ+RAXWyUwIYPx1Tq1GbvqVB0XJ X-Received: by 2002:a05:6870:d7a7:b0:1db:8252:9063 with SMTP id bd39-20020a056870d7a700b001db82529063mr309766oab.24.1696354696242; Tue, 03 Oct 2023 10:38:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696354696; cv=none; d=google.com; s=arc-20160816; b=C/GFy2aSXYK0AhtL0cdPC3QZKNAsPQppkMYx9qMK9NSzZhtBUhhNH7JlgkzKOe/B8m mSwwBch1XvVqAE/JIBkaHaSslDOUaJ713D+gUr177h701KAYSdOQNGIckAb8za8gZlch /j1qfBN674eF5Sw4xjsboa5kw0Qy/PJ5NHk4Ea3abLpIOLXYF+YKaeHnZfhIL/SpXilI NI1mjD/9o+WCuDE0459+WKC697JGftB6LGoCc6CY5sXtQ00co0YXIiRz/Atm8XE9D5Tt t4dz1pyrvOKE+YqglR2Nf5k+1XA5hajJadYojKA7BBHNjxx/z+WjGbE61bw4KPXNgo1P g02A== 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 :references:in-reply-to:message-id:subject:cc:to:from:date; bh=Y0PzETQ9L1eCOLtxpB7x+NkQRWc4pNvibb2RqIRLwbA=; fh=oZDm1xtFxu45cSuGo3PARkaoSLechv+u4NnnysE2mhE=; b=qvzp0+Dpk/bJbWCf/a9yYgDIeJvGrSpezE6WY5Nro5KuINMV8os/jjMbzhbpG4UEWB G5Iu9yiA/n/twH5Z2XmQSzGjKN0+0lq8JH2mf7kgUHifetO/+vneE7tr8gmfIiegTFfN k8HgpCF5cYvRPtJaEAWPsvpS77jWDuP2be7PrWzlD5qAn/sBTTQ1VO1lCdldVLHsHo8E jS5jTODukU49Qan6UCXEVSTgu31+Q7ddgHddUH4xh9b0YCOEwv/cflaGGuTlCInRT2bm rVmTOCyTM1btmrPDxdSSf/dZDRXUjzODOqife3tXcNSOdj3dCNrl0C0UczvO7/OY4ZWm sFRQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from groat.vger.email (groat.vger.email. [2620:137:e000::3:5]) by mx.google.com with ESMTPS id b130-20020a633488000000b0057c3fb18aafsi1898945pga.78.2023.10.03.10.38.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Oct 2023 10:38:16 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) client-ip=2620:137:e000::3:5; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id 4A21580BF4D2; Tue, 3 Oct 2023 10:38:13 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at groat.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240550AbjJCRiG (ORCPT + 99 others); Tue, 3 Oct 2023 13:38:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56296 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231892AbjJCRiF (ORCPT ); Tue, 3 Oct 2023 13:38:05 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 46930A6 for ; Tue, 3 Oct 2023 10:38:01 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id BA6D4C433C8; Tue, 3 Oct 2023 17:37:53 +0000 (UTC) Date: Tue, 3 Oct 2023 13:38:56 -0400 From: Steven Rostedt To: "Paul E. McKenney" Cc: Mathieu Desnoyers , linux-kernel@vger.kernel.org, Michael Jeanson , Peter Zijlstra , Alexei Starovoitov , Yonghong Song , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , bpf@vger.kernel.org, Joel Fernandes Subject: Re: [RFC PATCH v3 1/5] tracing: Introduce faultable tracepoints (v3) Message-ID: <20231003133856.2879f36f@gandalf.local.home> In-Reply-To: <99ec6025-c170-459c-8b43-58cf1a85f832@paulmck-laptop> References: <20231002202531.3160-1-mathieu.desnoyers@efficios.com> <20231002202531.3160-2-mathieu.desnoyers@efficios.com> <20231002191023.6175294d@gandalf.local.home> <97c559c9-51cf-415c-8b0b-39eba47b8898@paulmck-laptop> <20231002211936.5948253e@gandalf.local.home> <5d0771e9-332c-42cd-acf3-53d46bb691f3@paulmck-laptop> <20231003100854.7285d2a9@gandalf.local.home> <99ec6025-c170-459c-8b43-58cf1a85f832@paulmck-laptop> X-Mailer: Claws Mail 3.19.1 (GTK+ 2.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on groat.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (groat.vger.email [0.0.0.0]); Tue, 03 Oct 2023 10:38:13 -0700 (PDT) On Tue, 3 Oct 2023 10:33:33 -0700 "Paul E. McKenney" wrote: > On Tue, Oct 03, 2023 at 10:08:54AM -0400, Steven Rostedt wrote: > > On Tue, 3 Oct 2023 06:44:50 -0700 > > "Paul E. McKenney" wrote: > > > > > > That way it is clear what uses what, as I read the original paragraph a > > > > couple of times and could have sworn that rcu_read_lock_trace() required > > > > tasks to not block. > > > > > > That would work for me. Would you like to send a patch, or would you > > > rather we made the adjustments? > > > > Which ever. > > OK, how about like this? Reviewed-by: Steven Rostedt (Google) Link: https://lore.kernel.org/all/20231002211936.5948253e@gandalf.local.home/ -- Steve > > Thanx, Paul > > ------------------------------------------------------------------------ > > commit 973eb79ec46c16f13bb5b47ad14d44a1f1c79dc9 > Author: Paul E. McKenney > Date: Tue Oct 3 10:30:01 2023 -0700 > > doc: Clarify RCU Tasks reader/updater checklist > > Currently, the reader/updater compatibility rules for the three RCU > Tasks flavors are squished together in a single paragraph, which can > result in confusion. This commit therefore splits them out into a list, > clearly showing the distinction between these flavors. > > Reported-by: Steven Rostedt > Signed-off-by: Paul E. McKenney > > diff --git a/Documentation/RCU/checklist.rst b/Documentation/RCU/checklist.rst > index bd3c58c44bef..c432899aff22 100644 > --- a/Documentation/RCU/checklist.rst > +++ b/Documentation/RCU/checklist.rst > @@ -241,15 +241,22 @@ over a rather long period of time, but improvements are always welcome! > srcu_struct. The rules for the expedited RCU grace-period-wait > primitives are the same as for their non-expedited counterparts. > > - If the updater uses call_rcu_tasks() or synchronize_rcu_tasks(), > - then the readers must refrain from executing voluntary > - context switches, that is, from blocking. If the updater uses > - call_rcu_tasks_trace() or synchronize_rcu_tasks_trace(), then > - the corresponding readers must use rcu_read_lock_trace() and > - rcu_read_unlock_trace(). If an updater uses call_rcu_tasks_rude() > - or synchronize_rcu_tasks_rude(), then the corresponding readers > - must use anything that disables preemption, for example, > - preempt_disable() and preempt_enable(). > + Similarly, it is necssary to correctly use the RCU Tasks flavors: > + > + a. If the updater uses synchronize_rcu_tasks() or > + call_rcu_tasks(), then the readers must refrain from > + executing voluntary context switches, that is, from > + blocking. > + > + b. If the updater uses call_rcu_tasks_trace() > + or synchronize_rcu_tasks_trace(), then the > + corresponding readers must use rcu_read_lock_trace() > + and rcu_read_unlock_trace(). > + > + c. If an updater uses call_rcu_tasks_rude() or > + synchronize_rcu_tasks_rude(), then the corresponding > + readers must use anything that disables preemption, > + for example, preempt_disable() and preempt_enable(). > > Mixing things up will result in confusion and broken kernels, and > has even resulted in an exploitable security issue. Therefore,