Re: Why are the pages not migrated to current cpuset after'memory_migrate' is set true

From: Daisuke Nishimura
Date: Tue Dec 16 2008 - 01:30:29 EST


Hi.

On Tue, 16 Dec 2008 13:11:57 +0800, Miao Xie <miaox@xxxxxxxxxxxxxx> wrote:
> Hi, Paul
>
> I found the pages that task had allocated to it on nodes in its previous cpuset
> were not migrated to the tasks' current cpuset after 'memory_migrate' was set
> true. It looks strange for users. Why are the pages not migrated to current
> cpuset after 'memory_migrate' is set true?
>
I don't know the reason of current behavior, but

> Step I did
> 1, allocate pages on cpuset (mems is 0, memory_migrate is 0)
> 2, change cpuset's mems (mems: 0 -> 1)
> 3, change cpuset's memory_migrate(memory_migrate: 0 -> 1)
>
from/to which node kernel should migrate pages in general ?

Should kernel remember previous value of "mems" ? What if we change "mems"
several times before setting memory_migrate ON ?

IMHO, current behavior is not so strange. All users have to do is
set memory_migrate ON *before* changing "mems" or attaching task
if they want to migrate pages.


Thanks,
Daisuke Nishimura.
--
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/