Linux Trace Kernel
 help / color / mirror / Atom feed
* Re: [PATCH bpf-next v3 7/9] bpf: expose deferred .BTF.base module BTF in sysfs from module load
       [not found] <3541dcaa6eba351d0e66f2c324b2919453a7ad4f1a29170d8ce9b4435feeb0d8@mail.kernel.org>
@ 2026-10-01 23:52 ` Jay Wang
  0 siblings, 0 replies; only message in thread
From: Jay Wang @ 2026-10-01 23:52 UTC (permalink / raw)
  To: bot+bpf-ci, bpf, ast, daniel, andrii, eddyz87, memxor
  Cc: alan.maguire, martin.lau, yonghong.song, jolsa, nathan, nsc,
	linux-kbuild, mcgrof, petr.pavlu, samitolvanen, linux-modules,
	ojeda, rust-for-linux, arnd, linux-kernel, abuehaze, doebel,
	mpohlack, jay.wang.upstream, martin.lau, mason, ihor.solodrai,
	rostedt, mhiramat, linux-trace-kernel

Right, fixed in v4 (patch 8/12):
https://lore.kernel.org/bpf/20261001225214.12351-1-wanjay@amazon.com/

The reader no longer loads the vmlinux BTF itself.  If it is not there
yet, the reader queues a work item that calls bpf_load_btf_vmlinux(),
and waits for the module's BTF to be published, for @gone, or for the
load attempt to end without the BTF.  MODULE_STATE_GOING sets @gone and
wakes before it removes the file, so the drain no longer waits on a
module load: in your cycle the reader returns -ENODEV, the drain
completes, GOING returns, and the kworker's modprobe gets the rwsem once
the writer is done.

On the lock comment, you are right that the btf_module_mutex ->
cand_cache_mutex edge is gone.  v4 states what the separate lock does
keep: btf_module_mutex, which the module notifier takes, is never taken
under btf_vmlinux_lock.

Jay

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-10-01 23:52 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <3541dcaa6eba351d0e66f2c324b2919453a7ad4f1a29170d8ce9b4435feeb0d8@mail.kernel.org>
2026-10-01 23:52 ` [PATCH bpf-next v3 7/9] bpf: expose deferred .BTF.base module BTF in sysfs from module load Jay Wang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox