From: Michal Hocko <mhocko@kernel.org>
To: lsf-pc@lists.linux-foundation.org
Cc: linux-mm@kvack.org, linux-fsdevel@vger.kernel.org
Subject: [LSF/MM TOPIC] slab reclaim
Date: Wed, 28 Dec 2016 14:09:51 +0100 [thread overview]
Message-ID: <20161228130949.GA11480@dhcp22.suse.cz> (raw)
Hi,
I would like to propose the following for LSF/MM discussion. Both MM and
FS people should be involved.
The current way of the slab reclaim is rather suboptimal from 2
perspectives.
1) The slab allocator relies on shrinkers to release pages but shrinkers
are object rather than page based. This means that the memory reclaim
asks to free some pages, slab asks shrinkers to free some objects
and the result might be that nothing really gets freed even though
shrinkers do their jobs properly because some objects are still pinning
the page. This is not a new problem and it has been discussed in the
past. Dave Chinner has even suggested a solution [1] which sounds like
the right approach. There was no follow up and I believe we should
into implementing it.
2) The way we scale slab reclaim pressure depends on the regular LRU
reclaim. There are workloads which do not general a lot of pages on LRUs
while they still consume a lot of slab memory. We can end up even going
OOM because the slab reclaim doesn't free up enough. I am not really
sure how the proper solution should look like but either we need some
way of slab consumption throttling or we need a more clever slab
pressure estimation.
[1] https://lkml.org/lkml/2010/2/8/329.
--
Michal Hocko
SUSE Labs
--
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 reply other threads:[~2016-12-28 13:09 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-12-28 13:09 Michal Hocko [this message]
2017-01-02 11:02 ` [Lsf-pc] " Jan Kara
2017-01-05 10:15 ` Vlastimil Babka
2017-01-30 18:47 ` Christoph Lameter
2017-02-10 14:55 ` Michal Hocko
2017-02-10 17:54 ` Christoph Lameter
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=20161228130949.GA11480@dhcp22.suse.cz \
--to=mhocko@kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lsf-pc@lists.linux-foundation.org \
/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