Re: [patch] mm, swap_cgroup: reschedule when neeed in swap_cgroup_swapoff()

From: Michal Hocko
Date: Fri Apr 07 2017 - 04:00:26 EST


On Thu 06-04-17 13:16:24, David Rientjes wrote:
> We got need_resched() warnings in swap_cgroup_swapoff() because
> swap_cgroup_ctrl[type].length is particularly large.
>
> Reschedule when needed.
>
> Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx>

Acked-by: Michal Hocko <mhocko@xxxxxxxx>

> ---
> mm/swap_cgroup.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/mm/swap_cgroup.c b/mm/swap_cgroup.c
> --- a/mm/swap_cgroup.c
> +++ b/mm/swap_cgroup.c
> @@ -201,6 +201,8 @@ void swap_cgroup_swapoff(int type)
> struct page *page = map[i];
> if (page)
> __free_page(page);
> + if (!(i % SWAP_CLUSTER_MAX))
> + cond_resched();
> }
> vfree(map);
> }
>
> --
> To unsubscribe, send a message with 'unsubscribe linux-mm' in
> the body to majordomo@xxxxxxxxxx For more info on Linux MM,
> see: http://www.linux-mm.org/ .
> Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>

--
Michal Hocko
SUSE Labs