From: Andrew Morton <akpm@linux-foundation.org>
To: Chanho Min <chanho.min@lge.com>
Cc: "'Kirill A. Shutemov'" <kirill.shutemov@linux.intel.com>,
'Hugh Dickins' <hughd@google.com>,
'Michal Hocko' <mhocko@suse.cz>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org,
'HyoJun Im' <hyojun.im@lge.com>, 'Gunho Lee' <gunho.lee@lge.com>,
'Wonhong Kwon' <wonhong.kwon@lge.com>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>
Subject: Re: [PATCH] mm: add parameter to disable faultaround
Date: Tue, 25 Nov 2014 03:40:16 -0800 [thread overview]
Message-ID: <20141125034016.5638d5e4.akpm@linux-foundation.org> (raw)
In-Reply-To: <547465d2.6561420a.04ed.0514SMTPIN_ADDED_BROKEN@mx.google.com>
On Tue, 25 Nov 2014 20:19:40 +0900 "Chanho Min" <chanho.min@lge.com> wrote:
> > > The faultaround improves the file read performance, whereas pages which
> > > can be dropped by drop_caches are reduced. On some systems, The amount of
> > > freeable pages under memory pressure is more important than read
> > > performance.
> >
> > The faultaround pages *are* freeable. Perhaps you meant "free" here.
> >
> > Please tell us a great deal about the problem which you are trying to
> > solve. What sort of system, what sort of workload, what is bad about
> > the behaviour which you are observing, etc.
>
> We are trying to solve two issues.
>
> We drop page caches by writing to /proc/sys/vm/drop_caches at specific point
> and make suspend-to-disk image. The size of this image is increased if faultaround
> is worked.
OK.
These pages are clean (mostly) and are mapped into process pagetables.
Obviously mm/vmscan.c:shrink_all_memory() is not freeing these pages
prior to hibernating.
I forget what the policy/tuning is in this area. IIRC, the intent of
shrink_all_memory() is to free up enough memory so that hibernation can
perform its function, rather than to explicitly reduce the size of the
image.
What I suggest you do is to take a look at how hibernation is calling
shrink_all_memory() and retune it so it shrinks a lot harder. You may
want to disable swapping, or perhaps reduce it by performing one
shrink_all_memory() in the same way as at present, then perform a
second shrink_all_memory() more aggressively, but with
scan_control.may_swap=0. The overall effect will be to make
hibernation tear down the process pagetable mappings and free these
pagecache pages before preparing the disk image.
If we can get this working then your hibernation image will be
significantly smaller than it is with this patch, because more pages
will be unmapped and freed. There will of course be a lot of major
pagefaults after resume. If that's a problem then perhaps we can tune
the second shrink_all_memory() pass to only unmap ptes for unreferenced
pages.
> Under memory pressure, we want to drop many page caches as possible.
> But, The number of dropped pages are reduced compared to non-faultaround kernel.
Again, why do you want to do this? What problem is it solving? I
assume you're using drop_caches for this as well?
Generally, any use of drop_caches is wrong, and indicates there's some
shortcoming in MM.
--
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:[~2014-11-25 11:39 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-25 6:51 [PATCH] mm: add parameter to disable faultaround Chanho Min
2014-11-25 7:05 ` Andrew Morton
2014-11-25 11:19 ` Chanho Min
2014-11-25 11:48 ` Kirill A. Shutemov
[not found] ` <547465d2.6561420a.04ed.0514SMTPIN_ADDED_BROKEN@mx.google.com>
2014-11-25 11:40 ` Andrew Morton [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=20141125034016.5638d5e4.akpm@linux-foundation.org \
--to=akpm@linux-foundation.org \
--cc=chanho.min@lge.com \
--cc=gunho.lee@lge.com \
--cc=hughd@google.com \
--cc=hyojun.im@lge.com \
--cc=kirill.shutemov@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mhocko@suse.cz \
--cc=rjw@rjwysocki.net \
--cc=wonhong.kwon@lge.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).