selftests/bpf: Use syscall(SYS_gettid) instead of gettid() wrapper in bench
With glibc 2.28, selftests compilation fails for benchs/bench_trigger.c:
benchs/bench_trigger.c: In function ‘inc_counter’:
benchs/bench_trigger.c:25:23: error: implicit declaration of function ‘gettid’; did you mean ‘getgid’? [-Werror=implicit-function-declaration]
25 | tid = gettid();
| ^~~~~~
| getgid
cc1: all warnings being treated as errors
It appears support for the gettid() wrapper is variable across glibc
versions, so may be safer to use syscall(SYS_gettid) instead.
Fixes: 520fad2e32
("selftests/bpf: scale benchmark counting by using per-CPU counters")
Signed-off-by: Alan Maguire <alan.maguire@oracle.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20240322095728.95671-1-alan.maguire@oracle.com
This commit is contained in:
parent
4c2a26fc80
commit
1684d6eb99
1 changed files with 1 additions and 1 deletions
|
@ -22,7 +22,7 @@ static __always_inline void inc_counter(struct counter *counters)
|
||||||
unsigned slot;
|
unsigned slot;
|
||||||
|
|
||||||
if (unlikely(tid == 0))
|
if (unlikely(tid == 0))
|
||||||
tid = gettid();
|
tid = syscall(SYS_gettid);
|
||||||
|
|
||||||
/* multiplicative hashing, it's fast */
|
/* multiplicative hashing, it's fast */
|
||||||
slot = 2654435769U * tid;
|
slot = 2654435769U * tid;
|
||||||
|
|
Loading…
Add table
Reference in a new issue