Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp2245068ybt; Sun, 28 Jun 2020 12:45:15 -0700 (PDT) X-Google-Smtp-Source: ABdhPJznVDyv8KcKbAdrMTPcwTCIv9ian+6ZIkrRKmT/lBAJ36QhpcZBIBjWt0mV0pBxW5udNjeQ X-Received: by 2002:a17:906:33ca:: with SMTP id w10mr3247604eja.171.1593373515588; Sun, 28 Jun 2020 12:45:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1593373515; cv=none; d=google.com; s=arc-20160816; b=qphmWvi4h6DgQiaMVgTgMlPKvhQSnew7dOFC5WF2uUisVw/KBAs7ZR6WDs5ncaKTcu 3Li+XhYYu+8u+hf5L56xaLRoKWtbwOr9R1/vGnIteCJIm1pWrMqJ5r+/RXy/YptNrEP2 bjOj/dFTtTJahC3IkRP2MCt8twyWhxXjImOux7FS18DOYv5zSe2XyWK3Fhbpc7m6pleg AJfDiDtT8KOrdyGHmghXjd6iDmz/l9EryEQAlAnnYudl8MEnWp/wI7RihgnGYTCBawOB qdKxkJsDSeTSzHfQ5B6gnCwKvoy/fxJkNmayHzSf9l9Ndh0VkOIKV8t1Dm/xuh/7OX5k l5cw== 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=N1RRdoQvrGNzH5hwtjYK4KKsdhf+TtEVJbbIYLw25CM=; b=lOkUqk0rjL6YVu1JfRgylI2mAOjfaX84yWe2kfEub3+UmHKpIrgOlpT77bsjQmGLh2 YFRHbn55zV26OtC7jodzvM0JIcDzTAzxbUMeOa8EQmd94m3IujqFANimWIDN3JeHL1yv fAlm+UFP9VP8NlLqIgN0WD64TdesrDO4iPgnGDemxPuckkYuIczbHIQsaN7G43vLZCtB L+OsM47Zq5F9y+JgrmBby5+oQRhbNcdESZbnXyDjAKopva5bVU3erVlPgXqHBv8BRD77 6WX1qF/UrMOaiM3qE+iSn3uAm4q5xoBekqsvM+DVmJ6AjEtSV4ePwzoSovxNrLG4tXQN lp2Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id n6si3763349edq.34.2020.06.28.12.44.53; Sun, 28 Jun 2020 12:45:15 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726775AbgF1Tng (ORCPT + 99 others); Sun, 28 Jun 2020 15:43:36 -0400 Received: from mail.kernel.org ([198.145.29.99]:45394 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726675AbgF1Tng (ORCPT ); Sun, 28 Jun 2020 15:43:36 -0400 Received: from oasis.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 92FF9206A1; Sun, 28 Jun 2020 19:43:33 +0000 (UTC) Date: Sun, 28 Jun 2020 15:43:31 -0400 From: Steven Rostedt To: Alexei Starovoitov Cc: Nicolas Boichat , LKML , Ingo Molnar , Andrew Morton , Kees Cook , Jason Gunthorpe , Daniel Vetter , Peter Zijlstra , Vinod Koul , Andy Shevchenko , Alexey Dobriyan , Tiezhu Yang , Thomas Gleixner , "Guilherme G . Piccoli" , Will Deacon , Douglas Anderson , Guenter Roeck , bpf@vger.kernel.org Subject: Re: [PATCH] kernel/trace: Add TRACING_ALLOW_PRINTK config option Message-ID: <20200628154331.2c69d43e@oasis.local.home> In-Reply-To: <20200628192107.sa3ppfmxtgxh7sfs@ast-mbp.dhcp.thefacebook.com> References: <20200624084524.259560-1-drinkcat@chromium.org> <20200624120408.12c8fa0d@oasis.local.home> <20200625035913.z4setdowrgt4sqpd@ast-mbp.dhcp.thefacebook.com> <20200626181455.155912d9@oasis.local.home> <20200628172700.5ea422tmw77otadn@ast-mbp.dhcp.thefacebook.com> <20200628144616.52f09152@oasis.local.home> <20200628192107.sa3ppfmxtgxh7sfs@ast-mbp.dhcp.thefacebook.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 Sun, 28 Jun 2020 12:21:07 -0700 Alexei Starovoitov wrote: > > Re-teach them, or are you finally admitting that the tracing system is > > a permanent API? This is the reason people are refusing to add trace > > points into their subsystems. Because user space may make it required. > > > > I see no reason why you can't create a dedicated BPF tracing instance > > (you only need one) to add all your trace_array_printk()s to. > > All bpf helpers are stable api. We cannot remove bpf_trace_printk() and > cannot change the fact that it has to print into /sys/kernel/debug/tracing/trace. Then do a bpf trace event and enable it when a bpf_trace_printk() is loaded. It will work the same for your users. > If we do so a lot of users will complain. Loudly. > If you really want to see the flames, go ahead and rename 'trace_pipe' > into something else. The layout of the tracefs system *is* a stable API. No argument there. > This has nothing to do with tracing in general and tracepoints. > Those come and go. And in this case, trace_printk() is no different than any other trace event. Obviously, your use case doesn't let it go. If some tool starts relying on another trace event (say someone adds another bpf handler that enables a trace event, and is documented) then under your scenario, it's a stable API. Hence, your "tracepoints come and go" is not universal, and there's no telling which ones will end up being a stable API. > If you really want to nuke trace_printk from the kernel we need time > to work on replacement and give users at least few releases of helper > deprecation time. I never said I would nuke it. This patch in question makes it so those that don't want that banner to ever show up can do so. A trace-printk() is something to add via compiling. And since I and others use it heavily for debugging, I would have this option not be a default, but something that others can enable. > We've never done in the past though. > There could be flames even if we deprecate it gradually. > Looking how unyielding you're about this banner I guess we have to start > working on replacement sooner than later. Oh well. Hmm, so you are happier to bully and burn bridges with me to deprecate the trace_printk() interface, than to work with me and add an update to look into an instance for the print instead of the top level? That's not very collaborative. -- Steve