Received: by 2002:a25:c205:0:0:0:0:0 with SMTP id s5csp7218714ybf; Fri, 6 Mar 2020 12:46:44 -0800 (PST) X-Google-Smtp-Source: ADFU+vuICJWQ2Xls9Qmt1ZyWAHa/z5VQlx4BysE4nLnt3YgxQNMx4d6MPCNIaEjtAN4uAPLtBXnn X-Received: by 2002:aca:5651:: with SMTP id k78mr3802005oib.153.1583527604824; Fri, 06 Mar 2020 12:46:44 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1583527604; cv=none; d=google.com; s=arc-20160816; b=v4yJk0EeF2768CPrZyyQAFxcdW81ZKiUFTgnRJrGtQJy1re9IfKFy1E3k3XcXpl8qN zfgbFFew1lScHLDd3HFI0KYQbawt75UKozdLv/xkIODVXPTxQTLbuClgJF9w/QDKmqXd KJYX7Adl9dXY2wn3Wl72dk6DjykgOUFb6PxsVtE5aSzYsKD6NyUr90DZt1WKGtwn2D5G V6F9xTsJc08QJuxwjBHCcaQia6EOYvQLgavSesPQvgnaTuSzrjETuwI3rtabWl4N2GRx kK2+1lqcwkssgkfnAOMlmPQEMTxLHIy4cTLg9UHmnb+q/9OgU5hJ1rjv/i3fRE+YqMOV HdLA== 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=V19c9WWevTcdN37vs/D0eOA/qnuVKW6Rx7DHE+maD1o=; b=zXYPl1/MQse3HWUeUqOZ1EQkAYk4/zBf5PpBHjmyS7Fa8NP0Zknuvjbbnljr0p8Er+ ZBamYJTrXLe82DJrtqByVURfdU3D6MDjfFUPXFWZbTFQlpYdEzQkScP1aPgTp2Pz9HAx tiXRkYvioDsSxd7CzENCwnAsBnxuUIVmXqmxOKMeqPIV76Gyh9HDCWc7PdIVJCsOU+fu IBki1EG0vcXE1rpRCkuyW4swLMhrIyxE8IDUlXbNDTt8HyqYj8tAXWNuZc0flHXrQ3k6 TBRhF7dbDT7bkYsIhQufjBNzrTg5FT4tilCcZ4kgXkVjdS7x37OWbwE4QVWVZuPs0f3u phPQ== 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 b12si277013oic.260.2020.03.06.12.46.33; Fri, 06 Mar 2020 12:46:44 -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 S1726751AbgCFUqC (ORCPT + 99 others); Fri, 6 Mar 2020 15:46:02 -0500 Received: from mail.kernel.org ([198.145.29.99]:38504 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725922AbgCFUqA (ORCPT ); Fri, 6 Mar 2020 15:46:00 -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 2313C206CC; Fri, 6 Mar 2020 20:45:58 +0000 (UTC) Date: Fri, 6 Mar 2020 15:45:56 -0500 From: Steven Rostedt To: Mathieu Desnoyers Cc: Alexei Starovoitov , Peter Zijlstra , linux-kernel , linux-arch , Ingo Molnar , "Joel Fernandes, Google" , Greg Kroah-Hartman , "Gustavo A. R. Silva" , Thomas Gleixner , paulmck , Josh Triplett , Lai Jiangshan , Andy Lutomirski , Tony Luck , Frederic Weisbecker , dan carpenter , Masami Hiramatsu Subject: Re: [PATCH v4 16/27] tracing: Remove regular RCU context for _rcuidle tracepoints (again) Message-ID: <20200306154556.6a829484@gandalf.local.home> In-Reply-To: <609624365.20355.1583526166349.JavaMail.zimbra@efficios.com> References: <20200221133416.777099322@infradead.org> <20200221134216.051596115@infradead.org> <20200306104335.GF3348@worktop.programming.kicks-ass.net> <20200306113135.GA8787@worktop.programming.kicks-ass.net> <1896740806.20220.1583510668164.JavaMail.zimbra@efficios.com> <20200306125500.6aa75c0d@gandalf.local.home> <609624365.20355.1583526166349.JavaMail.zimbra@efficios.com> 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 Fri, 6 Mar 2020 15:22:46 -0500 (EST) Mathieu Desnoyers wrote: > I agree with the overall approach. Just a bit of nitpicking on the API: > > I understand that the "prio" argument is a separate argument because it can take > many values. However, "rcu" is just a boolean, so I wonder if we should not rather > introduce a "int flags" with a bitmask enum, e.g. I thought about this approach, but thought it was a bit overkill. As the kernel doesn't have an internal API, I figured we can switch this over to flags when we get another flag to add. Unless you can think of one in the near future. > > int tracepoint_probe_register_prio_flags(struct tracepoint *tp, void *probe, > void *data, int prio, int flags) > > where flags would be populated through OR between labels of this enum: > > enum tracepoint_flags { > TRACEPOINT_FLAG_RCU = (1U << 0), > }; > > We can then be future-proof for additional flags without ending up calling e.g. > > tracepoint_probe_register_featurea_featureb_featurec(tp, probe, data, 0, 1, 0, 1) No, as soon as there is another boolean to add, the rcu version would be switched to flags. I even thought about making the rcu and prio into one, and change prio to be a SHRT_MAX max, and have the other 16 bits be for flags. -- Steve > > which seems rather error-prone and less readable than a set of flags.