Commit 7bedcbae authored by Arnaldo Carvalho de Melo's avatar Arnaldo Carvalho de Melo
Browse files

perf trace: Pass the richer 'struct syscall_arg' pointer to trace__btf_scnprintf()



Since we'll need it later in the current patch series and we can get the
syscall_arg_fmt from syscall_arg->fmt.

Based-on-a-patch-by: default avatarHoward Chu <howardchu95@gmail.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Ian Rogers <irogers@google.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: https://lore.kernel.org/lkml/Zsd8vqCrTh5h69rp@x1


Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 8df1d8c6
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -989,9 +989,11 @@ static size_t btf_enum_scnprintf(const struct btf_type *type, struct btf *btf, c
	return 0;
}

static size_t trace__btf_scnprintf(struct trace *trace, struct syscall_arg_fmt *arg_fmt, char *bf,
static size_t trace__btf_scnprintf(struct trace *trace, struct syscall_arg *arg, char *bf,
				   size_t size, int val, char *type)
{
	struct syscall_arg_fmt *arg_fmt = arg->fmt;

	if (trace->btf == NULL)
		return 0;

@@ -1011,7 +1013,7 @@ static size_t trace__btf_scnprintf(struct trace *trace, struct syscall_arg_fmt *
}

#else // HAVE_LIBBPF_SUPPORT
static size_t trace__btf_scnprintf(struct trace *trace __maybe_unused, struct syscall_arg_fmt *arg_fmt __maybe_unused,
static size_t trace__btf_scnprintf(struct trace *trace __maybe_unused, struct syscall_arg *arg __maybe_unused,
				   char *bf __maybe_unused, size_t size __maybe_unused, int val __maybe_unused,
				   char *type __maybe_unused)
{
@@ -2260,7 +2262,7 @@ static size_t syscall__scnprintf_args(struct syscall *sc, char *bf, size_t size,
			if (trace->show_arg_names)
				printed += scnprintf(bf + printed, size - printed, "%s: ", field->name);

			btf_printed = trace__btf_scnprintf(trace, &sc->arg_fmt[arg.idx], bf + printed,
			btf_printed = trace__btf_scnprintf(trace, &arg, bf + printed,
							   size - printed, val, field->type);
			if (btf_printed) {
				printed += btf_printed;
@@ -2963,7 +2965,7 @@ static size_t trace__fprintf_tp_fields(struct trace *trace, struct evsel *evsel,
		if (trace->show_arg_names)
			printed += scnprintf(bf + printed, size - printed, "%s: ", field->name);

		btf_printed = trace__btf_scnprintf(trace, arg, bf + printed, size - printed, val, field->type);
		btf_printed = trace__btf_scnprintf(trace, &syscall_arg, bf + printed, size - printed, val, field->type);
		if (btf_printed) {
			printed += btf_printed;
			continue;