[PATCH 1/7] cgroup: cgroup_subsys->fork() should be called after the task is added to css_set
oleg at redhat.com
Thu Oct 25 17:42:33 UTC 2012
On 10/24, Tejun Heo wrote:
> On Tue, Oct 23, 2012 at 05:51:28PM +0200, Oleg Nesterov wrote:
> > 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=135032816223715
> Ooh... that's something completely different.
> > [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...
More information about the Containers