[RFC][PATCH 0/3] cpuset,mm: fix memory spread bug

From: Miao Xie
Date: Tue Apr 07 2009 - 06:56:24 EST


The kernel still allocated the page caches on old node after modifying its
cpuset's mems when 'memory_spread_page' was set, or it didn't spread the page
cache evenly over all the nodes that faulting task is allowed to usr after
memory_spread_page was set. it is caused by the old mem_allowed and flags
of the task, the current kernel doesn't updates them unless some function
invokes cpuset_update_task_memory_state(), it is too late sometimes.We must
update the mem_allowed and the flags of the tasks in time.

Slab has the same problem.

The following patches fix this bug by updating tasks' mem_allowed and spread
flag after its cpuset's mems or spread flag is changed.

patch 1: restructure the function cpuset_update_task_memory_state()
patch 2: update tasks' page/slab spread flags in time
patch 3: update tasks' mems_allowed in time


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