|
@@ -218,12 +218,6 @@ struct mem_cgroup {
|
|
|
* per zone LRU lists.
|
|
|
*/
|
|
|
struct mem_cgroup_lru_info info;
|
|
|
-
|
|
|
- /*
|
|
|
- protect against reclaim related member.
|
|
|
- */
|
|
|
- spinlock_t reclaim_param_lock;
|
|
|
-
|
|
|
/*
|
|
|
* While reclaiming in a hierarchy, we cache the last child we
|
|
|
* reclaimed from.
|
|
@@ -1130,17 +1124,12 @@ static unsigned long long mem_cgroup_margin(struct mem_cgroup *mem)
|
|
|
static unsigned int get_swappiness(struct mem_cgroup *memcg)
|
|
|
{
|
|
|
struct cgroup *cgrp = memcg->css.cgroup;
|
|
|
- unsigned int swappiness;
|
|
|
|
|
|
/* root ? */
|
|
|
if (cgrp->parent == NULL)
|
|
|
return vm_swappiness;
|
|
|
|
|
|
- spin_lock(&memcg->reclaim_param_lock);
|
|
|
- swappiness = memcg->swappiness;
|
|
|
- spin_unlock(&memcg->reclaim_param_lock);
|
|
|
-
|
|
|
- return swappiness;
|
|
|
+ return memcg->swappiness;
|
|
|
}
|
|
|
|
|
|
static void mem_cgroup_start_move(struct mem_cgroup *mem)
|
|
@@ -1356,13 +1345,11 @@ mem_cgroup_select_victim(struct mem_cgroup *root_mem)
|
|
|
|
|
|
rcu_read_unlock();
|
|
|
/* Updates scanning parameter */
|
|
|
- spin_lock(&root_mem->reclaim_param_lock);
|
|
|
if (!css) {
|
|
|
/* this means start scan from ID:1 */
|
|
|
root_mem->last_scanned_child = 0;
|
|
|
} else
|
|
|
root_mem->last_scanned_child = found;
|
|
|
- spin_unlock(&root_mem->reclaim_param_lock);
|
|
|
}
|
|
|
|
|
|
return ret;
|
|
@@ -3868,9 +3855,7 @@ static int mem_cgroup_swappiness_write(struct cgroup *cgrp, struct cftype *cft,
|
|
|
return -EINVAL;
|
|
|
}
|
|
|
|
|
|
- spin_lock(&memcg->reclaim_param_lock);
|
|
|
memcg->swappiness = val;
|
|
|
- spin_unlock(&memcg->reclaim_param_lock);
|
|
|
|
|
|
cgroup_unlock();
|
|
|
|
|
@@ -4526,7 +4511,6 @@ mem_cgroup_create(struct cgroup_subsys *ss, struct cgroup *cont)
|
|
|
res_counter_init(&mem->memsw, NULL);
|
|
|
}
|
|
|
mem->last_scanned_child = 0;
|
|
|
- spin_lock_init(&mem->reclaim_param_lock);
|
|
|
INIT_LIST_HEAD(&mem->oom_notify);
|
|
|
|
|
|
if (parent)
|