diff mbox

[2/3] mm: add indirectly reclaimable memory to MemAvailable

Message ID 20180305133743.12746-3-guro@fb.com (mailing list archive)
State New, archived
Headers show

Commit Message

Roman Gushchin March 5, 2018, 1:37 p.m. UTC
This patch adjusts /proc/meminfo MemAvailable calculation
by adding the amount of indirectly reclaimable memory
(rounded to the PAGE_SIZE).

Signed-off-by: Roman Gushchin <guro@fb.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: linux-fsdevel@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-mm@kvack.org
Cc: kernel-team@fb.com
---
 mm/page_alloc.c | 7 +++++++
 1 file changed, 7 insertions(+)

Comments

Roman Gushchin March 5, 2018, 1:47 p.m. UTC | #1
Please, ignore this particular patch, it was sent by mistake.

On Mon, Mar 05, 2018 at 01:37:41PM +0000, Roman Gushchin wrote:
> This patch adjusts /proc/meminfo MemAvailable calculation
> by adding the amount of indirectly reclaimable memory
> (rounded to the PAGE_SIZE).
> 
> Signed-off-by: Roman Gushchin <guro@fb.com>
> Cc: Andrew Morton <akpm@linux-foundation.org>
> Cc: Alexander Viro <viro@zeniv.linux.org.uk>
> Cc: Michal Hocko <mhocko@suse.com>
> Cc: Johannes Weiner <hannes@cmpxchg.org>
> Cc: linux-fsdevel@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org
> Cc: linux-mm@kvack.org
> Cc: kernel-team@fb.com
> ---
>  mm/page_alloc.c | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> index 2836bc9e0999..2247cda9e94e 100644
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -4695,6 +4695,13 @@ long si_mem_available(void)
>  		     min(global_node_page_state(NR_SLAB_RECLAIMABLE) / 2,
>  			 wmark_low);
>  
> +	/*
> +	 * Part of the kernel memory, which can be released under memory
> +	 * pressure.
> +	 */
> +	available += global_node_page_state(NR_INDIRECTLY_RECLAIMABLE_BYTES) >>
> +		PAGE_SHIFT;
> +
>  	if (available < 0)
>  		available = 0;
>  	return available;
> -- 
> 2.14.3
>
diff mbox

Patch

diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 2836bc9e0999..2247cda9e94e 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -4695,6 +4695,13 @@  long si_mem_available(void)
 		     min(global_node_page_state(NR_SLAB_RECLAIMABLE) / 2,
 			 wmark_low);
 
+	/*
+	 * Part of the kernel memory, which can be released under memory
+	 * pressure.
+	 */
+	available += global_node_page_state(NR_INDIRECTLY_RECLAIMABLE_BYTES) >>
+		PAGE_SHIFT;
+
 	if (available < 0)
 		available = 0;
 	return available;