On Sun, Mar 12, 2023 at 9:42 PM Rob Clark <robdclark@xxxxxxxxx> wrote: > > From: Rob Clark <robdclark@xxxxxxxxxxxx> > > Annotate dev_pm_qos_mtx to teach lockdep to scream about allocations > that could trigger reclaim under dev_pm_qos_mtx. So why is this needed? > Signed-off-by: Rob Clark <robdclark@xxxxxxxxxxxx> > --- > drivers/base/power/qos.c | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/drivers/base/power/qos.c b/drivers/base/power/qos.c > index 9cba334b3729..d4addda3944a 100644 > --- a/drivers/base/power/qos.c > +++ b/drivers/base/power/qos.c > @@ -1012,3 +1012,14 @@ void dev_pm_qos_hide_latency_tolerance(struct device *dev) > pm_runtime_put(dev); > } > EXPORT_SYMBOL_GPL(dev_pm_qos_hide_latency_tolerance); > + > +static int __init dev_pm_qos_init(void) > +{ > + /* Teach lockdep about lock ordering wrt. shrinker: */ > + fs_reclaim_acquire(GFP_KERNEL); > + might_lock(&dev_pm_qos_mtx); > + fs_reclaim_release(GFP_KERNEL); > + > + return 0; > +} > +early_initcall(dev_pm_qos_init); > -- > 2.39.2 >