From: Cheng Rk <crquan@ymail.com>
To: Michal Hocko <mhocko@suse.cz>
Cc: Konstantin Khlebnikov <koct9i@gmail.com>,
"linux-mm@kvack.org" <linux-mm@kvack.org>
Subject: Re: How to controll Buffers to be dilligently reclaimed?
Date: Fri, 20 Feb 2015 20:33:27 +0000 (UTC) [thread overview]
Message-ID: <1959255055.1630546.1424464407401.JavaMail.yahoo@mail.yahoo.com> (raw)
In-Reply-To: <20150219094604.GF28427@dhcp22.suse.cz>
On Thursday, February 19, 2015 2:03 AM, Michal Hocko <mhocko@suse.cz> wrote:
>> So do you think is it worth to work on something to give pressure similar
>> to vm.vfs_cache_pressure to vfs inode & dentry cache?
>>
>> I am looking for an effect to let the kernel more aggressively reclaim
>> memory from Buffers,
> more aggressively than what? Anonymous memory, other types of caches?
> To be honest I do not see why we should treat buffers any different from
> any other cache. So far it is not clear what might be the issue you are
> seeing but I would suspect that too many buffers is not the primary one.
> It is hard to say anything more without any specific numbers, though.
to get Buffers more aggresively, or ealier reclaimed than lazy on demand.
Suppose if someone can do a similar sysctl (say vm.vfs_buffers_pressure, or reuse vm.vfs_cache_presssure), do you think is that worth to do and useful?
I think what makes sense to vm.vfs_cache_presssure would also make sense
to controll Buffers, right?
So far I see people adjust vm.vfs_cache_pressure for various purposes;
from default 100 they set it to 50 for more conservatively reclaim
memory from cache, or set to a larger value (like 10000) to reclaim
the Cached memory earlier, or more aggresively, for Build farms,
or in any scenarios that files are all temporary and accessed only in a short time;
If those temporary files are finally removed, the Cached memory can be reclaimed,
but some cases they may be never removed,
For file backup applications, they can do madvise MADV_DONTNEED, but for
other applications unaware of MADV_DONTNEED, the kernel may never that
Cached memory is not used anymore, keep them for long time, and reclaimed on demand;
To reclaim early also has a benefit to save time of reclaim on demand; when in future application really need memory; I'm not sure if any applications are sensitive on time of allocation,,
> By reading fs/super.c:prune_super I've also realized taht, which is the
> only place referening sysctl_vfs_cache_pressure,
> that block_devices' inode are in "bdev" mount, its super_block just
> have nr_cached_objects as NULL,
> s_nr_dentry_unused and s_nr_inodes_unused both 0, get total_objects to be
> reclaimed is 0;
>
> So is why sysctl_vfs_cache_pressure doesn't give pressure to Buffers,
>
>
> if (sb->s_op && sb->s_op->nr_cached_objects)
> fs_objects = sb->s_op->nr_cached_objects(sb);
>
> total_objects = sb->s_nr_dentry_unused +
> sb->s_nr_inodes_unused + fs_objects;
>
> total_objects = (total_objects / 100) * sysctl_vfs_cache_pressure;
> drop_super(sb);
>
>
> In crash, I got to know this block_device (253:2, or /dev/dm-2)has
> 10536805 pages mapped, that is the 40GB memory in Buffers,
I still do not see why is that a problem. They should get reclaimed on
demand.
> I wonder is there a sysctl can controll this to be reclaimed earlier?
I do not know about any.
[...]
--
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>
prev parent reply other threads:[~2015-02-20 20:36 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-13 0:52 How to controll Buffers to be dilligently reclaimed? Cheng Rk
2015-02-13 7:34 ` Konstantin Khlebnikov
2015-02-13 9:52 ` Cheng Rk
2015-02-13 18:07 ` Cheng Rk
2015-02-18 14:23 ` Michal Hocko
2015-02-18 19:44 ` Cheng Rk
2015-02-19 9:46 ` Michal Hocko
2015-02-20 20:33 ` Cheng Rk [this message]
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=1959255055.1630546.1424464407401.JavaMail.yahoo@mail.yahoo.com \
--to=crquan@ymail.com \
--cc=koct9i@gmail.com \
--cc=linux-mm@kvack.org \
--cc=mhocko@suse.cz \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.