diff options
author | Andrew Melnychenko <andrew@daynix.com> | 2024-04-22 16:51:16 +0300 |
---|---|---|
committer | Jason Wang <jasowang@redhat.com> | 2024-06-04 15:14:26 +0800 |
commit | dcab53611191f50cf4feabc1d8794d04afe53407 (patch) | |
tree | 11f06af1f8af7b3c0a35c9dad71dedba8cbfb719 /ebpf | |
parent | 2c3e4e2de699cd4d9f6c71f30a22d8f125cd6164 (diff) |
ebpf: Added traces back. Changed source set for eBPF to 'system'.
There was an issue with Qemu build with "--disable-system".
The traces could be generated and the build fails.
The traces were 'cut out' for previous patches, and overall,
the 'system' source set should be used like in pre-'eBPF blob' patches.
Signed-off-by: Andrew Melnychenko <andrew@daynix.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Diffstat (limited to 'ebpf')
-rw-r--r-- | ebpf/ebpf_rss.c | 7 | ||||
-rw-r--r-- | ebpf/trace.h | 1 |
2 files changed, 8 insertions, 0 deletions
diff --git a/ebpf/ebpf_rss.c b/ebpf/ebpf_rss.c index d102f3dd09..87f0714910 100644 --- a/ebpf/ebpf_rss.c +++ b/ebpf/ebpf_rss.c @@ -25,6 +25,8 @@ #include "ebpf/rss.bpf.skeleton.h" #include "ebpf/ebpf.h" +#include "trace.h" + void ebpf_rss_init(struct EBPFRSSContext *ctx) { if (ctx != NULL) { @@ -55,18 +57,21 @@ static bool ebpf_rss_mmap(struct EBPFRSSContext *ctx) PROT_READ | PROT_WRITE, MAP_SHARED, ctx->map_configuration, 0); if (ctx->mmap_configuration == MAP_FAILED) { + trace_ebpf_error("eBPF RSS", "can not mmap eBPF configuration array"); return false; } ctx->mmap_toeplitz_key = mmap(NULL, qemu_real_host_page_size(), PROT_READ | PROT_WRITE, MAP_SHARED, ctx->map_toeplitz_key, 0); if (ctx->mmap_toeplitz_key == MAP_FAILED) { + trace_ebpf_error("eBPF RSS", "can not mmap eBPF toeplitz key"); goto toeplitz_fail; } ctx->mmap_indirections_table = mmap(NULL, qemu_real_host_page_size(), PROT_READ | PROT_WRITE, MAP_SHARED, ctx->map_indirections_table, 0); if (ctx->mmap_indirections_table == MAP_FAILED) { + trace_ebpf_error("eBPF RSS", "can not mmap eBPF indirection table"); goto indirection_fail; } @@ -108,12 +113,14 @@ bool ebpf_rss_load(struct EBPFRSSContext *ctx) rss_bpf_ctx = rss_bpf__open(); if (rss_bpf_ctx == NULL) { + trace_ebpf_error("eBPF RSS", "can not open eBPF RSS object"); goto error; } bpf_program__set_type(rss_bpf_ctx->progs.tun_rss_steering_prog, BPF_PROG_TYPE_SOCKET_FILTER); if (rss_bpf__load(rss_bpf_ctx)) { + trace_ebpf_error("eBPF RSS", "can not load RSS program"); goto error; } diff --git a/ebpf/trace.h b/ebpf/trace.h new file mode 100644 index 0000000000..abefc46ab1 --- /dev/null +++ b/ebpf/trace.h @@ -0,0 +1 @@ +#include "trace/trace-ebpf.h" |