On Thu, Jun 16, 2011 at 1:47 PM, Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote: > > I guess I'll cook up an improved patch that does it for the vma exit > case too, and see if that just makes the semaphores be a non-issue. Ok, I bet it doesn't make them a non-issue, but if doing this in anon_vma_clone() helped a lot, then doing the exact same pattern in unlink_anon_vmas() hopefully helps some more. This patch is UNTESTED! It replaces my previous one (it's really just an extension of it), and while I actually test-booted that previous one I did *not* do it for this one. So please look out. But it's using the exact same pattern, so there should be no real surprises. Does it improve things further on your load? (Btw, I'm not at all certain about that "we can get an empty anon_vma_chain" comment. I left it - and the test for a NULL anon_vma - in the code, but I think it's bogus. If we've linked in the anon_vma_chain, it will have an anon_vma associated with it, I'm pretty sure) VM people, please do comment on both that "empty anon_vma_chain" issue, and on whether we can ever have two different anon_vma roots in the 'same_vma' list. I have that WARN_ON_ONCE() there in both paths, I just wonder whether we should just inconditionally take the first entry in the list and lock it outside the whole loop instead? Peter? Hugh? Linus -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>