Re: [patch] my mmu notifiers

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Jack Steiner
Date: Tuesday, February 19, 2008 - 7:27 am

> On Tue, Feb 19, 2008 at 02:58:51PM +0100, Andrea Arcangeli wrote:

As it turns out, no actual mutex is required. _begin_ simply increments a
count of active range invalidates, _end_ decrements the count. New TLB
dropins are deferred while range callouts are active.

This would appear to be racy but the GRU has special hardware that
simplifies locking. When the GRU sees a TLB invalidate, all outstanding
misses & potentially inflight TLB dropins are marked by the GRU with a
"kill" bit. When the dropin finally occurs, the dropin is ignored & the
instruction is simply restarted. The instruction will fault again & the TLB
dropin will be repeated.  This is optimized for the case where invalidates
are rare - true for users of the GRU.


In general, though, I agree. Most users of mmu_notifiers would likely
required a mutex or something equivalent.


--- jack



--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[patch] my mmu notifiers, Nick Piggin, (Tue Feb 19, 1:43 am)
[patch] my mmu notifier sample driver, Nick Piggin, (Tue Feb 19, 1:44 am)
Re: [patch] my mmu notifiers, Robin Holt, (Tue Feb 19, 4:59 am)
Re: [patch] my mmu notifiers, Andrea Arcangeli, (Tue Feb 19, 6:58 am)
Re: [patch] my mmu notifiers, Jack Steiner, (Tue Feb 19, 7:27 am)
Re: [patch] my mmu notifiers, Nick Piggin, (Tue Feb 19, 3:59 pm)
Re: [patch] my mmu notifiers, Nick Piggin, (Tue Feb 19, 4:04 pm)
Re: [patch] my mmu notifiers, Nick Piggin, (Tue Feb 19, 4:11 pm)
Re: [patch] my mmu notifiers, Jack Steiner, (Tue Feb 19, 4:40 pm)
Re: [patch] my mmu notifiers, Andrea Arcangeli, (Tue Feb 19, 5:46 pm)
Re: [patch] my mmu notifiers, Andrea Arcangeli, (Tue Feb 19, 5:52 pm)
Re: [patch] my mmu notifiers, Andrea Arcangeli, (Tue Feb 19, 6:09 pm)
Re: [patch] my mmu notifiers, Robin Holt, (Tue Feb 19, 7:46 pm)
Re: [patch] my mmu notifiers, Robin Holt, (Tue Feb 19, 7:49 pm)
[PATCH] mmu notifiers #v6, Andrea Arcangeli, (Wed Feb 20, 3:39 am)
[PATCH] KVM swapping (+ seqlock fix) with mmu notifiers #v6, Andrea Arcangeli, (Wed Feb 20, 3:45 am)
Re: [PATCH] mmu notifiers #v6, Robin Holt, (Wed Feb 20, 4:33 am)
Re: [PATCH] mmu notifiers #v6, Andrea Arcangeli, (Wed Feb 20, 5:03 am)
Re: [PATCH] mmu notifiers #v6, Robin Holt, (Wed Feb 20, 5:24 am)
Re: [PATCH] mmu notifiers #v6, Andrea Arcangeli, (Wed Feb 20, 5:32 am)
Re: [PATCH] mmu notifiers #v6, Robin Holt, (Wed Feb 20, 6:15 am)
Re: [PATCH] mmu notifiers #v6, Robin Holt, (Wed Feb 20, 7:41 am)
Re: [PATCH] mmu notifiers #v6, Andrea Arcangeli, (Wed Feb 20, 8:34 am)
Re: [PATCH] mmu notifiers #v6, Jack Steiner, (Wed Feb 20, 2:03 pm)
Re: [patch] my mmu notifiers, Nick Piggin, (Wed Feb 20, 9:42 pm)
Re: [patch] my mmu notifiers, Nick Piggin, (Wed Feb 20, 9:47 pm)
Re: [PATCH] mmu notifiers #v6, Nick Piggin, (Wed Feb 20, 9:54 pm)
Re: [PATCH] mmu notifiers #v6, Nick Piggin, (Wed Feb 20, 10:02 pm)
Re: [PATCH] mmu notifiers #v6, Andrea Arcangeli, (Thu Feb 21, 7:40 am)
Re: [PATCH] mmu notifiers #v6, Jack Steiner, (Thu Feb 21, 9:10 am)
Re: [patch] my mmu notifiers, Jack Steiner, (Fri Feb 22, 9:31 am)
[PATCH] mmu notifiers #v7, Andrea Arcangeli, (Wed Feb 27, 12:26 pm)
Re: [PATCH] mmu notifiers #v7, Peter Zijlstra, (Wed Feb 27, 1:04 pm)
[PATCH] KVM swapping with mmu notifiers #v7, Andrea Arcangeli, (Wed Feb 27, 3:06 pm)
Re: [patch] my mmu notifiers, Christoph Lameter, (Wed Feb 27, 3:50 pm)
Re: [patch] my mmu notifiers, Christoph Lameter, (Wed Feb 27, 3:55 pm)
Re: [patch] my mmu notifiers, Christoph Lameter, (Wed Feb 27, 3:56 pm)
Re: [PATCH] mmu notifiers #v7, Christoph Lameter, (Wed Feb 27, 4:06 pm)
Re: [kvm-devel] [PATCH] mmu notifiers #v7, Andrea Arcangeli, (Wed Feb 27, 4:43 pm)
Re: [kvm-devel] [PATCH] mmu notifiers #v7, Christoph Lameter, (Wed Feb 27, 5:08 pm)
Re: [kvm-devel] [PATCH] mmu notifiers #v7, Andrea Arcangeli, (Wed Feb 27, 5:21 pm)
Re: [kvm-devel] [PATCH] mmu notifiers #v7, Christoph Lameter, (Wed Feb 27, 5:24 pm)
Re: [PATCH] KVM swapping with mmu notifiers #v7, izik eidus, (Thu Feb 28, 1:42 am)
Re: [PATCH] mmu notifiers #v7, Christoph Lameter, (Thu Feb 28, 12:48 pm)
Re: [PATCH] mmu notifiers #v7, Andrea Arcangeli, (Thu Feb 28, 2:52 pm)
Re: [PATCH] mmu notifiers #v7, Christoph Lameter, (Thu Feb 28, 3:00 pm)
Re: [PATCH] mmu notifiers #v7, Christoph Lameter, (Thu Feb 28, 4:05 pm)
Re: [PATCH] mmu notifiers #v7, Jack Steiner, (Thu Feb 28, 4:17 pm)
Re: [PATCH] mmu notifiers #v7, Andrea Arcangeli, (Thu Feb 28, 5:24 pm)
Re: [PATCH] mmu notifiers #v7, Andrea Arcangeli, (Thu Feb 28, 5:40 pm)
Re: [PATCH] mmu notifiers #v7, Andrew Morton, (Thu Feb 28, 5:56 pm)
Re: [PATCH] mmu notifiers #v7, Christoph Lameter, (Thu Feb 28, 6:03 pm)
Re: [PATCH] mmu notifiers #v7, Christoph Lameter, (Thu Feb 28, 6:13 pm)
Re: [PATCH] mmu notifiers #v7, Andrea Arcangeli, (Fri Feb 29, 6:09 am)
Re: [PATCH] mmu notifiers #v7, Christoph Lameter, (Fri Feb 29, 12:46 pm)
[PATCH] mmu notifiers #v8, Andrea Arcangeli, (Sun Mar 2, 8:54 am)
Re: [PATCH] mmu notifiers #v8 + xpmem, Andrea Arcangeli, (Sun Mar 2, 9:03 am)
Re: [PATCH] mmu notifiers #v8 + xpmem, Peter Zijlstra, (Sun Mar 2, 9:23 am)
Re: [PATCH] mmu notifiers #v8, Nick Piggin, (Sun Mar 2, 8:29 pm)
Re: [PATCH] mmu notifiers #v8, Nick Piggin, (Sun Mar 2, 8:33 pm)
Re: [PATCH] mmu notifiers #v8, Nick Piggin, (Sun Mar 2, 8:34 pm)
Re: [PATCH] mmu notifiers #v8, Nick Piggin, (Sun Mar 2, 8:39 pm)
Re: [PATCH] mmu notifiers #v8, Andrea Arcangeli, (Mon Mar 3, 5:51 am)
Re: [PATCH] mmu notifiers #v8, Nick Piggin, (Mon Mar 3, 6:10 am)
Re: [PATCH] mmu notifiers #v8, Andrea Arcangeli, (Mon Mar 3, 6:24 am)
Re: [PATCH] mmu notifiers #v8, Jack Steiner, (Mon Mar 3, 8:18 am)
Re: [PATCH] mmu notifiers #v8, Nick Piggin, (Mon Mar 3, 9:59 am)
Re: [PATCH] mmu notifiers #v8, Jack Steiner, (Mon Mar 3, 11:06 am)
Re: [PATCH] mmu notifiers #v8, Avi Kivity, (Mon Mar 3, 11:09 am)
Re: [PATCH] mmu notifiers #v8, Jack Steiner, (Mon Mar 3, 11:23 am)
Re: [PATCH] mmu notifiers #v8, Nick Piggin, (Mon Mar 3, 11:45 am)
Re: [PATCH] mmu notifiers #v8, Christoph Lameter, (Mon Mar 3, 12:01 pm)
Re: [PATCH] mmu notifiers #v8, Christoph Lameter, (Mon Mar 3, 12:02 pm)
Re: [PATCH] mmu notifiers #v8, Christoph Lameter, (Mon Mar 3, 12:03 pm)
Re: [PATCH] mmu notifiers #v8, Christoph Lameter, (Mon Mar 3, 12:04 pm)
Re: [PATCH] mmu notifiers #v8, Jack Steiner, (Mon Mar 3, 12:15 pm)
Re: [PATCH] mmu notifiers #v8, Andrea Arcangeli, (Mon Mar 3, 2:15 pm)
[PATCH] mmu notifiers #v9, Andrea Arcangeli, (Mon Mar 3, 2:37 pm)
[PATCH] KVM swapping with mmu notifiers #v9, Andrea Arcangeli, (Mon Mar 3, 3:05 pm)
Re: [PATCH] KVM swapping with mmu notifiers #v9, izik eidus, (Mon Mar 3, 5:44 pm)
[RFC] Notifier for Externally Mapped Memory (EMM), Christoph Lameter, (Tue Mar 4, 12:31 am)
[Early draft] Conversion of i_mmap_lock to semaphore, Christoph Lameter, (Tue Mar 4, 12:34 am)
Re: [PATCH] mmu notifiers #v8, Peter Zijlstra, (Tue Mar 4, 3:35 am)
Re: [PATCH] KVM swapping with mmu notifiers #v9, Andrea Arcangeli, (Tue Mar 4, 6:21 am)
Re: [RFC] Notifier for Externally Mapped Memory (EMM), Andrea Arcangeli, (Tue Mar 4, 6:30 am)
Re: [PATCH] mmu notifiers #v8, Jack Steiner, (Tue Mar 4, 7:44 am)
Re: [RFC] Notifier for Externally Mapped Memory (EMM), Christoph Lameter, (Tue Mar 4, 12:00 pm)
Re: [RFC] Notifier for Externally Mapped Memory (EMM), Andrea Arcangeli, (Tue Mar 4, 3:20 pm)
Re: [RFC] Notifier for Externally Mapped Memory (EMM), Christoph Lameter, (Tue Mar 4, 3:35 pm)
Re: [RFC] Notifier for Externally Mapped Memory (EMM), Peter Zijlstra, (Tue Mar 4, 3:42 pm)
Re: [RFC] Notifier for Externally Mapped Memory (EMM), Christoph Lameter, (Tue Mar 4, 4:14 pm)
Re: [RFC] Notifier for Externally Mapped Memory (EMM), Peter Zijlstra, (Tue Mar 4, 4:25 pm)
Re: [RFC] Notifier for Externally Mapped Memory (EMM), Peter Zijlstra, (Tue Mar 4, 4:30 pm)
Re: [PATCH] mmu notifiers #v8, Nick Piggin, (Tue Mar 4, 5:37 pm)
Re: [PATCH] mmu notifiers #v8, Christoph Lameter, (Wed Mar 5, 11:48 am)
Re: [PATCH] mmu notifiers #v8, Nick Piggin, (Wed Mar 5, 7:59 pm)
[PATCH] 4/4 i_mmap_lock spinlock2rwsem (#v9 was 1/4), Andrea Arcangeli, (Fri Mar 7, 8:52 am)
Re: [PATCH] 2/4 move all invalidate_page outside of PT loc ..., Christoph Lameter, (Fri Mar 7, 12:54 pm)
Re: [PATCH] 4/4 i_mmap_lock spinlock2rwsem (#v9 was 1/4), Christoph Lameter, (Fri Mar 7, 1:03 pm)
Re: [PATCH] 4/4 i_mmap_lock spinlock2rwsem (#v9 was 1/4), Christoph Lameter, (Wed Mar 19, 2:27 pm)