Messages in this thread | | | Date | Tue, 26 May 2015 20:57:27 +0200 | From | Oleg Nesterov <> | Subject | Re: [RFC][PATCH 0/5] Optimize percpu-rwsem |
| |
On 05/26, Linus Torvalds wrote: > > On Tue, May 26, 2015 at 4:43 AM, Peter Zijlstra <peterz@infradead.org> wrote: > > > > This is a derived work of the cpu hotplug lock rework I did in 2013 which never > > really went anywhere because Linus didn't like it. > > > > This applies those same optimizations to the percpu-rwsem. Seeing how we did > > all the work it seemed a waste to not use it at all. > > So I *still* don't like it. > > We literally have one single percpu-rwsem IN THE WHOLE KERNEL TREE. > > One.
Well. IIRC Tejun is going to turn signal_struct->group_rwsem into percpu-rwsem.
And it can have more users. Say, __sb_start_write/etc does something similar, and last time I checked this code it looked buggy to me.
> And that single use that you are optimizing for isn't even explained. > It's not really even clear that that thing is needed: fork() already > takes the mmap_sem for writing, and I'm not at all convinced that the > uprobes code couldn't just use mmap_sem for every mm it traverses,
I don't think we can do this... At least I do not see how.
register_for_each_vma() would need to lock all ->mmap_sem's in system to avoid the race with fork().
Oleg.
| |