selftests/bpf: Restore original comm in test_overhead
test_overhead changes task comm in order to estimate BPF trampoline overhead but never sets the comm back to the original one. We have the tests (like core_reloc.c) that have 'test_progs' as hard-coded expected comm, so let's try to preserve the original comm. Currently, everything works because the order of execution is: first core_recloc, then test_overhead; but let's make it a bit future-proof. Other related changes: use 'test_overhead' as new comm instead of 'test' to make it easy to debug and drop '\n' at the end. Signed-off-by: Stanislav Fomichev <sdf@google.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org> Acked-by: Petar Penkov <ppenkov@google.com> Acked-by: Song Liu <songliubraving@fb.com> Link: https://lore.kernel.org/bpf/20200108192132.189221-1-sdf@google.com
This commit is contained in:
parent
2faef64aa6
commit
e43002242a
|
@ -2,6 +2,7 @@
|
||||||
/* Copyright (c) 2019 Facebook */
|
/* Copyright (c) 2019 Facebook */
|
||||||
#define _GNU_SOURCE
|
#define _GNU_SOURCE
|
||||||
#include <sched.h>
|
#include <sched.h>
|
||||||
|
#include <sys/prctl.h>
|
||||||
#include <test_progs.h>
|
#include <test_progs.h>
|
||||||
|
|
||||||
#define MAX_CNT 100000
|
#define MAX_CNT 100000
|
||||||
|
@ -17,7 +18,7 @@ static __u64 time_get_ns(void)
|
||||||
static int test_task_rename(const char *prog)
|
static int test_task_rename(const char *prog)
|
||||||
{
|
{
|
||||||
int i, fd, duration = 0, err;
|
int i, fd, duration = 0, err;
|
||||||
char buf[] = "test\n";
|
char buf[] = "test_overhead";
|
||||||
__u64 start_time;
|
__u64 start_time;
|
||||||
|
|
||||||
fd = open("/proc/self/comm", O_WRONLY|O_TRUNC);
|
fd = open("/proc/self/comm", O_WRONLY|O_TRUNC);
|
||||||
|
@ -66,6 +67,10 @@ void test_test_overhead(void)
|
||||||
struct bpf_object *obj;
|
struct bpf_object *obj;
|
||||||
struct bpf_link *link;
|
struct bpf_link *link;
|
||||||
int err, duration = 0;
|
int err, duration = 0;
|
||||||
|
char comm[16] = {};
|
||||||
|
|
||||||
|
if (CHECK_FAIL(prctl(PR_GET_NAME, comm, 0L, 0L, 0L)))
|
||||||
|
return;
|
||||||
|
|
||||||
obj = bpf_object__open_file("./test_overhead.o", NULL);
|
obj = bpf_object__open_file("./test_overhead.o", NULL);
|
||||||
if (CHECK(IS_ERR(obj), "obj_open_file", "err %ld\n", PTR_ERR(obj)))
|
if (CHECK(IS_ERR(obj), "obj_open_file", "err %ld\n", PTR_ERR(obj)))
|
||||||
|
@ -138,5 +143,6 @@ void test_test_overhead(void)
|
||||||
test_run("fexit");
|
test_run("fexit");
|
||||||
bpf_link__destroy(link);
|
bpf_link__destroy(link);
|
||||||
cleanup:
|
cleanup:
|
||||||
|
prctl(PR_SET_NAME, comm, 0L, 0L, 0L);
|
||||||
bpf_object__close(obj);
|
bpf_object__close(obj);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue