diff options
Diffstat (limited to 'kernel/cpuset.c')
| -rw-r--r-- | kernel/cpuset.c | 10 | 
1 files changed, 9 insertions, 1 deletions
diff --git a/kernel/cpuset.c b/kernel/cpuset.c index 9c9b7545c81..10131fdaff7 100644 --- a/kernel/cpuset.c +++ b/kernel/cpuset.c @@ -55,7 +55,7 @@  #include <linux/sort.h>  #include <asm/uaccess.h> -#include <asm/atomic.h> +#include <linux/atomic.h>  #include <linux/mutex.h>  #include <linux/workqueue.h>  #include <linux/cgroup.h> @@ -2460,11 +2460,19 @@ static int cpuset_spread_node(int *rotor)  int cpuset_mem_spread_node(void)  { +	if (current->cpuset_mem_spread_rotor == NUMA_NO_NODE) +		current->cpuset_mem_spread_rotor = +			node_random(¤t->mems_allowed); +  	return cpuset_spread_node(¤t->cpuset_mem_spread_rotor);  }  int cpuset_slab_spread_node(void)  { +	if (current->cpuset_slab_spread_rotor == NUMA_NO_NODE) +		current->cpuset_slab_spread_rotor = +			node_random(¤t->mems_allowed); +  	return cpuset_spread_node(¤t->cpuset_slab_spread_rotor);  }  |