On Wed, Nov 02, 2022 at 10:17:19AM -0400, Steven Rostedt wrote: > On Wed, 2 Nov 2022 11:04:44 -0300 > Jason Gunthorpe <jgg@xxxxxxxx> wrote: > > > So this tracepoint is just wrong, you can't call a sleepable function > > from a tracepoint like that? > > > > Presumably lockdep would/should warn about this? > > Why didn't it trigger a "scheduling while atomic" bug? That should > happen if you call a sleeping function while preemption is disabled. Or > does this function explicitly enable preemption? Which nothing checks > if you enable preemption while recording to the ring buffer. I guess we > could add that check, but this is not something that commonly happens > enough to bother. No, it doesn't muck with preemption, it will have some sleeping lock, eg mlx5_ib_query_pkey() does a memory allocation as the first thing It seems like a bug that calling kmalloc(GFP_KERNEL)/might_sleep() from within a tracepoint doesn't trigger a warning? Jason