Re: [PATCH 0/4] cpuset: cleanups and fixes

From: Li Zefan
Date: Thu Feb 26 2009 - 02:58:29 EST


KAMEZAWA Hiroyuki wrote:
> On Thu, 26 Feb 2009 15:02:15 +0800
> Li Zefan <lizf@xxxxxxxxxxxxxx> wrote:
>
>> This patchset mainly simplifies update_tasks_nodemask() and makes it
>> return void (won't fail), thus fix a case that writing to cpuset.mems
>> returns -ENOMEM but its mems_allowed has been changed.
>>
>> [PATCH 1/4] cgroups: add 'data' field to struct cgroup_scanner
>> [PATCH 2/4] cpuset: rewrite update_tasks_nodemask()
>> [PATCH 3/4] cpuset: avoid changing cpuset's mems when errno returned
>> [PATCH 4/4] cpuset: remove struct cpuset_hotplug_scanner
>>
> Thank you. I think there is no problematic in your patch.
>
> After reading your patch, I wonder we can improve this migration by
> filter for cgroup_scan_tasks().
>
> Assume a task with tons of threads in a cgroup and
> - change nodemask
> - migrate=1
>
> Under current implemntation, cpuset_migrate_mm=>do_migrate_mm is called per
> threads. This implies there will be big overhead, useless scanning of page
> tables.
>
> Can we add some checks as "Is this mm already migrated ?", anywhere ?
> (we may need to add some another array, again...)
>

cpuset's memory_migrate flag is disabled by default, and I guess migrating mm
in cpuset is not frequently used? I tend to not optimise it unless it becomes
a problem in real-life. :)



--
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/