On Sat, Sep 28, 2013 at 12:13 PM, Andi Kleen <a...@firstfloor.org> wrote: > > And afaik anon_vma is usually hold short.
Yes. But the problem with anon_vma is that the "usually" may be the 99.9% case, but then there are some insane loads that do tons of forking without execve, and they really make some of the rmap code work very very hard. And then they all not only share that one root vma, but the mm/rmap.c code ends up having to walk all their VM's because there could be a page in there somewhere. These loads aren't necessarily very realistic and very much not common, but I think AIM7 actually has one of those cases, iirc. Our anon_vma locking really is some of the more complex parts of the kernel. Not because of the lock itself, but because of the subtle rules about the whole anon_vma chain and how we have to lock the root of the chain etc etc. And under all _normal_ behavior it's not a problem at all. But I personally dread looking at some of that code, because if we get anything wrong there (and it's happened), it's too painful for words. Linus -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/