On Wed, Dec 12, 2018 at 06:56:11PM +0000, Song Liu wrote:
quoted
On Dec 12, 2018, at 10:05 AM, Peter Zijlstra [off-list ref] wrote:
On Wed, Dec 12, 2018 at 05:09:17PM +0000, Song Liu wrote:
quoted
quoted
And while this tracks the bpf kallsyms, it does not do all kallsyms.
.... Oooh, I see the problem, everybody is doing their own custom
kallsym_{add,del}() thing, instead of having that in generic code :-(
This, for example, doesn't track module load/unload nor ftrace
trampolines, even though both affect kallsyms.
I think we can use PERF_RECORD_MMAP(or MMAP2) for module load/unload.
That could be separate sets of patches.
So I would actually like to move bpf_lock/bpf_kallsyms/bpf_tree +
bpf_prog_kallsyms_*() + __bpf_address_lookup() into kernel/kallsyms.c
and also have ftrace use that.
Because currently the ftrace stuff is otherwise invisible.
A generic kallsym register/unregister for any JIT.
I guess this is _not_ a requirement for this patchset? BPF program has
special data (id, sub_id, tag) that we need PERF_RECORD_BPF_EVENT. So
this patchset should be orthogonal to the generic kallsym framework?
Well, it is a question of ABI. I don't like mixing the kallsym updates
with the BPF updates.