Re: DTrace, kernel loader, unknown probes, enable on load?
Date: Fri, 11 Feb 2022 14:23:47 UTC
On Fri, Feb 11, 2022 at 02:10:30PM +0000, Bjoern A. Zeeb wrote: > Hi, > > one of the drawbacks of Dtrace (and other tracing frameworks out there > on various OSes) is that they do need a list of probes upfront before > they can enable. The probes don't have to exist, add -Z to the dtrace(1) parameters. > Say I want to trace a kernel module from the moment it is loaded, that > is currently not possible. So something like: # dtrace -n 'fbt::coretemp_identify:entry {stack();}' -Z # kldload coretemp ought to work, I think, but it doesn't. It's been a while since I looked at this code but I think it might be related to the unimplemented (on FreeBSD) portion of dtrace_probe_provide(). IIRC that's due to a lock order reversal... > What I am wondering is how hard it would be to "ignore" unknown probes > but enable them the moment on loading matching ones. I assume that > will probably need a callback through user space to complicate things > but it should not be impossible. > > In case anyone has some spare time to draft this up, I'll be happily a > first tester; otherwise the idea is out at least for someone to find > it one day ... > > Lots of health, > /bz > > -- > Bjoern A. Zeeb r15:7 >