From: Tejun Heo <htejun@gmail.com>
To: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Cc: mhocko@kernel.org, cl@linux.com, linux-mm@kvack.org,
linux-kernel@vger.kernel.org, torvalds@linux-foundation.org,
rientjes@google.com, oleg@redhat.com, kwalker@redhat.com,
akpm@linux-foundation.org, hannes@cmpxchg.org,
vdavydov@parallels.com, skozina@redhat.com, mgorman@suse.de,
riel@redhat.com
Subject: Re: [PATCH] mm,vmscan: Use accurate values for zone_reclaimable() checks
Date: Mon, 26 Oct 2015 07:47:09 +0900 [thread overview]
Message-ID: <20151025224709.GA8223@mtj.duckdns.org> (raw)
In-Reply-To: <201510251952.CEF04109.OSOtLFHFVFJMQO@I-love.SAKURA.ne.jp>
Hello,
On Sun, Oct 25, 2015 at 07:52:59PM +0900, Tetsuo Handa wrote:
...
> This means that any kernel code which invokes a __GFP_WAIT allocation
> might fail to do (4) when invoked via workqueue, regardless of flags
> passed to alloc_workqueue()?
Sounds that way and yeah (3) should technically be okay and that's why
HIGHPRI was implemented the way it was at the beginning; however, in
practice, this is the first time it's noticeable in all the years. I
think it comes down to the fact that there just aren't many places
which need such looping behavior and even in those places it's often
very undesirable to busy-loop while not making forward-progress (and
if forward-progress is being made, it won't be indefinite).
> I think that inserting a short sleep into page allocator is better
> because the vmstat_update fix will not require workqueue tweaks if
> we sleep inside page allocator. Also, from the point of view of
> protecting page allocator from going unresponsive when hundreds of tasks
> started busy-waiting at __alloc_pages_slowpath() because we can observe
> that XXX value in the "MemAlloc-Info: XXX stalling task," line grows
> when we are unable to make forward progress.
This looks good to me too; however, it still needs a dedicated
workqueue with WQ_MEM_RECLAIM set. That deadlock probably is very
unlikely as the side effect of vmstat failing to execute due to worker
exhaustion is more memory reclaim but it still is theoretically
possible and it could just be that it happens at low enough frequency
that it hasn't been reported yet.
Thanks.
--
tejun
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2015-10-25 22:47 UTC|newest]
Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-21 12:26 [PATCH] mm,vmscan: Use accurate values for zone_reclaimable() checks Tetsuo Handa
2015-10-21 13:03 ` Michal Hocko
2015-10-21 14:22 ` Christoph Lameter
2015-10-21 14:33 ` Michal Hocko
2015-10-21 14:49 ` Christoph Lameter
2015-10-21 14:55 ` Michal Hocko
2015-10-21 15:39 ` Tetsuo Handa
2015-10-21 17:16 ` Christoph Lameter
2015-10-22 11:37 ` Tetsuo Handa
2015-10-22 13:39 ` Christoph Lameter
2015-10-22 14:09 ` Tejun Heo
2015-10-22 14:21 ` Tejun Heo
2015-10-22 14:23 ` Christoph Lameter
2015-10-22 14:24 ` Tejun Heo
2015-10-22 14:25 ` Christoph Lameter
2015-10-22 14:33 ` Tejun Heo
2015-10-22 14:41 ` Christoph Lameter
2015-10-22 15:14 ` Tejun Heo
2015-10-23 4:26 ` Tejun Heo
2015-11-02 15:01 ` Michal Hocko
2015-11-02 19:20 ` Tejun Heo
2015-11-03 2:32 ` Tetsuo Handa
2015-11-03 19:43 ` Tejun Heo
2015-11-05 14:59 ` Tetsuo Handa
2015-11-05 17:45 ` Christoph Lameter
2015-11-06 0:16 ` Tejun Heo
2015-11-11 15:44 ` Michal Hocko
2015-11-11 16:03 ` Michal Hocko
2015-10-22 14:22 ` Christoph Lameter
2015-10-22 15:06 ` Michal Hocko
2015-10-22 15:15 ` Tejun Heo
2015-10-22 15:33 ` Christoph Lameter
2015-10-23 8:37 ` Michal Hocko
2015-10-23 11:43 ` Make vmstat deferrable again (was Re: [PATCH] mm,vmscan: Use accurate values for zone_reclaimable() checks) Christoph Lameter
2015-10-23 12:07 ` Sergey Senozhatsky
2015-10-23 14:12 ` Christoph Lameter
2015-10-23 14:49 ` Sergey Senozhatsky
2015-10-23 16:10 ` Christoph Lameter
2015-10-22 15:35 ` [PATCH] mm,vmscan: Use accurate values for zone_reclaimable() checks Michal Hocko
2015-10-22 15:37 ` Tejun Heo
2015-10-22 15:49 ` Michal Hocko
2015-10-22 18:42 ` Tejun Heo
2015-10-22 21:42 ` [PATCH] mm,vmscan: Use accurate values for zone_reclaimable()checks Tetsuo Handa
2015-10-22 22:47 ` Tejun Heo
2015-10-23 8:36 ` Michal Hocko
2015-10-23 10:37 ` Tejun Heo
2015-10-23 8:33 ` [PATCH] mm,vmscan: Use accurate values for zone_reclaimable() checks Michal Hocko
2015-10-23 10:36 ` Tejun Heo
2015-10-23 11:11 ` Michal Hocko
2015-10-23 12:25 ` Tetsuo Handa
2015-10-23 18:23 ` Tejun Heo
2015-10-25 10:52 ` Tetsuo Handa
2015-10-25 22:47 ` Tejun Heo [this message]
2015-10-27 9:22 ` Michal Hocko
2015-10-27 10:55 ` Tejun Heo
2015-10-27 12:07 ` Michal Hocko
2015-10-23 18:21 ` Tejun Heo
2015-10-27 9:16 ` Michal Hocko
2015-10-27 10:52 ` Tejun Heo
2015-10-27 11:07 ` [PATCH] mm,vmscan: Use accurate values for zone_reclaimable()checks Tetsuo Handa
2015-10-27 11:30 ` Tejun Heo
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=20151025224709.GA8223@mtj.duckdns.org \
--to=htejun@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=cl@linux.com \
--cc=hannes@cmpxchg.org \
--cc=kwalker@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mgorman@suse.de \
--cc=mhocko@kernel.org \
--cc=oleg@redhat.com \
--cc=penguin-kernel@I-love.SAKURA.ne.jp \
--cc=riel@redhat.com \
--cc=rientjes@google.com \
--cc=skozina@redhat.com \
--cc=torvalds@linux-foundation.org \
--cc=vdavydov@parallels.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).