mm: treat indirectly reclaimable memory as available in MemAvailable
Adjust /proc/meminfo MemAvailable calculation by adding the amount of indirectly reclaimable memory (rounded to the PAGE_SIZE). Link: http://lkml.kernel.org/r/20180305133743.12746-4-guro@fb.com Signed-off-by: Roman Gushchin <guro@fb.com> Reviewed-by: 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: Mel Gorman <mgorman@techsingularity.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Родитель
eb59254608
Коммит
034ebf65c3
|
@ -4734,6 +4734,13 @@ long si_mem_available(void)
|
||||||
min(global_node_page_state(NR_SLAB_RECLAIMABLE) / 2,
|
min(global_node_page_state(NR_SLAB_RECLAIMABLE) / 2,
|
||||||
wmark_low);
|
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)
|
if (available < 0)
|
||||||
available = 0;
|
available = 0;
|
||||||
return available;
|
return available;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче