Re: [PATCH -next] mm/hotplug: silence a lockdep splat with printk()

From: Michal Hocko
Date: Wed Jan 15 2020 - 03:37:23 EST


On Tue 14-01-20 16:40:49, Qian Cai wrote:
>
>
> > On Jan 14, 2020, at 4:02 PM, Michal Hocko <mhocko@xxxxxxxxxx> wrote:
> >
> > Yeah, that was a long discussion with a lot of lockdep false positives.
> > I believe I have made it clear that the console code shouldn't depend on
> > memory allocation because that is just too fragile. If that is not
> > possible for some reason then it has to be mentioned in the changelog.
> > I really do not want us to add kludges to the MM code just because of
> > printk deficiencies unless that is absolutely inevitable.
>
> I donât know how to convince you, but both random number generator
> and printk() maintainers agreed to get ride of printk() with
> zone->lock held as you can see in the approved commit mentioned in
> this patch description because it is a whac-a-mole to fix other
> places.

I really do not understand this argument. It is quite a specific path in
the console code which cannot allocate any memory or use locks which
depend on the allocation via a lock chain, right? So how come this is a
whack a mole?

Also any console that really needs GFP_ATOMIC to write something out is
just inherently broken so it should better be fixed rather than
worked around.
--
Michal Hocko
SUSE Labs