Re: [PATCH v4 7/7] cpuset: fix to migrate mm correctly in a cornercase

From: Tejun Heo
Date: Thu Jun 13 2013 - 13:52:50 EST


On Thu, Jun 13, 2013 at 03:11:44PM +0800, Li Zefan wrote:
> Before moving tasks out of empty cpusets, update_tasks_nodemask()
> is called, which calls do_migrate_pages(xx, from, to). Then those
> tasks are moved to an ancestor, and do_migrate_pages() is called
> again.
>
> The first time: from = node_to_be_offlined, to = empty.
> The second time: from = empty, to = ancestor's nodemask.
>
> so looks like no pages will be migrated.
>
> Fix this by:
>
> - Don't call update_tasks_nodemask() on empty cpusets.
> - Pass cs->old_mems_allowed to do_migrate_pages().
>
> v4: added comment in cpuset_hotplug_update_tasks() and rephased comment
> in cpuset_attach().
>
> Signed-off-by: Li Zefan <lizefan@xxxxxxxxxx>

Replaced v3 with this one in cgroup/for-3.11-cpuset. Thanks!

--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/