[ofa-general] Re: [PATCH 08 of 11] anon-vma-rwsem
Andrea Arcangeli
andrea at qumranet.com
Wed May 7 18:34:59 PDT 2008
Sorry for not having completely answered to this. I initially thought
stop_machine could work when you mentioned it, but I don't think it
can even removing xpmem block-inside-mmu-notifier-method requirements.
For stop_machine to solve this (besides being slower and potentially
not more safe as running stop_machine in a loop isn't nice), we'd need
to prevent preemption in between invalidate_range_start/end.
I think there are two ways:
1) add global lock around mm_lock to remove the sorting
2) remove invalidate_range_start/end, nuke mm_lock as consequence of
it, and replace all three with invalidate_pages issued inside the
PT lock, one invalidation for each 512 pte_t modified, so
serialization against get_user_pages becomes trivial but this will
be not ok at all for SGI as it increases a lot their invalidation
frequency
For KVM both ways are almost the same.
I'll implement 1 now then we'll see...
More information about the general
mailing list