From: Randy Dunlap <rdunlap@xenotime.net>
To: Rik van Riel <riel@redhat.com>
Cc: Satoru Moriya <smoriya@redhat.com>,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
lwoodman@redhat.com, Seiji Aguchi <saguchi@redhat.com>,
akpm@linux-foundation.org, hughd@google.com, hannes@cmpxchg.org
Subject: Re: [PATCH -mm] add extra free kbytes tunable
Date: Thu, 1 Sep 2011 10:06:50 -0700 [thread overview]
Message-ID: <20110901100650.6d884589.rdunlap@xenotime.net> (raw)
In-Reply-To: <20110901105208.3849a8ff@annuminas.surriel.com>
On Thu, 1 Sep 2011 10:52:08 -0400 Rik van Riel wrote:
> Add a userspace visible knob to tell the VM to keep an extra amount
> of memory free, by increasing the gap between each zone's min and
> low watermarks.
>
> This is useful for realtime applications that call system
> calls and have a bound on the number of allocations that happen
> in any short time period. In this application, extra_free_kbytes
> would be left at an amount equal to or larger than than the
> maximum number of allocations that happen in any burst.
>
> It may also be useful to reduce the memory use of virtual
> machines (temporarily?), in a way that does not cause memory
> fragmentation like ballooning does.
>
> Signed-off-by: Rik van Riel<riel@redhat.com>
Hi Rik,
Please add to Documentation/syctl/vm.txt ..
Thanks.
> diff --git a/kernel/sysctl.c b/kernel/sysctl.c
> index 11d65b5..01a9acd 100644
> --- a/kernel/sysctl.c
> +++ b/kernel/sysctl.c
> @@ -96,6 +96,7 @@ extern char core_pattern[];
> extern unsigned int core_pipe_limit;
> extern int pid_max;
> extern int min_free_kbytes;
> +extern int extra_free_kbytes;
> extern int pid_max_min, pid_max_max;
> extern int sysctl_drop_caches;
> extern int percpu_pagelist_fraction;
> @@ -1189,6 +1190,14 @@ static struct ctl_table vm_table[] = {
> .extra1 = &zero,
> },
> {
> + .procname = "extra_free_kbytes",
> + .data = &extra_free_kbytes,
> + .maxlen = sizeof(extra_free_kbytes),
> + .mode = 0644,
> + .proc_handler = min_free_kbytes_sysctl_handler,
> + .extra1 = &zero,
> + },
> + {
> .procname = "percpu_pagelist_fraction",
> .data = &percpu_pagelist_fraction,
> .maxlen = sizeof(percpu_pagelist_fraction),
> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> index 6e8ecb6..47d185c 100644
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -175,8 +175,20 @@ static char * const zone_names[MAX_NR_ZONES] = {
> "Movable",
> };
>
> +/*
> + * Try to keep at least this much lowmem free. Do not allow normal
> + * allocations below this point, only high priority ones. Automatically
> + * tuned according to the amount of memory in the system.
> + */
> int min_free_kbytes = 1024;
>
> +/*
> + * Extra memory for the system to try freeing. Used to temporarily
> + * free memory, to make space for new workloads. Anyone can allocate
> + * down to the min watermarks controlled by min_free_kbytes above.
> + */
> +int extra_free_kbytes = 0;
---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
--
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-09-01 17:06 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-01 14:52 Rik van Riel
2011-09-01 17:06 ` Randy Dunlap [this message]
2011-09-01 19:26 ` [PATCH -v2 " Rik van Riel
2011-09-01 21:58 ` Andrew Morton
2011-09-01 22:08 ` David Rientjes
2011-09-01 22:16 ` Andrew Morton
2011-09-02 16:31 ` Satoru Moriya
2011-10-13 7:33 ` Minchan Kim
2011-10-13 8:09 ` KAMEZAWA Hiroyuki
[not found] ` <E1FA588BC672D846BDBB452FCA1E308C2389B4@USINDEVS02.corp.hds.com>
2011-09-15 3:33 ` Satoru Moriya
2011-09-01 22:09 ` Andrew Morton
2011-09-02 16:26 ` [PATCH -mm] fixes & cleanups for "add extra free kbytes tunable" Rik van Riel
2011-09-30 21:43 ` [PATCH -v2 -mm] add extra free kbytes tunable Johannes Weiner
2011-10-08 3:08 ` David Rientjes
2011-10-10 22:37 ` Andrew Morton
2011-10-11 19:32 ` Satoru Moriya
2011-10-11 19:54 ` Andrew Morton
2011-10-11 20:23 ` Satoru Moriya
2011-10-11 20:54 ` Andrew Morton
2011-10-12 13:09 ` Rik van Riel
2011-10-12 19:20 ` Andrew Morton
2011-10-12 19:58 ` Rik van Riel
2011-10-12 20:26 ` David Rientjes
2011-10-21 23:48 ` Satoru Moriya
2011-10-23 21:22 ` David Rientjes
2011-10-25 2:04 ` Satoru Moriya
2011-10-25 21:50 ` David Rientjes
2011-10-26 18:59 ` Satoru Moriya
2011-10-12 21:08 ` Satoru Moriya
2011-10-12 22:41 ` David Rientjes
2011-10-12 23:52 ` Satoru Moriya
2011-10-13 0:01 ` David Rientjes
2011-10-13 5:35 ` KAMEZAWA Hiroyuki
2011-10-13 20:55 ` David Rientjes
2011-10-14 22:16 ` Satoru Moriya
2011-10-14 22:46 ` David Rientjes
2011-10-14 5:32 ` Satoru Moriya
2011-10-14 5:06 ` Satoru Moriya
2011-10-11 23:22 ` David Rientjes
2011-10-13 16:54 ` Satoru Moriya
2011-10-13 20:48 ` David Rientjes
2011-10-13 21:11 ` Rik van Riel
2011-10-13 22:02 ` David Rientjes
2011-10-11 19:20 ` Satoru Moriya
2011-10-11 21:04 ` David Rientjes
2011-10-12 13:13 ` Rik van Riel
2011-10-12 20:21 ` David Rientjes
2011-10-13 4:13 ` Rik van Riel
2011-10-13 5:22 ` David Rientjes
2011-10-22 0:11 ` Satoru Moriya
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=20110901100650.6d884589.rdunlap@xenotime.net \
--to=rdunlap@xenotime.net \
--cc=akpm@linux-foundation.org \
--cc=hannes@cmpxchg.org \
--cc=hughd@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lwoodman@redhat.com \
--cc=riel@redhat.com \
--cc=saguchi@redhat.com \
--cc=smoriya@redhat.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