From: Qian Cai <cai@lca.pw>
To: Michal Hocko <mhocko@kernel.org>
Cc: Petr Mladek <pmladek@suse.com>,
Christian Borntraeger <borntraeger@de.ibm.com>,
Heiko Carstens <heiko.carstens@de.ibm.com>,
sergey.senozhatsky.work@gmail.com, rostedt@goodmis.org,
peterz@infradead.org, linux-mm@kvack.org,
john.ogness@linutronix.de, akpm@linux-foundation.org,
Vasily Gorbik <gor@linux.ibm.com>,
Peter Oberparleiter <oberpar@linux.ibm.com>,
david@redhat.com, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2] mm/page_isolation: fix a deadlock with printk()
Date: Thu, 10 Oct 2019 13:48:06 -0400 [thread overview]
Message-ID: <1570729686.5937.30.camel@lca.pw> (raw)
In-Reply-To: <20191010173040.GK18412@dhcp22.suse.cz>
On Thu, 2019-10-10 at 19:30 +0200, Michal Hocko wrote:
> On Thu 10-10-19 10:47:38, Qian Cai wrote:
> > On Thu, 2019-10-10 at 16:18 +0200, Michal Hocko wrote:
> > > On Thu 10-10-19 09:11:52, Qian Cai wrote:
> > > > On Thu, 2019-10-10 at 12:59 +0200, Michal Hocko wrote:
> > > > > On Thu 10-10-19 05:01:44, Qian Cai wrote:
> > > > > >
> > > > > >
> > > > > > > On Oct 9, 2019, at 12:23 PM, Michal Hocko <mhocko@kernel.org> wrote:
> > > > > > >
> > > > > > > If this was only about the memory offline code then I would agree. But
> > > > > > > we are talking about any printk from the zone->lock context and that is
> > > > > > > a bigger deal. Besides that it is quite natural that the printk code
> > > > > > > should be more universal and allow to be also called from the MM
> > > > > > > contexts as much as possible. If there is any really strong reason this
> > > > > > > is not possible then it should be documented at least.
> > > > > >
> > > > > > Where is the best place to document this? I am thinking about under
> > > > > > the “struct zone” definition’s lock field in mmzone.h.
> > > > >
> > > > > I am not sure TBH and I do not think we have reached the state where
> > > > > this would be the only way forward.
> > > >
> > > > How about I revised the changelog to focus on memory offline rather than making
> > > > a rule that nobody should call printk() with zone->lock held?
> > >
> > > If you are to remove the CONFIG_DEBUG_VM printk then I am all for it. I
> > > am still not convinced that fiddling with dump_page in the isolation
> > > code is justified though.
> >
> > No, dump_page() there has to be fixed together for memory offline to be useful.
> > What's the other options it has here?
>
> I would really prefer to not repeat myself
> http://lkml.kernel.org/r/20191010074049.GD18412@dhcp22.suse.cz
Care to elaborate what does that mean? I am confused on if you finally agree on
no printk() while held zone->lock or not. You said "If there is absolutely
no way around that then we might have to bite a bullet and consider some
of MM locks a land of no printk." which makes me think you agreed, but your
stance from the last reply seems you were opposite to it.
>
> > By not holding zone->lock in dump_page()
> > from set_migratetype_isolate(), it even has a good side-effect to increase the
> > system throughput as dump_page() could be time-consuming. It may make the code a
> > bit cleaner by introducing a has_unmovable_pages_locked() version.
>
> I do not see why we should really optimize this cold path.
next prev parent reply other threads:[~2019-10-10 17:48 UTC|newest]
Thread overview: 76+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-04 22:26 [PATCH v2] mm/page_isolation: fix a deadlock with printk() Qian Cai
2019-10-07 8:07 ` Michal Hocko
2019-10-07 9:05 ` Petr Mladek
2019-10-07 11:33 ` Michal Hocko
2019-10-07 12:34 ` Qian Cai
2019-10-07 11:04 ` Qian Cai
2019-10-07 11:37 ` Michal Hocko
2019-10-07 12:11 ` Qian Cai
2019-10-07 12:43 ` Michal Hocko
2019-10-07 13:07 ` Qian Cai
2019-10-07 14:10 ` Petr Mladek
2019-10-07 14:30 ` Petr Mladek
2019-10-07 14:49 ` Michal Hocko
2019-10-08 7:43 ` Petr Mladek
2019-10-08 8:27 ` Michal Hocko
2019-10-08 12:56 ` Christian Borntraeger
2019-10-08 16:08 ` Qian Cai
2019-10-08 18:35 ` Michal Hocko
2019-10-08 19:06 ` Qian Cai
2019-10-08 19:17 ` Michal Hocko
2019-10-08 19:35 ` Qian Cai
2019-10-09 11:49 ` Petr Mladek
2019-10-09 13:06 ` Qian Cai
2019-10-09 13:27 ` Michal Hocko
2019-10-09 13:43 ` Qian Cai
2019-10-09 13:51 ` Michal Hocko
2019-10-09 14:19 ` Qian Cai
2019-10-09 14:34 ` Michal Hocko
2019-10-09 15:08 ` Qian Cai
2019-10-09 16:23 ` Michal Hocko
2019-10-09 16:23 ` Michal Hocko
2019-10-10 9:01 ` Qian Cai
2019-10-10 10:59 ` Michal Hocko
2019-10-10 13:11 ` Qian Cai
2019-10-10 14:18 ` Michal Hocko
2019-10-10 14:47 ` Qian Cai
2019-10-10 17:30 ` Michal Hocko
2019-10-10 17:48 ` Qian Cai [this message]
2019-10-10 18:06 ` Michal Hocko
2019-10-10 18:59 ` David Hildenbrand
2019-10-09 14:24 ` Petr Mladek
2019-10-09 14:46 ` Qian Cai
2019-10-10 7:57 ` Petr Mladek
2019-10-09 11:39 ` Petr Mladek
2019-10-09 13:56 ` Peter Oberparleiter
2019-10-09 14:26 ` Michal Hocko
2019-10-10 5:12 ` Sergey Senozhatsky
2019-10-10 7:40 ` Michal Hocko
2019-10-10 8:16 ` Sergey Senozhatsky
2019-10-10 8:37 ` Michal Hocko
2019-10-10 8:21 ` Petr Mladek
2019-10-10 8:39 ` Sergey Senozhatsky
2019-10-10 11:11 ` Petr Mladek
2019-10-09 15:25 ` Qian Cai
2019-10-09 15:25 ` Qian Cai
2019-10-07 14:59 ` Qian Cai
2019-10-07 15:12 ` Michal Hocko
2019-10-07 15:33 ` Qian Cai
2019-10-08 8:15 ` Petr Mladek
2019-10-08 9:32 ` Qian Cai
2019-10-08 13:13 ` Steven Rostedt
2019-10-08 13:23 ` Qian Cai
2019-10-08 13:33 ` Steven Rostedt
2019-10-08 13:42 ` Petr Mladek
2019-10-08 13:48 ` Michal Hocko
2019-10-08 14:03 ` Qian Cai
2019-10-08 14:08 ` Michal Hocko
2019-10-08 8:40 ` Michal Hocko
2019-10-08 10:04 ` Qian Cai
2019-10-08 10:39 ` Michal Hocko
2019-10-08 12:00 ` Qian Cai
2019-10-08 12:39 ` Michal Hocko
2019-10-08 13:06 ` Qian Cai
2019-10-08 13:37 ` Michal Hocko
2019-10-08 13:08 ` Petr Mladek
2019-10-08 13:33 ` Qian Cai
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1570729686.5937.30.camel@lca.pw \
--to=cai@lca.pw \
--cc=akpm@linux-foundation.org \
--cc=borntraeger@de.ibm.com \
--cc=david@redhat.com \
--cc=gor@linux.ibm.com \
--cc=heiko.carstens@de.ibm.com \
--cc=john.ogness@linutronix.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mhocko@kernel.org \
--cc=oberpar@linux.ibm.com \
--cc=peterz@infradead.org \
--cc=pmladek@suse.com \
--cc=rostedt@goodmis.org \
--cc=sergey.senozhatsky.work@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).