Re: [PATCH v2] mm/page_isolation: fix a deadlock with printk()

From: Petr Mladek
Date: Wed Oct 09 2019 - 07:49:06 EST


On Tue 2019-10-08 15:35:24, Qian Cai wrote:
> On Tue, 2019-10-08 at 21:17 +0200, Michal Hocko wrote:
> > On Tue 08-10-19 15:06:13, Qian Cai wrote:
> > > On Tue, 2019-10-08 at 20:35 +0200, Michal Hocko wrote:
> >
> > [...]
> > > > I fully agree that this class of lockdep splats are annoying especially
> > > > when they make the lockdep unusable but please discuss this with lockdep
> > > > maintainers and try to find some solution rather than go and try to
> > > > workaround the problem all over the place. If there are places that
> > > > would result in a cleaner code then go for it but please do not make the
> > > > code worse just because of a non existent problem flagged by a false
> > > > positive.
> > >
> > > It makes me wonder what make you think it is a false positive for sure.
> >
> > Because this is an early init code? Because if it were a real deadlock
>
> No, that alone does not prove it is a false positive. There are many places
> could generate that lock dependency but lockdep will always save the earliest
> one.

You are still mixing the pasted lockdep report and other situations
that will not get reported because of the first one.

We believe that the pasted report is pasted is false positive. And we
are against complicating the code just to avoid this false positive.

Are you sure that the workaround will not create real deadlocks
or races?

I see two realistic possibilities:

+ Make printk() always deferred. This will hopefully happen soon.

+ Improve lockdep so that false positives could get ignored
without complicating the code.

Best Regards,
Petr