|
@@ -2795,14 +2795,6 @@ static void __mem_cgroup_commit_charge(struct mem_cgroup *memcg,
|
|
|
}
|
|
|
|
|
|
pc->mem_cgroup = memcg;
|
|
|
- /*
|
|
|
- * We access a page_cgroup asynchronously without lock_page_cgroup().
|
|
|
- * Especially when a page_cgroup is taken from a page, pc->mem_cgroup
|
|
|
- * is accessed after testing USED bit. To make pc->mem_cgroup visible
|
|
|
- * before USED bit, we need memory barrier here.
|
|
|
- * See mem_cgroup_add_lru_list(), etc.
|
|
|
- */
|
|
|
- smp_wmb();
|
|
|
SetPageCgroupUsed(pc);
|
|
|
|
|
|
if (lrucare) {
|
|
@@ -3483,7 +3475,6 @@ void mem_cgroup_split_huge_fixup(struct page *head)
|
|
|
for (i = 1; i < HPAGE_PMD_NR; i++) {
|
|
|
pc = head_pc + i;
|
|
|
pc->mem_cgroup = memcg;
|
|
|
- smp_wmb();/* see __commit_charge() */
|
|
|
pc->flags = head_pc->flags & ~PCGF_NOCOPY_AT_SPLIT;
|
|
|
}
|
|
|
__this_cpu_sub(memcg->stat->count[MEM_CGROUP_STAT_RSS_HUGE],
|