[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20180313115549.7badec1c6b85eb5a1cf21eb6@linux-foundation.org>
Date: Tue, 13 Mar 2018 11:55:49 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: Pavel Tatashin <pasha.tatashin@...cle.com>
Cc: steven.sistare@...cle.com, daniel.m.jordan@...cle.com,
m.mizuma@...fujitsu.com, mhocko@...e.com, catalin.marinas@....com,
takahiro.akashi@...aro.org, gi-oh.kim@...fitbricks.com,
heiko.carstens@...ibm.com, baiyaowei@...s.chinamobile.com,
richard.weiyang@...il.com, paul.burton@...s.com,
miles.chen@...iatek.com, vbabka@...e.cz, mgorman@...e.de,
hannes@...xchg.org, linux-kernel@...r.kernel.org,
linux-mm@...ck.org
Subject: Re: [v5 1/2] mm: disable interrupts while initializing deferred
pages
On Tue, 13 Mar 2018 12:04:30 -0400 Pavel Tatashin <pasha.tatashin@...cle.com> wrote:
> >
> > > --- a/mm/page_alloc.c
> > > +++ b/mm/page_alloc.c
> > > @@ -1506,7 +1506,6 @@ static void __init deferred_free_pages(int nid, int zid, unsigned long pfn,
> > > } else if (!(pfn & nr_pgmask)) {
> > > deferred_free_range(pfn - nr_free, nr_free);
> > > nr_free = 1;
> > > - cond_resched();
> > > } else {
> > > nr_free++;
> >
> > And how can we simply remove these cond_resched()s? I assume this is
> > being done because interrupts are now disabled? But those were there
> > for a reason, weren't they?
>
> We must remove cond_resched() because we can't sleep anymore. They were
> added to fight NMI timeouts, so I will replace them with
> touch_nmi_watchdog() in a follow-up fix.
This makes no sense. Any code section where we can add cond_resched()
was never subject to NMI timeouts because that code cannot be running with
disabled interrupts.
Powered by blists - more mailing lists