Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp2599039rwd; Fri, 26 May 2023 08:35:30 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5eKrtt2W3O1JJsPPW7cZxl0oNuSQVWqm2tKECONZ9XymprYR7P17WlT6dCwtPjthAsyhv+ X-Received: by 2002:a05:6a20:e30b:b0:10b:e90d:13a2 with SMTP id nb11-20020a056a20e30b00b0010be90d13a2mr2452522pzb.36.1685115330641; Fri, 26 May 2023 08:35:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685115330; cv=none; d=google.com; s=arc-20160816; b=N4H9VR/eN24W0ARhhBD59uW04P7p4zcyfLw/aS3oiGKv+AaNOKx04aIjS8CW4Fth8p Q69XpXB2W4zaZKoVZmPyBLUId+aKf+jM6SYX91V2HHVfpue8a6DIgO1g3mkGe7iIXt9G nfrwAnm+c701qVnmfNfge1xpHi4O81ZSTKwuSCT5kIRhugffMGgy0EbLfwdVXHdneG3m qfyPG+VnwtKRK4MaIBHRSY0qThPuKDAdaBeEYjmMXiDWMQVegcVjbk7CdYwI9icdnZMX MPhY+XIM2oAYwfycfW4Am6oSWCg5+nyTDLe0qRsterqt475HA6cT3WIAMdwa4MtpRPY+ 6Ubw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=waqV0kDOa+ddJeau0hKpduv9QqwA8k7WsskhKW4drm4=; b=dSd/HPB6eX0Ondd9Zy3N/PM48vjqpYCTpt9MLQ6H+C7ItTvJCA2DWUqFGtgjyQw6l4 f2a8FBmCFXjCtQ38PU+ob4w7EwsWLPNGwFWkS39a+8YwXgmMU8tp+U2XkqRVO/it/1p7 FGit0HCTJzcOajEg5LeAdF+ikghXcccgF3lpWBCJZP9exz4dirqlFJrA0uuZQPl4Ig8u PXGSQCU4X9tBapuSxoLCyz+tE0mklpM88Zw8250fmZpdIWOo+Hrz5FkkHsZAuLevmKTF AyWc5DW7pYv15zq7ZwJ+Vi9lt9M+cEj3R4r7OnJ4OxlO8PUl57qFd5V8DThj0xMxrO/f hjzg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20221208 header.b=57LUFJsF; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id z22-20020a637e16000000b0053b29394937si4135956pgc.816.2023.05.26.08.35.16; Fri, 26 May 2023 08:35:30 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20221208 header.b=57LUFJsF; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243804AbjEZPSA (ORCPT + 99 others); Fri, 26 May 2023 11:18:00 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55958 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237050AbjEZPR7 (ORCPT ); Fri, 26 May 2023 11:17:59 -0400 Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com [IPv6:2a00:1450:4864:20::32c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F2CE8199 for ; Fri, 26 May 2023 08:17:57 -0700 (PDT) Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-3f6a6b9bebdso71475e9.0 for ; Fri, 26 May 2023 08:17:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1685114276; x=1687706276; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=waqV0kDOa+ddJeau0hKpduv9QqwA8k7WsskhKW4drm4=; b=57LUFJsF5X9QzGbqPgZDHnM5glSnZN/Ke5ANgoMYt/cKrEcKHnoO6AbCKfPrxeWn5l Hk9dIzZ12tYYRTpYKpIABvlEiS8y/d2z19eSWO1EocyNWo+MuzYLQY/nsYv4eaY/521n 2Q4kl4BDLGqHq8AuLhRBNeBp5mmi5xf7aS/Zr48AMvfxyRqkEcqVL2lByrCgDd3S+1Gg gT+7SiIaw+kaTg7Ui4Ca/lv6hvXwi6zZm2iSkTDft4RZdJWE2sWsKMnK1wYInTktOEKa 6AiTPTtNoo2xy27JrBiBcAbIdiwM+lRj6+lDLf+0XZEX+7qgcP9lQLlwiGYlfFG9Cau7 LgfA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685114276; x=1687706276; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=waqV0kDOa+ddJeau0hKpduv9QqwA8k7WsskhKW4drm4=; b=P3DHbt1pWZWBZ5vzrSQIsx6jQzc7X2Ku5X2IFPgbhWmqvTEv9c57mhdySdE2hyOV12 9VOl2SNJsLQ3LZDcf6/h8Dt4xVS0IHSm+IvLHzhqaaKzHKHppkT/I1ReqIJJ0vBCI91c cmeTQB7HbmdDlQsHFRpzRfgenNPuOv8UyRiZftxwrQ+wQfGSrPuDK8kDKDcCLt2HbbiN JzkwcFxf30c/EOkII70V8iDU6XtirfSD5+BVH30bn2AEC7C65nPHCxqoPYBiYNwjZzXv Gx1w2tGWxGeFkFbzs3w6Ceh5Uh75w/uwD6wkNBbrbnYSeMoiGOQQYlTM/pqVgngopvgV CrYg== X-Gm-Message-State: AC+VfDxEk0paNFCid5i3mzRarB9I4jRx8zSnjTTKmKMsO4HWgMsGf37Z dT5hzsf7NegTGCbAvfbUcjpk8DRVHNe2vH+QtsplsA== X-Received: by 2002:a05:600c:6016:b0:3f2:4fd2:e961 with SMTP id az22-20020a05600c601600b003f24fd2e961mr121822wmb.0.1685114276163; Fri, 26 May 2023 08:17:56 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Ian Rogers Date: Fri, 26 May 2023 08:17:44 -0700 Message-ID: Subject: Re: [RFC] Adding Support for Firefox's Gecko Profile Format To: Namhyung Kim Cc: Anup Sharma , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Adrian Hunter , linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-17.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, ENV_AND_HDR_SPF_MATCH,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED,USER_IN_DEF_DKIM_WL, USER_IN_DEF_SPF_WL autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, May 25, 2023 at 1:53=E2=80=AFPM Namhyung Kim = wrote: > > Hi Anup, > > On Wed, May 24, 2023 at 12:25=E2=80=AFPM Anup Sharma wrote: > > > > Hello everyone, > > > > I'm happy to share that I'll be working on adding support for Firefox's= Gecko profile format. > > This format is utilized by the Firefox profiler, which is a powerful to= ol for performance analysis > > and debugging. By enhancing the perf data command to generate perf.data= files in the Gecko > > profile format, it will allow us to leverage the capabilities of the Fi= refox profiler for visualizing > > and analyzing the performance data. > > > > As a starter task, I have created a test for testing the perf data JSON= converter command. > > I'm also looking for a few more starter tasks related to this project. = I would greatly appreciate > > your advice and guidance. > > > > In my effort to identify any existing bugs, I have enabled flags like '= fsanitize=3Daddress' to detect > > potential issues but have not found any :). Additionally, I am running = perf data commands to ensure > > that all use cases are handled properly. > > Great, good to know it works well with asan for the basic use cases at le= ast. > > > > > I have one question regarding the installation process. Typically, I na= vigate to the perf directory, > > run 'make', and then cp 'perf' to '/usr/bin'. However, I noticed that b= y default, perf is installed in > > the '~/bin/perf' directory. Could someone please clarify why this is th= e case? Furthermore, I would > > like to know how all of you compile the perf tree. > > I guess $HOME is the default prefix unless you set it to other, then > make install will put > the binary there. You can make sure if your PATH contains the ~/bin and = use it. > > But it's also possible you can run the perf without installing. I > have a symlink in > my tmp directory to point to the recent build of the binary and use it > always. :) > To build, you can either 'cd tools/perf; make' or 'make -C tools/perf' > in the top > level linux source tree. I also pass "BUILD_BPF_SKEL=3D1" to enable BPF. > > Thanks, > Namhyung I quite often test with address sanitizer, I do this by passing to make: DEBUG=3D1 EXTRA_CFLAGS=3D"-O0 -g -fno-omit-frame- pointer -fsanitize=3Daddress" NO_LIBTRACEEVENT=3D1 The libtraceevent exclusion is to avoid false address sanitizer warnings in libtraceevent (it wasn't compiled with address sanitizer). The other flags are to make the code easier to debug. A good place to start for a description of the build flags is Makefile.perf: https://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git/tree/tools/p= erf/Makefile.perf?h=3Dperf-tools-next There's also some description here: https://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git/tree/tools/p= erf/Documentation/Build.txt?h=3Dperf-tools-next Perhaps you can suggest improvements :-) Thanks, Ian > > > > Thank you for your support and I'm looking forward to collaborating wit= h you on this project!