From: Andrea A. <an...@qu...> - 2008-04-22 13:22:51
|
On Tue, Apr 22, 2008 at 08:01:20AM -0500, Robin Holt wrote: > On Tue, Apr 22, 2008 at 02:00:56PM +0200, Andrea Arcangeli wrote: > > On Tue, Apr 22, 2008 at 09:20:26AM +0200, Andrea Arcangeli wrote: > > > invalidate_range_start { > > > spin_lock(&kvm->mmu_lock); > > > > > > kvm->invalidate_range_count++; > > > rmap-invalidate of sptes in range > > > > > > > write_seqlock; write_sequnlock; > > I don't think you need it here since invalidate_range_count is already > elevated which will accomplish the same effect. Agreed, seqlock only in range_end should be enough. BTW, the fact seqlock is needed regardless of invalidate_page existing or not, really makes invalidate_page a no brainer not just from the core VM point of view, but from the driver point of view too. The kvm_page_fault logic would be the same even if I remove invalidate_page from the mmu notifier patch but it'd run slower both when armed and disarmed. |