Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1255852

Newbie's question: memory allocation when reclaiming memory

From Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Newsgroups linux.kernel
Subject Newbie's question: memory allocation when reclaiming memory
Date 2015-10-26 12:50 +0100
Message-ID <qnOrL-7Hj-5@gated-at.bofh.it> (permalink)
References <qdJjH-4wk-7@gated-at.bofh.it> <qf7N0-3r7-13@gated-at.bofh.it> <qfob7-1Mk-5@gated-at.bofh.it> <qgBSH-PD-19@gated-at.bofh.it> <qiF5M-7Ss-5@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


May I ask a newbie question? Say, there is some amount of memory pages
which can be reclaimed if they are flushed to storage. And lower layer
might issue memory allocation request in a way which won't cause reclaim
deadlock (e.g. using GFP_NOFS or GFP_NOIO) when flushing to storage,
isn't it?

What I'm worrying is a dependency that __GFP_FS allocation requests think
that there are reclaimable pages and therefore there is no need to call
out_of_memory(); and GFP_NOFS allocation requests which the __GFP_FS
allocation requests depend on (in order to flush to storage) is waiting
for GFP_NOIO allocation requests; and the GFP_NOIO allocation requests
which the GFP_NOFS allocation requests depend on (in order to flush to
storage) are waiting for memory pages to be reclaimed without calling
out_of_memory(); because gfp_to_alloc_flags() does not favor GFP_NOIO over
GFP_NOFS nor GFP_NOFS over __GFP_FS which will throttle all allocations
at the same watermark level.

How do we guarantee that GFP_NOFS/GFP_NOIO allocations make forward
progress? What mechanism guarantees that memory pages which __GFP_FS
allocation requests are waiting for are reclaimed? I assume that there
is some mechanism; otherwise we can hit silent livelock, can't we?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | Next | Find similar | Unroll thread


Thread

Newbie's question: memory allocation when reclaiming memory Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> - 2015-10-26 12:50 +0100

csiph-web