Re: [PATCH 1/7] cgroup: cgroup_subsys->fork() should be called after the task is added to css_set
From: Oleg Nesterov <hidden>
Date: 2012-10-25 17:41:30
Also in:
lkml
From: Oleg Nesterov <hidden>
Date: 2012-10-25 17:41:30
Also in:
lkml
On 10/24, Tejun Heo wrote:
Hello, On Tue, Oct 23, 2012 at 05:51:28PM +0200, Oleg Nesterov wrote:quoted
Yes, yes. But in this case (I mean, for uprobes) "threadgroup" in the name is misleading. It should be called unconditially without any argument. Please see [PATCH 1/2] brw_mutex: big read-write mutex http://marc.info/?l=linux-kernel&m=135032816223715Ooh... that's something completely different.quoted
[PATCH 2/2] uprobes: Use brw_mutex to fix register/unregister vs dup_mmap() race http://marc.info/?l=linux-kernel&m=135032817823720 for details, but in short 2/2 needs this giant lock to block dup_mmap() system-wide, while cgroup (currently) only needs threadgroup lock if CLONE_THREAD (ignoring do_exit) and per-task. So please forget, I no longer think it makes sense to use the same thing for uprobes and cgroups.It is quite tempting to reduce hot path overhead and penalize cgroup migration ops more tho. Write-locking brw_mutex on migration might not be too bad. Why did you change your mind?
Well, mostly because I do not think 1/2 will be ever applied ;) Since we already have (to my surprise!) percpu_rw_semaphore, I do not think I can add another similar lock. Perhaps uprobes can use percpu_rw_semaphore, but I am not sure... Oleg.