Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp2434872ybi; Thu, 4 Jul 2019 11:03:15 -0700 (PDT) X-Google-Smtp-Source: APXvYqwljQc0GMjYdaey50xAoiClRgQy2TmGrOTovA1a6rVvZnTu/ASrMDHR2INF6O2/uFWbdq7M X-Received: by 2002:a65:5347:: with SMTP id w7mr44351702pgr.375.1562263395095; Thu, 04 Jul 2019 11:03:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1562263395; cv=none; d=google.com; s=arc-20160816; b=TbrsUNCv/iVLE2NWWeEgu8tWTh9i6ViaEjS1QduNE7PQl4uaE14qcUFUljvyItn0gK PL4nbfqLrq7WaigpDGAUgP93EHtQLXbBRtAQRHNb+Fbkjf85hkoJ2y3o1xr2fWQQtwh7 +ZwGRCAmz/cMcHQ2SigKqRZRoNwLkjcawjTca36/xPBz79ImoUuFReIKHm2RUJ0dw2KN rcqI7qARHW4mWAWIpLTdQ4HumI/DAMfiJKIGy9swgkZU1WaP+1d46sYvjXrcv07T5mHT pqmTdR6oRsuGI02KiSQ3WIKAcJLzNFjgyvK333ODdLAOe1oNDWoIJ60XuSvIUQNRQ29I 3t8g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=bVkyOsnwbLJnvov8gKU5rdvTrE1Z1ljmL0ULAFvpbeg=; b=ybEuHmGuiAui9pz3VOy9HrByHppMM2AobF+awTywL6ecxoosYnG0CoBaRQ2NsyYKfe FqZjFBn2Q2HjJFPDHwwIXz6lkAy9oKY7pZLQIW1AtKvp+d9NviYefc6bFL6PcMFBTIzB r/j0uzod+XulpjkLH+SWlAdZvj785PiEl1LB9L4pWAWJvDUuTZ3BzFw9ehpMi/egjxCp scZ+jzEi+yKl1FlMwRpxePZgeaGGkJKoWqx2DERoNSQb7vXfxCm70MJ3eYg/huEN+VXK lh79JE6c+BXM5a8K9CcbndjvibneyC+eyawW4rirduYN0pM67FI4dpxbzZWGbclgPVd2 fOrQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=bGG9ggHK; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f6si5485384plo.382.2019.07.04.11.03.00; Thu, 04 Jul 2019 11:03:15 -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; dkim=pass header.i=@gmail.com header.s=20161025 header.b=bGG9ggHK; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726870AbfGDRNf (ORCPT + 99 others); Thu, 4 Jul 2019 13:13:35 -0400 Received: from mail-wm1-f65.google.com ([209.85.128.65]:52415 "EHLO mail-wm1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726012AbfGDRNe (ORCPT ); Thu, 4 Jul 2019 13:13:34 -0400 Received: by mail-wm1-f65.google.com with SMTP id s3so6395995wms.2; Thu, 04 Jul 2019 10:13:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=bVkyOsnwbLJnvov8gKU5rdvTrE1Z1ljmL0ULAFvpbeg=; b=bGG9ggHK/zW4uS7jJqgIgO+nREbqlh4Ev3uIK7HHlROlCbzGlJshPiqPNofyKOE88S CMzUglWE1UfZiR+IyiGgZVAbmVf/VvDqirzBJXXRpQMEUuQVUtywXc/M+NuYvYoIk3FX dpEO1rgNJ3rAiujbOWsaGln5p03adEPu8SUGw8LdAygow3wdWtZZSJBm7JzBtduparMQ eFxV1XOwaCdM8Kp9P0pU4axlHiZ78dzFzY5ci6AE7JByAHXECRPrFZR6yddUJEOOgZeg nnBPg09c7oFyBVwKFia/9KOF1YWLNps8jZQGbkWPMtkdH3JsWwbM/nyJP3efUlZyXPeP uwNw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=bVkyOsnwbLJnvov8gKU5rdvTrE1Z1ljmL0ULAFvpbeg=; b=rAEObOvk3WVK4jmzKbmEC2Zn2dDxMjQFdJJIKYGo9pIL20Sl9BQ6KTKhKwnKOLHyDs XI1rkrB/S+Gzb7mdqNHWjgGM63BjkHW5nRxdzY5HMJgYr1PWdff83oVnudKDEJ+gd6iQ at/M4wSmwRdoLy1sQCsOOatFkHy/KgfolM0PYhfGGX+QQ7AUuyD/fjgNksXko6MPmc55 iQMMdKCek9y7ZS+EAVrpS4G+xGaXKBxb89Uvaqd5gght/wl+S+NhWuLtxs8SbssM1A3D Hyc0QBPG+AtO1h/+n39rbDsdplIECmbK3zNvHmyvCZGYNEF1YipXXYxAtNFgpFAUxp/m f/7A== X-Gm-Message-State: APjAAAV9B/JRu4boUnbhIJqSvdgSI6wabWz+aas2gwd2vwUdP133z1mf CPR7BlijC+d90GLH2ViVC0SBUQHHDJ+RMfwnbgc= X-Received: by 2002:a7b:c106:: with SMTP id w6mr419153wmi.80.1562260412563; Thu, 04 Jul 2019 10:13:32 -0700 (PDT) MIME-Version: 1.0 References: <201907040313.x643D8Pg025951@userv0121.oracle.com> <201907040314.x643EUoA017906@aserv0122.oracle.com> In-Reply-To: <201907040314.x643EUoA017906@aserv0122.oracle.com> From: Brendan Gregg Date: Thu, 4 Jul 2019 10:13:06 -0700 Message-ID: Subject: Re: [PATCH 1/1] tools/dtrace: initial implementation of DTrace To: Kris Van Hees Cc: netdev@vger.kernel.org, bpf@vger.kernel.org, dtrace-devel@oss.oracle.com, LKML , Steven Rostedt , Masami Hiramatsu , Arnaldo Carvalho de Melo , Alexei Starovoitov , Daniel Borkmann , Peter Zijlstra , Chris Mason Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Jul 3, 2019 at 8:17 PM Kris Van Hees wrote: > > This initial implementation of a tiny subset of DTrace functionality > provides the following options: > > dtrace [-lvV] [-b bufsz] -s script > -b set trace buffer size > -l list probes (only works with '-s script' for now) > -s enable or list probes for the specified BPF program > -V report DTrace API version > > The patch comprises quite a bit of code due to DTrace requiring a few > crucial components, even in its most basic form. This patchset has moved from adding tests (which actually belong in selftests, not tools/dtrace), to the start of adding a giant tracer to the kernel code base. First, in some ways you're doing this for me -- I've been the number one user of DTrace for 15 years -- and thanks, but no thanks. I don't need this anymore. I needed this 6 years ago, and I would have helped you build it, but in the meantime Linux has built something better, built from the ground up for BPF: bpftrace. Second, you argued that DTrace was needed because of speculative tracing (a feature I never used), as you had customers who wanted it. Those customers aren't going to be happy with this initial tiny implementation of DTrace -- this is really the start of adding a large and complex tracer to the kernel. We've all been working under the assumption that these user-space tracers did not belong in the kernel, and so far that's been working fine for us. Is it now open season for tracers in the kernel? Let's have: tools/bpftrace tools/ply tools/systemtap tools/LTTng tools/sysdig tools/ktap etc Yes, that's ridiculous. If there's only going to be one, let's have the best one, bpftrace. We'll offer a version that is GPL, C, and has no dependencies. But it would be news to us all that we're allowed to have even one. There are more things that don't make sense about this, but I'll stop here for now. Brendan