mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
perf bench: Remove reference to cmd_inject
Avoid `perf bench internals inject-build-id` referencing the cmd_inject sub-command that requires perf-bench to backward reference internals of builtins. Replace the reference to cmd_inject with a call to main. To avoid python.c needing to link with something providing main, drop the libperf-bench library from the python shared object. Signed-off-by: Ian Rogers <irogers@google.com> Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: Athira Rajeev <atrajeev@linux.vnet.ibm.com> Cc: Colin Ian King <colin.i.king@gmail.com> Cc: Dapeng Mi <dapeng1.mi@linux.intel.com> Cc: Howard Chu <howardchu95@gmail.com> Cc: Ilya Leoshkevich <iii@linux.ibm.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: James Clark <james.clark@linaro.org> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Josh Poimboeuf <jpoimboe@redhat.com> Cc: Kan Liang <kan.liang@linux.intel.com> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Michael Petlan <mpetlan@redhat.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Richter <tmricht@linux.ibm.com> Cc: Veronika Molnarova <vmolnaro@redhat.com> Cc: Weilin Wang <weilin.wang@intel.com> Link: https://lore.kernel.org/r/20241119011644.971342-17-irogers@google.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
committed by
Arnaldo Carvalho de Melo
parent
1a12ed09bc
commit
df487111bd
@@ -487,6 +487,9 @@ endif
|
||||
EXTLIBS := $(call filter-out,$(EXCLUDE_EXTLIBS),$(EXTLIBS))
|
||||
LIBS = -Wl,--whole-archive $(PERFLIBS) $(EXTRA_PERFLIBS) -Wl,--no-whole-archive -Wl,--start-group $(EXTLIBS) -Wl,--end-group
|
||||
|
||||
PERFLIBS_PY := $(call filter-out,$(LIBPERF_BENCH),$(PERFLIBS))
|
||||
LIBS_PY = -Wl,--whole-archive $(PERFLIBS_PY) $(EXTRA_PERFLIBS) -Wl,--no-whole-archive -Wl,--start-group $(EXTLIBS) -Wl,--end-group
|
||||
|
||||
export INSTALL SHELL_PATH
|
||||
|
||||
### Build rules
|
||||
@@ -735,9 +738,9 @@ all: shell_compatibility_test $(ALL_PROGRAMS) $(LANG_BINDINGS) $(OTHER_PROGRAMS)
|
||||
# Create python binding output directory if not already present
|
||||
$(shell [ -d '$(OUTPUT)python' ] || mkdir -p '$(OUTPUT)python')
|
||||
|
||||
$(OUTPUT)python/perf$(PYTHON_EXTENSION_SUFFIX): util/python.c util/setup.py $(PERFLIBS)
|
||||
$(OUTPUT)python/perf$(PYTHON_EXTENSION_SUFFIX): util/python.c util/setup.py $(PERFLIBS_PY)
|
||||
$(QUIET_GEN)LDSHARED="$(CC) -pthread -shared" \
|
||||
CFLAGS='$(CFLAGS)' LDFLAGS='$(LDFLAGS) $(LIBS)' \
|
||||
CFLAGS='$(CFLAGS)' LDFLAGS='$(LDFLAGS) $(LIBS_PY)' \
|
||||
$(PYTHON_WORD) util/setup.py \
|
||||
--quiet build_ext; \
|
||||
cp $(PYTHON_EXTBUILD_LIB)perf*.so $(OUTPUT)python/
|
||||
|
||||
@@ -52,7 +52,7 @@ struct bench_dso {
|
||||
static int nr_dsos;
|
||||
static struct bench_dso *dsos;
|
||||
|
||||
extern int cmd_inject(int argc, const char *argv[]);
|
||||
extern int main(int argc, const char **argv);
|
||||
|
||||
static const struct option options[] = {
|
||||
OPT_UINTEGER('i', "iterations", &iterations,
|
||||
@@ -294,7 +294,7 @@ static int setup_injection(struct bench_data *data, bool build_id_all)
|
||||
|
||||
if (data->pid == 0) {
|
||||
const char **inject_argv;
|
||||
int inject_argc = 2;
|
||||
int inject_argc = 3;
|
||||
|
||||
close(data->input_pipe[1]);
|
||||
close(data->output_pipe[0]);
|
||||
@@ -318,15 +318,16 @@ static int setup_injection(struct bench_data *data, bool build_id_all)
|
||||
if (inject_argv == NULL)
|
||||
exit(1);
|
||||
|
||||
inject_argv[0] = strdup("inject");
|
||||
inject_argv[1] = strdup("-b");
|
||||
inject_argv[0] = strdup("perf");
|
||||
inject_argv[1] = strdup("inject");
|
||||
inject_argv[2] = strdup("-b");
|
||||
if (build_id_all)
|
||||
inject_argv[2] = strdup("--buildid-all");
|
||||
inject_argv[3] = strdup("--buildid-all");
|
||||
|
||||
/* signal that we're ready to go */
|
||||
close(ready_pipe[1]);
|
||||
|
||||
cmd_inject(inject_argc, inject_argv);
|
||||
main(inject_argc, inject_argv);
|
||||
|
||||
exit(0);
|
||||
}
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
#include "util/kwork.h"
|
||||
#include "util/sample.h"
|
||||
#include <internal/lib.h>
|
||||
#include "../builtin.h"
|
||||
|
||||
#define _PyUnicode_FromString(arg) \
|
||||
PyUnicode_FromString(arg)
|
||||
@@ -1309,8 +1308,3 @@ struct kwork_work *perf_kwork_add_work(struct perf_kwork *kwork __maybe_unused,
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
int cmd_inject(int argc __maybe_unused, const char *argv[] __maybe_unused)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user