3 ms·
Forget eBPF even -- why do the job of userspace in the kernel? Instead of unwinding via eBPF, we should ask userspace to unwind itself using a synchronous signa
by quotemstr 3y ago
Forget eBPF even -- why do the job of userspace in the kernel? Instead of unwinding via eBPF, we should ask userspace to unwind itself using a synchronous signal delivered to userspace whenever we've requested a stack sample.
- bregma 3y agoContext switches are incredibly expensive. Given the sampling rate of eBPF profilers all the useful information would get lost in the context switch noise. Things get even more complicated because context switches can mean CPU migrations, making many of your data useless.
- quotemstr 3y agoWhat makes you think doing unwinding in userspace would do any more context switches (by which I think you mean privilege level transitions) than we do today? See my other comment on the subject. > Things get even more complicated because context switches can mean CPU migrations, making many of your data useless. No it doesn't. If a user space thread is blocked on doing kernel work, its stack isn't going to change, not even if that thread ends up resuming on a different thread.