---
- include/linux/cpuset.h | 49 ++++++++++++++++++----------------------------
+ include/linux/cpuset.h | 51 +++++++++++++++++++---------------------------
include/linux/init_task.h | 8 +++++++
include/linux/sched.h | 2 -
- kernel/cpuset.c | 43 +++++++---------------------------------
+ kernel/cpuset.c | 43 +++++++-------------------------------
kernel/fork.c | 3 ++
- mm/filemap.c | 11 ++++++----
- mm/hugetlb.c | 15 ++++++++++----
- mm/mempolicy.c | 28 +++++++++++++++++++-------
- mm/page_alloc.c | 33 +++++++++++++++++++++---------
- mm/slab.c | 13 +++++++-----
- mm/slub.c | 36 +++++++++++++++++++++------------
+ mm/filemap.c | 11 ++++++---
+ mm/hugetlb.c | 15 +++++++++----
+ mm/mempolicy.c | 28 ++++++++++++++++++-------
+ mm/page_alloc.c | 33 ++++++++++++++++++++---------
+ mm/slab.c | 13 +++++++----
+ mm/slub.c | 36 ++++++++++++++++++++------------
mm/vmscan.c | 2 -
- 12 files changed, 133 insertions(+), 110 deletions(-)
+ 12 files changed, 135 insertions(+), 110 deletions(-)
--- a/include/linux/cpuset.h
+++ b/include/linux/cpuset.h
-@@ -89,36 +89,25 @@ extern void rebuild_sched_domains(void);
+@@ -89,42 +89,33 @@ extern void rebuild_sched_domains(void);
extern void cpuset_print_task_mems_allowed(struct task_struct *p);
/*
}
static inline void set_mems_allowed(nodemask_t nodemask)
-@@ -234,12 +223,14 @@ static inline void set_mems_allowed(node
+ {
+ task_lock(current);
++ write_seqcount_begin(¤t->mems_allowed_seq);
+ current->mems_allowed = nodemask;
++ write_seqcount_end(¤t->mems_allowed_seq);
+ task_unlock(current);
+ }
+
+@@ -234,12 +225,14 @@ static inline void set_mems_allowed(node
{
}