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 <wangn...@huawei.com> --- 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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/