[PATCH 0/2] bpf: Yet another approach to fix the BPF dispatcher thing
From: Peter Zijlstra
Date: Thu Nov 03 2022 - 08:09:13 EST
Hi!
Even thought the __attribute__((patchable_function_entry())) solution to the
BPF dispatcher woes works, it turns out to not be supported by the whole range
of ageing compilers we support. Specifically this attribute seems to be GCC-8
and later.
This is another approach -- using static_call() to rewrite the dispatcher
function. I've compile tested this on:
x86_64 (inline static-call support)
i386 (out-of-line static-call support)
aargh64 (no static-call support)
A previous version was tested and found working by Bjorn.
It is split in two patches; first reverting the current approach and then
introducing the new for ease of review.