Commit b3a018fc authored by James Clark's avatar James Clark Committed by Arnaldo Carvalho de Melo
Browse files

perf inject: Add vmlinux and ignore-vmlinux arguments



Other perf tools allow specifying the path to vmlinux. 'perf inject'
didn't have this argument which made some auxtrace workflows difficult.

Also add --ignore-vmlinux for consistency with other tools.

Suggested-by: default avatarDenis Nikitin <denik@chromium.org>
Signed-off-by: default avatarJames Clark <james.clark@arm.com>
Tested-by: default avatarDenis Nikitin <denik@chromium.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: https://lore.kernel.org/r/20211018134844.2627174-4-james.clark@arm.com


[ Added the perf-inject man page entries for these options, as noted by Denis ]
Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 7cc72553
Loading
Loading
Loading
Loading
+7 −0
Original line number Original line Diff line number Diff line
@@ -45,6 +45,13 @@ OPTIONS
	tasks slept. sched_switch contains a callchain where a task slept and
	tasks slept. sched_switch contains a callchain where a task slept and
	sched_stat contains a timeslice how long a task slept.
	sched_stat contains a timeslice how long a task slept.


-k::
--vmlinux=<file>::
        vmlinux pathname

--ignore-vmlinux::
	Ignore vmlinux files.

--kallsyms=<file>::
--kallsyms=<file>::
	kallsyms pathname
	kallsyms pathname


+7 −0
Original line number Original line Diff line number Diff line
@@ -940,6 +940,10 @@ int cmd_inject(int argc, const char **argv)
#endif
#endif
		OPT_INCR('v', "verbose", &verbose,
		OPT_INCR('v', "verbose", &verbose,
			 "be more verbose (show build ids, etc)"),
			 "be more verbose (show build ids, etc)"),
		OPT_STRING('k', "vmlinux", &symbol_conf.vmlinux_name,
			   "file", "vmlinux pathname"),
		OPT_BOOLEAN(0, "ignore-vmlinux", &symbol_conf.ignore_vmlinux,
			    "don't load vmlinux even if found"),
		OPT_STRING(0, "kallsyms", &symbol_conf.kallsyms_name, "file",
		OPT_STRING(0, "kallsyms", &symbol_conf.kallsyms_name, "file",
			   "kallsyms pathname"),
			   "kallsyms pathname"),
		OPT_BOOLEAN('f', "force", &data.force, "don't complain, do it"),
		OPT_BOOLEAN('f', "force", &data.force, "don't complain, do it"),
@@ -974,6 +978,9 @@ int cmd_inject(int argc, const char **argv)
		return -1;
		return -1;
	}
	}


	if (symbol__validate_sym_arguments())
		return -1;

	if (inject.in_place_update) {
	if (inject.in_place_update) {
		if (!strcmp(inject.input_name, "-")) {
		if (!strcmp(inject.input_name, "-")) {
			pr_err("Input file name required for in-place updating\n");
			pr_err("Input file name required for in-place updating\n");