Re: BUG: ib_mad ftrace event unsupported migration

From: Jason Gunthorpe
Date: Wed Nov 02 2022 - 10:24:30 EST


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