Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S964832AbbEOHxI (ORCPT ); Fri, 15 May 2015 03:53:08 -0400 Received: from szxga01-in.huawei.com ([58.251.152.64]:62874 "EHLO szxga01-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934236AbbEOHxD (ORCPT ); Fri, 15 May 2015 03:53:03 -0400 From: Wang Nan To: , , , , , , , , , , , CC: , , , Subject: [RFC PATCH v2 34/37] tools perf: add a bpf_wrapper global flag. Date: Fri, 15 May 2015 07:51:27 +0000 Message-ID: <1431676290-1230-35-git-send-email-wangnan0@huawei.com> X-Mailer: git-send-email 1.8.3.4 In-Reply-To: <1431676290-1230-1-git-send-email-wangnan0@huawei.com> References: <1431676290-1230-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: 1852 Lines: 61 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 | 3 +++ tools/perf/perf.c | 7 +++++++ tools/perf/perf.h | 1 + 3 files changed, 11 insertions(+) diff --git a/tools/perf/builtin-bpf.c b/tools/perf/builtin-bpf.c index 8155f39..94978c7 100644 --- a/tools/perf/builtin-bpf.c +++ b/tools/perf/builtin-bpf.c @@ -201,6 +201,9 @@ int cmd_bpf(int argc, const char **argv, cmdstr = argv[0]; + /* This flag is for commands 'perf bpf' start. */ + 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/