memrlimit: cgroup mm owner callback changes to add task info
This patch adds an additional field to the mm_owner callbacks. This field is required to get to the mm that changed. Hold mmap_sem in write mode before calling the mm_owner_changed callback [hugh@veritas.com: fix mmap_sem deadlock] Signed-off-by: Balbir Singh <balbir@linux.vnet.ibm.com> Cc: Sudhir Kumar <skumar@linux.vnet.ibm.com> Cc: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Cc: Paul Menage <menage@google.com> Cc: Li Zefan <lizf@cn.fujitsu.com> Cc: Pavel Emelianov <xemul@openvz.org> Cc: Balbir Singh <balbir@linux.vnet.ibm.com> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Cc: David Rientjes <rientjes@google.com> Cc: Vivek Goyal <vgoyal@redhat.com> Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
		
				
					committed by
					
						 Linus Torvalds
						Linus Torvalds
					
				
			
			
				
	
			
			
			
						parent
						
							1648993fb0
						
					
				
				
					commit
					9363b9f23c
				
			| @@ -2735,6 +2735,8 @@ void cgroup_fork_callbacks(struct task_struct *child) | ||||
|  * Called on every change to mm->owner. mm_init_owner() does not | ||||
|  * invoke this routine, since it assigns the mm->owner the first time | ||||
|  * and does not change it. | ||||
|  * | ||||
|  * The callbacks are invoked with mmap_sem held in read mode. | ||||
|  */ | ||||
| void cgroup_mm_owner_callbacks(struct task_struct *old, struct task_struct *new) | ||||
| { | ||||
| @@ -2750,7 +2752,7 @@ void cgroup_mm_owner_callbacks(struct task_struct *old, struct task_struct *new) | ||||
| 			if (oldcgrp == newcgrp) | ||||
| 				continue; | ||||
| 			if (ss->mm_owner_changed) | ||||
| 				ss->mm_owner_changed(ss, oldcgrp, newcgrp); | ||||
| 				ss->mm_owner_changed(ss, oldcgrp, newcgrp, new); | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user