Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753152AbbEQLBU (ORCPT ); Sun, 17 May 2015 07:01:20 -0400 Received: from szxga01-in.huawei.com ([58.251.152.64]:61474 "EHLO szxga01-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753191AbbEQK6L (ORCPT ); Sun, 17 May 2015 06:58:11 -0400 From: Wang Nan To: , , , , , , , , , , CC: , , Subject: [RFC PATCH v3 35/37] perf tools: Add a bpf_wrapper global flag Date: Sun, 17 May 2015 10:57:00 +0000 Message-ID: <1431860222-61636-36-git-send-email-wangnan0@huawei.com> X-Mailer: git-send-email 1.8.3.4 In-Reply-To: <1431860222-61636-1-git-send-email-wangnan0@huawei.com> References: <1431860222-61636-1-git-send-email-wangnan0@huawei.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.107.197.200] X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1799 Lines: 60 The newly introduced flag is a indicator for 'perf bpf'. When commands like 'cmd_record' is started using 'perf bpf', they should consider the binding of bpf programs. Signed-off-by: Wang Nan --- tools/perf/builtin-bpf.c | 2 ++ tools/perf/perf.c | 7 +++++++ tools/perf/perf.h | 1 + 3 files changed, 10 insertions(+) diff --git a/tools/perf/builtin-bpf.c b/tools/perf/builtin-bpf.c index 8155f39..4ef294a 100644 --- a/tools/perf/builtin-bpf.c +++ b/tools/perf/builtin-bpf.c @@ -201,6 +201,8 @@ int cmd_bpf(int argc, const char **argv, cmdstr = argv[0]; + bpf_wrapper = true; + for_each_cmd(cmd) { if (strcmp(cmd->name, cmdstr)) continue; diff --git a/tools/perf/perf.c b/tools/perf/perf.c index eff1a55..2c41c43 100644 --- a/tools/perf/perf.c +++ b/tools/perf/perf.c @@ -28,6 +28,13 @@ int use_browser = -1; static int use_pager = -1; const char *input_name; +/* + * Only for cmd_bpf, set this wrapper to true. This flag is to tell + * commands like 'record' that they are running inside a 'perf bpf' + * command, and let them consider binding of bpf programs. + */ +bool bpf_wrapper = false; + struct cmd_struct { const char *cmd; int (*fn)(int, const char **, const char *); diff --git a/tools/perf/perf.h b/tools/perf/perf.h index e14bb63..f3d233a 100644 --- a/tools/perf/perf.h +++ b/tools/perf/perf.h @@ -69,4 +69,5 @@ struct record_opts { struct option; extern const char * const *record_usage; extern struct option *record_options; +extern bool bpf_wrapper; #endif -- 1.8.3.4 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/