lkml.org 
[lkml]   [2015]   [Jul]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 1/1] kernel/sysctl.c: Add /proc/sys/vm/shrink_memory feature
From
Date
On Fri, 03 Jul 2015 18:50:07 +0530, Pintu Kumar said:
> This patch provides 2 things:

> 2. Enable shrink_all_memory API in kernel with new CONFIG_SHRINK_MEMORY.
> Currently, shrink_all_memory function is used only during hibernation.
> With the new config we can make use of this API for non-hibernation case
> also without disturbing the hibernation case.

> --- a/mm/vmscan.c
> +++ b/mm/vmscan.c

> @@ -3571,12 +3571,17 @@ unsigned long shrink_all_memory(unsigned long nr_to_reclaim)
> struct reclaim_state reclaim_state;
> struct scan_control sc = {
> .nr_to_reclaim = nr_to_reclaim,
> +#ifdef CONFIG_SHRINK_MEMORY
> + .gfp_mask = (GFP_HIGHUSER_MOVABLE | GFP_RECLAIM_MASK),
> + .hibernation_mode = 0,
> +#else
> .gfp_mask = GFP_HIGHUSER_MOVABLE,
> + .hibernation_mode = 1,
> +#endif


That looks like a bug just waiting to happen. What happens if we
call an actual hibernation mode in a SHRINK_MEMORY=y kernel, and it finds
an extra gfp mask bit set, and hibernation_mode set to an unexpected value?
[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2015-07-05 11:01    [W:0.129 / U:0.156 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site