memcg: add comments explaining memory barriers
Add comments for the reason of smp_wmb() in mem_cgroup_commit_charge(). [akpm@linux-foundation.org: coding-style fixes] Cc: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp> Cc: Balbir Singh <balbir@linux.vnet.ibm.com> Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
		
							parent
							
								
									4b3bde4c98
								
							
						
					
					
						commit
						261fb61a8b
					
				| @ -1134,6 +1134,13 @@ static void __mem_cgroup_commit_charge(struct mem_cgroup *mem, | ||||
| 	} | ||||
| 
 | ||||
| 	pc->mem_cgroup = mem; | ||||
| 	/*
 | ||||
| 	 * 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(); | ||||
| 	switch (ctype) { | ||||
| 	case MEM_CGROUP_CHARGE_TYPE_CACHE: | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user