From: Andrea Arcangeli <aarcange@redhat.com>
To: Mel Gorman <mel@csn.ul.ie>
Cc: Shaohua Li <shaohua.li@intel.com>,
Andrew Morton <akpm@linux-foundation.org>,
linux-mm <linux-mm@kvack.org>,
"Chen, Tim C" <tim.c.chen@intel.com>,
Rik van Riel <riel@redhat.com>
Subject: Re: too big min_free_kbytes
Date: Thu, 3 Feb 2011 03:58:08 +0100 [thread overview]
Message-ID: <20110203025808.GJ5843@random.random> (raw)
In-Reply-To: <20110127152755.GB30919@random.random>
On Thu, Jan 27, 2011 at 04:27:55PM +0100, Andrea Arcangeli wrote:
> totally untested... I will test....
The below patch is fixing my problem and working fine for me... as
expected it can't possibly lead to any D state, it's pretty much like
setting min_free_kbytes lower, and it's not going to alter anything
other than the levels of free memory kept by kswapd.
$ while :; do ps xa|grep [k]swapd; sleep 1; done
452 ? R 1:20 [kswapd0]
452 ? S 1:20 [kswapd0]
452 ? S 1:20 [kswapd0]
452 ? S 1:20 [kswapd0]
452 ? S 1:20 [kswapd0]
452 ? R 1:20 [kswapd0]
452 ? R 1:20 [kswapd0]
452 ? R 1:20 [kswapd0]
452 ? R 1:20 [kswapd0]
452 ? S 1:20 [kswapd0]
452 ? R 1:20 [kswapd0]
$ vmstat 1
procs -----------memory---------- ---swap-- -----io---- -system--
----cpu----
r b swpd free buff cache si so bi bo in cs us
sy id wa
2 1 1784 111040 2393336 807924 0 0 63 992 56 70 1 1 96 2
0 1 1784 108928 2402556 801864 0 0 122624 0 1619 2150 0 5 80 16
0 1 1784 110664 2401244 801140 0 0 122496 0 1602 2081 0 3 81 16
0 1 1784 109796 2410184 792984 0 0 122752 0 1685 2149 0 4 80 16
0 1 1784 110416 2411856 791208 0 0 120448 4 1599 2075 0 4 81 16
1 0 1784 113516 2415344 785336 0 0 122496 0 1636 2125 0 4 81 15
I doubt we'll get any regression because of the below (see also my
prev email in this thread), and I would only expect more cache and
maybe better lru. Previously the free memory levels were stuck at
~700M now they're stuck at the right level for a 4G system with THP on
(I'd still like to try to reduce the requirements only 1 hugepage for
each migratetype in the set_min_free_kbytes to reduce the requirements
to the minium, but only if possible..). But this saves 600M over 4G so
it's the highest prio to address.
Comments welcome,
Thanks!
Andrea
> ====
> Subject: vmscan: kswapd must not free more than high_wmark pages
>
> From: Andrea Arcangeli <aarcange@redhat.com>
>
> When the min_free_kbytes is set with `hugeadm
> --set-recommended-min_free_kbytes" or with THP enabled (which runs the
> equivalent of "hugeadm --set-recommended-min_free_kbytes" to activate
> anti-frag at full effectiveness automatically at boot) the high wmark
> of some zone is as high as ~88M. 88M free on a 4G system isn't
> horrible, but 88M*8 = 704M free on a 4G system is definitely
> unbearable. This only tends to be visible on 4G systems with tiny
> over-4g zone where kswapd insists to reach the high wmark on the
> over-4g zone but doing so it shrunk up to 704M from the normal zone by
> mistake.
>
> Signed-off-by: Andrea Arcangeli <aarcange@redhat.com>
> ---
>
>
> diff --git a/mm/vmscan.c b/mm/vmscan.c
> index f5d90de..9e3c78e 100644
> --- a/mm/vmscan.c
> +++ b/mm/vmscan.c
> @@ -2407,7 +2407,7 @@ loop_again:
> * zone has way too many pages free already.
> */
> if (!zone_watermark_ok_safe(zone, order,
> - 8*high_wmark_pages(zone), end_zone, 0))
> + high_wmark_pages(zone), end_zone, 0))
> shrink_zone(priority, zone, &sc);
> reclaim_state->reclaimed_slab = 0;
> nr_slab = shrink_slab(sc.nr_scanned, GFP_KERNEL,
>
>
--
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/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2011-02-03 2:58 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-01-24 3:56 too big min_free_kbytes Shaohua Li
2011-01-24 15:00 ` Andrea Arcangeli
2011-01-25 14:35 ` Mel Gorman
2011-01-26 14:17 ` Mel Gorman
2011-01-26 15:23 ` Mel Gorman
2011-01-26 15:42 ` Andrea Arcangeli
2011-01-26 16:36 ` Mel Gorman
2011-01-26 17:42 ` Mel Gorman
2011-01-27 13:40 ` Mel Gorman
2011-01-27 15:27 ` Andrea Arcangeli
2011-01-27 16:03 ` Mel Gorman
2011-01-27 18:52 ` Andrea Arcangeli
2011-01-27 20:33 ` Rik van Riel
2011-01-27 21:31 ` Mel Gorman
2011-01-27 23:18 ` Rik van Riel
2011-01-28 10:35 ` Mel Gorman
2011-01-28 16:28 ` Andrea Arcangeli
2011-01-28 16:46 ` Mel Gorman
2011-01-28 17:16 ` Rik van Riel
2011-01-28 17:46 ` Andrea Arcangeli
2011-01-28 18:03 ` Rik van Riel
2011-01-28 18:24 ` Andrea Arcangeli
2011-01-28 19:34 ` Rik van Riel
2011-01-28 19:45 ` Andrea Arcangeli
2011-01-28 20:55 ` Rik van Riel
2011-01-29 19:45 ` Andrea Arcangeli
2011-01-28 17:34 ` Andrea Arcangeli
2011-01-28 17:10 ` Rik van Riel
2011-02-03 2:58 ` Andrea Arcangeli [this message]
2011-02-03 13:15 ` Mel Gorman
2011-02-03 18:59 ` Andrea Arcangeli
2011-02-03 14:36 ` Rik van Riel
2011-02-03 19:11 ` Andrea Arcangeli
2011-02-12 1:28 ` Simon Kirby
2011-02-14 2:25 ` Shaohua Li
2011-02-22 14:25 ` Mel Gorman
2011-02-22 14:42 ` Andrea Arcangeli
2011-02-22 14:50 ` Mel Gorman
2011-02-22 14:54 ` Andrea Arcangeli
2011-02-22 16:04 ` Mel Gorman
2011-02-22 16:40 ` Rik van Riel
2011-02-23 5:29 ` Shaohua Li
2011-02-23 14:45 ` Andrea Arcangeli
2011-02-24 8:08 ` Shaohua Li
2011-02-24 9:52 ` Mel Gorman
2011-02-24 9:57 ` Mel Gorman
2011-02-24 14:27 ` Andrea Arcangeli
2011-02-24 14:04 ` Andrea Arcangeli
2011-02-25 0:51 ` Shaohua Li
2011-02-25 12:13 ` Mel Gorman
2011-02-12 9:48 ` alex shi
2011-02-22 14:24 ` Mel Gorman
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=20110203025808.GJ5843@random.random \
--to=aarcange@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=linux-mm@kvack.org \
--cc=mel@csn.ul.ie \
--cc=riel@redhat.com \
--cc=shaohua.li@intel.com \
--cc=tim.c.chen@intel.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 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.