Received: by 2002:a05:6a10:af89:0:0:0:0 with SMTP id iu9csp112296pxb; Thu, 27 Jan 2022 16:30:09 -0800 (PST) X-Google-Smtp-Source: ABdhPJwKRLArfXKQXZLgKlDYAD/qKFIK3o6iuAcxVK2b13PzTkb1sxM5qnH5zLR4f+kEFOyaYx01 X-Received: by 2002:a17:907:8a1d:: with SMTP id sc29mr4842262ejc.326.1643329809049; Thu, 27 Jan 2022 16:30:09 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643329809; cv=none; d=google.com; s=arc-20160816; b=u96AX/6cV2dUMD+T+z8h/vpm0HgZRM6XAVMVlsJAgWaBeV1pwls1V1Zy830XHSJNi0 m83cZahzxIsNDsWw0eJmFa9oVz6QK9vK9D95h9eR2p7O8Rpit/UiBMb3t2ncVgndgcJ2 Z11aSaELqU4qBEGYWcyQNQ14NidWjuy9zrLX0vcOfk8mQSo+ncWejBQ5lt1MIXTBjuCj aNcc5mb5sw5fdVG8N4X1UVhVjCER31pIv1dWk5+lfy33zaVo0kxewYvTwYUhZyQQ09pc Pu9qN+IRDAO/lkC0BU10ysDWqdK9ISjmFtmUu2YslFTVsA6ryDjBOKjwVqj7CewbnkC9 Mu5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=C74jfdbNawsIBV6R7zfjbmW2XPSzvOksBpOCdplGLqY=; b=rKjlMuYFBxPyRMwjgIkaL77VVjCQMk/OCWZ+NRjnTGi+9nwWTreMUkp+rGYX/8J06P qZeZOGmZFi0ZcBcklWH0KmX3G6n+MwNIWjH7dXyamUSBX9JxWs36xbJmqs5d+NR4eh3e jzt9uRe5Tyosqty9LU9736cdLrW7Z4bVQDkJPauRazPpa/bIdQmv7+cUmXpZQUeLjQcB fDeJZy+tGgnXgD5tAegRg9o+bu5qpgvU0zeYq/Q4hovtfGppqMr8Zmdf/516VO2mRtiy 87Ve1aWaSbgkCFSAn1+AcJIFIONz/sLFkhK+7ob02HENg86S1hyHPMpZtAT3szBVzIVI Y06A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=gTEc3lRd; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id y13si2649303eda.1.2022.01.27.16.29.43; Thu, 27 Jan 2022 16:30:09 -0800 (PST) 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; dkim=pass header.i=@gmail.com header.s=20210112 header.b=gTEc3lRd; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241670AbiA0NTk (ORCPT + 99 others); Thu, 27 Jan 2022 08:19:40 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:32956 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236333AbiA0NTj (ORCPT ); Thu, 27 Jan 2022 08:19:39 -0500 Received: from mail-qv1-xf36.google.com (mail-qv1-xf36.google.com [IPv6:2607:f8b0:4864:20::f36]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 046D2C061714; Thu, 27 Jan 2022 05:19:39 -0800 (PST) Received: by mail-qv1-xf36.google.com with SMTP id g11so2769202qvu.3; Thu, 27 Jan 2022 05:19:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=C74jfdbNawsIBV6R7zfjbmW2XPSzvOksBpOCdplGLqY=; b=gTEc3lRdhx7971tbOcZqznnIvd8m7BHhKe4pS5w4jH8y0NLOjLCWVNCHkajLrd13ha u+OHYdzSy/gCvVVvX1WrsvDrIkCgigqI20f0JGovIhoAAQG1nNvrcf7FqZH2GvNYPDCx XoYBB0/sl7gaSZT2I8Z4uwfmVyJq5WPDmkevZbaIYEKTjgLzBshxYZONJphIT4Elvol8 Q/8FBfBU/i0gJuzdU6xUqlPeNC1DJBeP6XLal5QiliGs7IuxW6nTNi8ksmf94qVackQW wsq6bXmO7C4SUK54oFooF++/OTWFfd2F8xk9FTjSO9wFHPbldgW9UqfUUmVL+1qpswMD I8Tg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=C74jfdbNawsIBV6R7zfjbmW2XPSzvOksBpOCdplGLqY=; b=24TgOjkjttJJN4QFsuA+OsPm2S4SR+Qt+Z69mvMeHmshkTyZECGupH7dY6lZRTbdKy 1R+TSgZr6qweA7ShqgR5hpna2LgNvRqwoHGCBnmF7hCmqOFUal8oFcw+BcYsVFAla1/u P0Y+VJsTkNyFSlkWv9qBd4/qU6+Op7uQPDIKjWkHCK4lq9nJEFPMy2ESGXfOp7k23Tu0 J/+Voy93TN1orC/+Rt8BL6xjTpsoAevjFiJkqxNMsCaaUagNig5q8EWBSXz+2CbP4ysO M8QhZVl3AyaWuhtXvIOnyxEN6PWNWgDFwJnsHb/UAE8VHUT94bbwPyBGUw1hAkPgC6Zj tYbA== X-Gm-Message-State: AOAM532QQoQbMDxFIUpi1rNNUTG3qxKb7OsLxrvOijv4ys4xCVwDWUV6 twSovC/eLsL+MC/SaJHcAGY= X-Received: by 2002:a05:6214:e49:: with SMTP id o9mr2851724qvc.13.1643289578138; Thu, 27 Jan 2022 05:19:38 -0800 (PST) Received: from mail.google.com ([207.246.89.135]) by smtp.gmail.com with ESMTPSA id a16sm1379263qtx.7.2022.01.27.05.19.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Jan 2022 05:19:37 -0800 (PST) Date: Thu, 27 Jan 2022 21:19:29 +0800 From: Changbin Du To: Namhyung Kim Cc: Changbin Du , Arnaldo Carvalho de Melo , Peter Zijlstra , Ingo Molnar , Jiri Olsa , linux-perf-users , linux-kernel Subject: Re: [PATCH] perf/ftrace: system_wide collection is not effective by default Message-ID: <20220127131929.ydxtkpbguk7fyho5@mail.google.com> References: <20220126151921.2519-1-changbin.du@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Jan 26, 2022 at 03:47:48PM -0800, Namhyung Kim wrote: > Hello, > > On Wed, Jan 26, 2022 at 7:19 AM Changbin Du wrote: > > > > The ftrace.target.system_wide must be set before invoking > > evlist__create_maps(), otherwise it has no effect. > > Oh, right. Thanks for pointing that out. > > > > > Fixes: 53be50282269 ("perf ftrace: Add 'latency' subcommand") > > Signed-off-by: Changbin Du > > --- > > tools/perf/builtin-ftrace.c | 45 ++++++++++++++++++++----------------- > > 1 file changed, 24 insertions(+), 21 deletions(-) > > > > diff --git a/tools/perf/builtin-ftrace.c b/tools/perf/builtin-ftrace.c > > index dec24dc0e767..26bff29ad277 100644 > > --- a/tools/perf/builtin-ftrace.c > > +++ b/tools/perf/builtin-ftrace.c > > @@ -1115,6 +1115,7 @@ enum perf_ftrace_subcommand { > > int cmd_ftrace(int argc, const char **argv) > > { > > int ret; > > + int (*cmd_func)(struct perf_ftrace *) = NULL; > > struct perf_ftrace ftrace = { > > .tracer = DEFAULT_TRACER, > > .target = { .uid = UINT_MAX, }, > > @@ -1221,6 +1222,28 @@ int cmd_ftrace(int argc, const char **argv) > > goto out_delete_filters; > > } > > > > + switch (subcmd) { > > + case PERF_FTRACE_TRACE: > > + if (!argc && target__none(&ftrace.target)) > > + ftrace.target.system_wide = true; > > We can move only this part after parse_options(). > I prefer that all parsing works get be done first. :) > > + cmd_func = __cmd_ftrace; > > + break; > > + case PERF_FTRACE_LATENCY: > > + if (list_empty(&ftrace.filters)) { > > + pr_err("Should provide a function to measure\n"); > > + parse_options_usage(ftrace_usage, options, "T", 1); > > + ret = -EINVAL; > > + goto out_delete_evlist; > > Otherwise, it should go to the out_delete_filters. > yes, will fix it. > > + } > > + cmd_func = __cmd_latency; > > + break; > > + case PERF_FTRACE_NONE: > > + default: > > + pr_err("Invalid subcommand\n"); > > + ret = -EINVAL; > > + goto out_delete_evlist; > > Ditto. > okay. > Thanks, > Namhyung > > > > + } > > + > > ret = target__validate(&ftrace.target); > > if (ret) { > > char errbuf[512]; > > @@ -1248,27 +1271,7 @@ int cmd_ftrace(int argc, const char **argv) > > goto out_delete_evlist; > > } > > > > - switch (subcmd) { > > - case PERF_FTRACE_TRACE: > > - if (!argc && target__none(&ftrace.target)) > > - ftrace.target.system_wide = true; > > - ret = __cmd_ftrace(&ftrace); > > - break; > > - case PERF_FTRACE_LATENCY: > > - if (list_empty(&ftrace.filters)) { > > - pr_err("Should provide a function to measure\n"); > > - parse_options_usage(ftrace_usage, options, "T", 1); > > - ret = -EINVAL; > > - goto out_delete_evlist; > > - } > > - ret = __cmd_latency(&ftrace); > > - break; > > - case PERF_FTRACE_NONE: > > - default: > > - pr_err("Invalid subcommand\n"); > > - ret = -EINVAL; > > - break; > > - } > > + ret = cmd_func(&ftrace); > > > > out_delete_evlist: > > evlist__delete(ftrace.evlist); > > -- > > 2.32.0 > > -- Cheers, Changbin Du