All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrea Arcangeli <aarcange@redhat.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	qemu-devel@nongnu.org, kvm@vger.kernel.org,
	linux-api@vger.kernel.org, Pavel Emelyanov <xemul@parallels.com>,
	Sanidhya Kashyap <sanidhya.gatech@gmail.com>,
	zhang.zhanghailiang@huawei.com,
	Linus Torvalds <torvalds@linux-foundation.org>,
	"Kirill A. Shutemov" <kirill@shutemov.name>,
	Andres Lagar-Cavilla <andreslc@google.com>,
	Dave Hansen <dave.hansen@intel.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Rik van Riel <riel@redhat.com>, Mel Gorman <mgorman@suse.de>,
	Andy Lutomirski <luto@amacapital.net>,
	Hugh Dickins <hughd@google.com>,
	Peter Feiner <pfeiner@google.com>,
	"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
	Johannes Weiner <hannes@cmpxchg.org>,
	"Huangpeng (Peter)" <peter.huangpeng@huawei.com>
Subject: Re: [PATCH 22/23] userfaultfd: avoid mmap_sem read recursion in mcopy_atomic
Date: Fri, 22 May 2015 22:48:09 +0200	[thread overview]
Message-ID: <20150522204809.GB4251@redhat.com> (raw)
In-Reply-To: <20150522131822.74f374dd5a75a0285577c714@linux-foundation.org>

On Fri, May 22, 2015 at 01:18:22PM -0700, Andrew Morton wrote:
> On Thu, 14 May 2015 19:31:19 +0200 Andrea Arcangeli <aarcange@redhat.com> wrote:
> 
> > If the rwsem starves writers it wasn't strictly a bug but lockdep
> > doesn't like it and this avoids depending on lowlevel implementation
> > details of the lock.
> > 
> > ...
> >
> > @@ -229,13 +246,33 @@ static __always_inline ssize_t __mcopy_atomic(struct mm_struct *dst_mm,
> >  
> >  		if (!zeropage)
> >  			err = mcopy_atomic_pte(dst_mm, dst_pmd, dst_vma,
> > -					       dst_addr, src_addr);
> > +					       dst_addr, src_addr, &page);
> >  		else
> >  			err = mfill_zeropage_pte(dst_mm, dst_pmd, dst_vma,
> >  						 dst_addr);
> >  
> >  		cond_resched();
> >  
> > +		if (unlikely(err == -EFAULT)) {
> > +			void *page_kaddr;
> > +
> > +			BUILD_BUG_ON(zeropage);
> 
> I'm not sure what this is trying to do.  BUILD_BUG_ON(local_variable)?
> 
> It goes bang in my build.  I'll just delete it.

Yes, it has to be a false positive failure, so it's fine to drop
it. My gcc 4.8.4 can go inside the static called function and see that
only mcopy_atomic_pte can return -EFAULT. RHEL7 (4.8.3) gcc didn't
complain either. Perhaps to make the BUILD_BUG_ON work with older gcc,
it requrires a local variable set explicitly in the callee, but it's
not worth it.

It would be bad if we end up in the -EFAULT path in the zeropage case
(if somebody later adds an apparently innocent -EFAULT retval and
unexpectedly ends up in the mcopy_atomic_pte retry logic), but it's
not important, the caller should be reviewed before improvising new
retvals anyway.

The retry loop addition and the BUILD_BUG_ON is all about the
copy_from_user run while we already hold the mmap_sem (potentially of
a different process in the non-cooperative case but it's a problem if
it's the current task mmap_sem in case the rwlock implementation
changes to avoid write starvation and becomes non-reentrant). lockdep
definitely complains (even if I think in practice it'd be safe to
read-lock recurse, we just got lockdep complains never deadlocks in
fact). I didn't want to call gup_fast as copy_from_user is faster and
I got an usable user mapping with likely TLB entry hot too. The
lockdep warnings we hit I think were associated with NUMA hinting
faults or something infrequent like that, the fast path doesn't need
to retry.

Thanks,
Andrea

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

WARNING: multiple messages have this Message-ID (diff)
From: Andrea Arcangeli <aarcange@redhat.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	qemu-devel@nongnu.org, kvm@vger.kernel.org,
	linux-api@vger.kernel.org, Pavel Emelyanov <xemul@parallels.com>,
	Sanidhya Kashyap <sanidhya.gatech@gmail.com>,
	zhang.zhanghailiang@huawei.com,
	Linus Torvalds <torvalds@linux-foundation.org>,
	"Kirill A. Shutemov" <kirill@shutemov.name>,
	Andres Lagar-Cavilla <andreslc@google.com>,
	Dave Hansen <dave.hansen@intel.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Rik van Riel <riel@redhat.com>, Mel Gorman <mgorman@suse.de>,
	Andy Lutomirski <luto@amacapital.net>,
	Hugh Dickins <hughd@google.com>,
	Peter Feiner <pfeiner@google.com>,
	"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
	Johannes Weiner <hannes@cmpxchg.org>,
	"Huangpeng (Peter)" <peter.huangpeng@huawei.com>
Subject: Re: [PATCH 22/23] userfaultfd: avoid mmap_sem read recursion in mcopy_atomic
Date: Fri, 22 May 2015 22:48:09 +0200	[thread overview]
Message-ID: <20150522204809.GB4251@redhat.com> (raw)
In-Reply-To: <20150522131822.74f374dd5a75a0285577c714@linux-foundation.org>

On Fri, May 22, 2015 at 01:18:22PM -0700, Andrew Morton wrote:
> On Thu, 14 May 2015 19:31:19 +0200 Andrea Arcangeli <aarcange@redhat.com> wrote:
> 
> > If the rwsem starves writers it wasn't strictly a bug but lockdep
> > doesn't like it and this avoids depending on lowlevel implementation
> > details of the lock.
> > 
> > ...
> >
> > @@ -229,13 +246,33 @@ static __always_inline ssize_t __mcopy_atomic(struct mm_struct *dst_mm,
> >  
> >  		if (!zeropage)
> >  			err = mcopy_atomic_pte(dst_mm, dst_pmd, dst_vma,
> > -					       dst_addr, src_addr);
> > +					       dst_addr, src_addr, &page);
> >  		else
> >  			err = mfill_zeropage_pte(dst_mm, dst_pmd, dst_vma,
> >  						 dst_addr);
> >  
> >  		cond_resched();
> >  
> > +		if (unlikely(err == -EFAULT)) {
> > +			void *page_kaddr;
> > +
> > +			BUILD_BUG_ON(zeropage);
> 
> I'm not sure what this is trying to do.  BUILD_BUG_ON(local_variable)?
> 
> It goes bang in my build.  I'll just delete it.

Yes, it has to be a false positive failure, so it's fine to drop
it. My gcc 4.8.4 can go inside the static called function and see that
only mcopy_atomic_pte can return -EFAULT. RHEL7 (4.8.3) gcc didn't
complain either. Perhaps to make the BUILD_BUG_ON work with older gcc,
it requrires a local variable set explicitly in the callee, but it's
not worth it.

It would be bad if we end up in the -EFAULT path in the zeropage case
(if somebody later adds an apparently innocent -EFAULT retval and
unexpectedly ends up in the mcopy_atomic_pte retry logic), but it's
not important, the caller should be reviewed before improvising new
retvals anyway.

The retry loop addition and the BUILD_BUG_ON is all about the
copy_from_user run while we already hold the mmap_sem (potentially of
a different process in the non-cooperative case but it's a problem if
it's the current task mmap_sem in case the rwlock implementation
changes to avoid write starvation and becomes non-reentrant). lockdep
definitely complains (even if I think in practice it'd be safe to
read-lock recurse, we just got lockdep complains never deadlocks in
fact). I didn't want to call gup_fast as copy_from_user is faster and
I got an usable user mapping with likely TLB entry hot too. The
lockdep warnings we hit I think were associated with NUMA hinting
faults or something infrequent like that, the fast path doesn't need
to retry.

Thanks,
Andrea

WARNING: multiple messages have this Message-ID (diff)
From: Andrea Arcangeli <aarcange@redhat.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Hugh Dickins <hughd@google.com>,
	zhang.zhanghailiang@huawei.com, kvm@vger.kernel.org,
	Pavel Emelyanov <xemul@parallels.com>,
	linux-api@vger.kernel.org, Johannes Weiner <hannes@cmpxchg.org>,
	Dave Hansen <dave.hansen@intel.com>,
	linux-kernel@vger.kernel.org, qemu-devel@nongnu.org,
	linux-mm@kvack.org, Andres Lagar-Cavilla <andreslc@google.com>,
	Mel Gorman <mgorman@suse.de>, Paolo Bonzini <pbonzini@redhat.com>,
	"Kirill A. Shutemov" <kirill@shutemov.name>,
	"Huangpeng (Peter)" <peter.huangpeng@huawei.com>,
	Sanidhya Kashyap <sanidhya.gatech@gmail.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Andy Lutomirski <luto@amacapital.net>,
	"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
	Peter Feiner <pfeiner@google.com>
Subject: Re: [Qemu-devel] [PATCH 22/23] userfaultfd: avoid mmap_sem read recursion in mcopy_atomic
Date: Fri, 22 May 2015 22:48:09 +0200	[thread overview]
Message-ID: <20150522204809.GB4251@redhat.com> (raw)
In-Reply-To: <20150522131822.74f374dd5a75a0285577c714@linux-foundation.org>

On Fri, May 22, 2015 at 01:18:22PM -0700, Andrew Morton wrote:
> On Thu, 14 May 2015 19:31:19 +0200 Andrea Arcangeli <aarcange@redhat.com> wrote:
> 
> > If the rwsem starves writers it wasn't strictly a bug but lockdep
> > doesn't like it and this avoids depending on lowlevel implementation
> > details of the lock.
> > 
> > ...
> >
> > @@ -229,13 +246,33 @@ static __always_inline ssize_t __mcopy_atomic(struct mm_struct *dst_mm,
> >  
> >  		if (!zeropage)
> >  			err = mcopy_atomic_pte(dst_mm, dst_pmd, dst_vma,
> > -					       dst_addr, src_addr);
> > +					       dst_addr, src_addr, &page);
> >  		else
> >  			err = mfill_zeropage_pte(dst_mm, dst_pmd, dst_vma,
> >  						 dst_addr);
> >  
> >  		cond_resched();
> >  
> > +		if (unlikely(err == -EFAULT)) {
> > +			void *page_kaddr;
> > +
> > +			BUILD_BUG_ON(zeropage);
> 
> I'm not sure what this is trying to do.  BUILD_BUG_ON(local_variable)?
> 
> It goes bang in my build.  I'll just delete it.

Yes, it has to be a false positive failure, so it's fine to drop
it. My gcc 4.8.4 can go inside the static called function and see that
only mcopy_atomic_pte can return -EFAULT. RHEL7 (4.8.3) gcc didn't
complain either. Perhaps to make the BUILD_BUG_ON work with older gcc,
it requrires a local variable set explicitly in the callee, but it's
not worth it.

It would be bad if we end up in the -EFAULT path in the zeropage case
(if somebody later adds an apparently innocent -EFAULT retval and
unexpectedly ends up in the mcopy_atomic_pte retry logic), but it's
not important, the caller should be reviewed before improvising new
retvals anyway.

The retry loop addition and the BUILD_BUG_ON is all about the
copy_from_user run while we already hold the mmap_sem (potentially of
a different process in the non-cooperative case but it's a problem if
it's the current task mmap_sem in case the rwlock implementation
changes to avoid write starvation and becomes non-reentrant). lockdep
definitely complains (even if I think in practice it'd be safe to
read-lock recurse, we just got lockdep complains never deadlocks in
fact). I didn't want to call gup_fast as copy_from_user is faster and
I got an usable user mapping with likely TLB entry hot too. The
lockdep warnings we hit I think were associated with NUMA hinting
faults or something infrequent like that, the fast path doesn't need
to retry.

Thanks,
Andrea

  reply	other threads:[~2015-05-22 20:48 UTC|newest]

Thread overview: 219+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-14 17:30 [PATCH 00/23] userfaultfd v4 Andrea Arcangeli
2015-05-14 17:30 ` [Qemu-devel] " Andrea Arcangeli
2015-05-14 17:30 ` Andrea Arcangeli
2015-05-14 17:30 ` [PATCH 01/23] userfaultfd: linux/Documentation/vm/userfaultfd.txt Andrea Arcangeli
2015-05-14 17:30   ` [Qemu-devel] " Andrea Arcangeli
2015-05-14 17:30   ` Andrea Arcangeli
     [not found]   ` <1431624680-20153-2-git-send-email-aarcange-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-09-11  8:47     ` Michael Kerrisk (man-pages)
2015-09-11  8:47       ` [Qemu-devel] " Michael Kerrisk (man-pages)
2015-09-11  8:47       ` Michael Kerrisk (man-pages)
2015-09-11  8:47       ` Michael Kerrisk (man-pages)
2015-12-04 15:50       ` Michael Kerrisk (man-pages)
2015-12-04 15:50         ` [Qemu-devel] " Michael Kerrisk (man-pages)
2015-12-04 15:50         ` Michael Kerrisk (man-pages)
     [not found]         ` <5661B62B.2020409-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-12-04 17:55           ` Andrea Arcangeli
2015-12-04 17:55             ` [Qemu-devel] " Andrea Arcangeli
2015-12-04 17:55             ` Andrea Arcangeli
2015-12-04 17:55             ` Andrea Arcangeli
2015-05-14 17:30 ` [PATCH 02/23] userfaultfd: waitqueue: add nr wake parameter to __wake_up_locked_key Andrea Arcangeli
2015-05-14 17:30   ` [Qemu-devel] " Andrea Arcangeli
2015-05-14 17:30   ` Andrea Arcangeli
     [not found] ` <1431624680-20153-1-git-send-email-aarcange-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-05-14 17:31   ` [PATCH 03/23] userfaultfd: uAPI Andrea Arcangeli
2015-05-14 17:31     ` [Qemu-devel] " Andrea Arcangeli
2015-05-14 17:31     ` Andrea Arcangeli
2015-05-14 17:31     ` Andrea Arcangeli
2015-05-14 17:31   ` [PATCH 16/23] userfaultfd: allocate the userfaultfd_ctx cacheline aligned Andrea Arcangeli
2015-05-14 17:31     ` [Qemu-devel] " Andrea Arcangeli
2015-05-14 17:31     ` Andrea Arcangeli
2015-05-14 17:31     ` Andrea Arcangeli
2015-05-14 17:31 ` [PATCH 04/23] userfaultfd: linux/userfaultfd_k.h Andrea Arcangeli
2015-05-14 17:31   ` [Qemu-devel] " Andrea Arcangeli
2015-05-14 17:31   ` Andrea Arcangeli
2015-05-14 17:31 ` [PATCH 05/23] userfaultfd: add vm_userfaultfd_ctx to the vm_area_struct Andrea Arcangeli
2015-05-14 17:31   ` [Qemu-devel] " Andrea Arcangeli
2015-05-14 17:31   ` Andrea Arcangeli
2015-05-14 17:31 ` [PATCH 06/23] userfaultfd: add VM_UFFD_MISSING and VM_UFFD_WP Andrea Arcangeli
2015-05-14 17:31   ` [Qemu-devel] " Andrea Arcangeli
2015-05-14 17:31   ` Andrea Arcangeli
2015-05-14 17:31 ` [PATCH 07/23] userfaultfd: call handle_userfault() for userfaultfd_missing() faults Andrea Arcangeli
2015-05-14 17:31   ` [Qemu-devel] " Andrea Arcangeli
2015-05-14 17:31   ` Andrea Arcangeli
2015-05-14 17:31 ` [PATCH 08/23] userfaultfd: teach vma_merge to merge across vma->vm_userfaultfd_ctx Andrea Arcangeli
2015-05-14 17:31   ` [Qemu-devel] " Andrea Arcangeli
2015-05-14 17:31   ` Andrea Arcangeli
2015-05-14 17:31 ` [PATCH 09/23] userfaultfd: prevent khugepaged to merge if userfaultfd is armed Andrea Arcangeli
2015-05-14 17:31   ` [Qemu-devel] " Andrea Arcangeli
2015-05-14 17:31   ` Andrea Arcangeli
2015-05-14 17:31 ` [PATCH 10/23] userfaultfd: add new syscall to provide memory externalization Andrea Arcangeli
2015-05-14 17:31   ` [Qemu-devel] " Andrea Arcangeli
2015-05-14 17:31   ` Andrea Arcangeli
2015-05-14 17:49   ` Linus Torvalds
2015-05-14 17:49     ` [Qemu-devel] " Linus Torvalds
2015-05-14 17:49     ` Linus Torvalds
2015-05-15 16:04     ` Andrea Arcangeli
2015-05-15 16:04       ` [Qemu-devel] " Andrea Arcangeli
2015-05-15 16:04       ` Andrea Arcangeli
2015-05-15 16:04       ` Andrea Arcangeli
2015-05-15 18:22       ` Linus Torvalds
2015-05-15 18:22         ` [Qemu-devel] " Linus Torvalds
2015-05-15 18:22         ` Linus Torvalds
2015-05-27 11:41   ` Thomas Martitz
     [not found]   ` <1431624680-20153-11-git-send-email-aarcange-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-06-23 19:00     ` Dave Hansen
2015-06-23 19:00       ` [Qemu-devel] " Dave Hansen
2015-06-23 19:00       ` Dave Hansen
2015-06-23 19:00       ` Dave Hansen
     [not found]       ` <5589ACC3.3060401-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-06-23 21:41         ` Andrea Arcangeli
2015-06-23 21:41           ` [Qemu-devel] " Andrea Arcangeli
2015-06-23 21:41           ` Andrea Arcangeli
2015-06-23 21:41           ` Andrea Arcangeli
2015-05-14 17:31 ` [PATCH 11/23] userfaultfd: Rename uffd_api.bits into .features Andrea Arcangeli
2015-05-14 17:31   ` [Qemu-devel] " Andrea Arcangeli
2015-05-14 17:31   ` Andrea Arcangeli
2015-05-14 17:31 ` [PATCH 12/23] userfaultfd: Rename uffd_api.bits into .features fixup Andrea Arcangeli
2015-05-14 17:31   ` [Qemu-devel] " Andrea Arcangeli
2015-05-14 17:31   ` Andrea Arcangeli
2015-05-14 17:31 ` [PATCH 13/23] userfaultfd: change the read API to return a uffd_msg Andrea Arcangeli
2015-05-14 17:31   ` [Qemu-devel] " Andrea Arcangeli
2015-05-14 17:31   ` Andrea Arcangeli
2015-05-14 17:31 ` [PATCH 14/23] userfaultfd: wake pending userfaults Andrea Arcangeli
2015-05-14 17:31   ` [Qemu-devel] " Andrea Arcangeli
2015-05-14 17:31   ` Andrea Arcangeli
2015-10-22 12:10   ` Peter Zijlstra
2015-10-22 12:10     ` [Qemu-devel] " Peter Zijlstra
2015-10-22 12:10     ` Peter Zijlstra
     [not found]     ` <20151022121056.GB7520-ndre7Fmf5hadTX5a5knrm8zTDFooKrT+cvkQGrU6aU0@public.gmane.org>
2015-10-22 13:20       ` Andrea Arcangeli
2015-10-22 13:20         ` [Qemu-devel] " Andrea Arcangeli
2015-10-22 13:20         ` Andrea Arcangeli
2015-10-22 13:20         ` Andrea Arcangeli
2015-10-22 13:38         ` Peter Zijlstra
2015-10-22 13:38           ` [Qemu-devel] " Peter Zijlstra
2015-10-22 13:38           ` Peter Zijlstra
2015-10-22 14:18           ` Andrea Arcangeli
2015-10-22 14:18             ` [Qemu-devel] " Andrea Arcangeli
2015-10-22 14:18             ` Andrea Arcangeli
2015-10-22 14:18             ` Andrea Arcangeli
2015-10-22 14:18             ` Andrea Arcangeli
2015-10-22 15:15             ` Peter Zijlstra
2015-10-22 15:15               ` [Qemu-devel] " Peter Zijlstra
2015-10-22 15:15               ` Peter Zijlstra
2015-10-22 15:30               ` Andrea Arcangeli
2015-10-22 15:30                 ` [Qemu-devel] " Andrea Arcangeli
2015-10-22 15:30                 ` Andrea Arcangeli
2015-10-22 15:30                 ` Andrea Arcangeli
2015-10-22 15:30                 ` Andrea Arcangeli
2015-05-14 17:31 ` [PATCH 15/23] userfaultfd: optimize read() and poll() to be O(1) Andrea Arcangeli
2015-05-14 17:31   ` [Qemu-devel] " Andrea Arcangeli
2015-05-14 17:31   ` Andrea Arcangeli
2015-05-14 17:31 ` [PATCH 17/23] userfaultfd: solve the race between UFFDIO_COPY|ZEROPAGE and read Andrea Arcangeli
2015-05-14 17:31   ` [Qemu-devel] " Andrea Arcangeli
2015-05-14 17:31   ` Andrea Arcangeli
2015-05-14 17:31 ` [PATCH 18/23] userfaultfd: buildsystem activation Andrea Arcangeli
2015-05-14 17:31   ` [Qemu-devel] " Andrea Arcangeli
2015-05-14 17:31   ` Andrea Arcangeli
2015-05-14 17:31 ` [PATCH 19/23] userfaultfd: activate syscall Andrea Arcangeli
2015-05-14 17:31   ` [Qemu-devel] " Andrea Arcangeli
2015-05-14 17:31   ` Andrea Arcangeli
2015-08-11 10:07   ` [Qemu-devel] " Bharata B Rao
2015-08-11 10:07     ` Bharata B Rao
2015-08-11 10:07     ` Bharata B Rao
2015-08-11 13:48     ` Andrea Arcangeli
2015-08-11 13:48       ` Andrea Arcangeli
2015-08-11 13:48       ` Andrea Arcangeli
     [not found]       ` <20150811134826.GI4520-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-08-12  5:23         ` Bharata B Rao
2015-08-12  5:23           ` Bharata B Rao
2015-08-12  5:23           ` Bharata B Rao
2015-08-12  5:23           ` Bharata B Rao
     [not found]           ` <20150812052346.GC4587-xthvdsQ13ZrQT0dZR+AlfA@public.gmane.org>
2015-09-08  6:08             ` Michael Ellerman
2015-09-08  6:08               ` Michael Ellerman
2015-09-08  6:08               ` Michael Ellerman
2015-09-08  6:08               ` Michael Ellerman
     [not found]               ` <1441692486.14597.17.camel-Gsx/Oe8HsFggBc27wqDAHg@public.gmane.org>
2015-09-08  6:39                 ` Bharata B Rao
2015-09-08  6:39                   ` Bharata B Rao
2015-09-08  6:39                   ` Bharata B Rao
2015-09-08  6:39                   ` Bharata B Rao
     [not found]                   ` <20150908063948.GB678-xthvdsQ13ZrQT0dZR+AlfA@public.gmane.org>
2015-09-08  7:14                     ` Michael Ellerman
2015-09-08  7:14                       ` Michael Ellerman
2015-09-08  7:14                       ` Michael Ellerman
2015-09-08  7:14                       ` Michael Ellerman
2015-09-08 10:40                       ` Michael Ellerman
2015-09-08 10:40                         ` Michael Ellerman
2015-09-08 12:28                         ` Dr. David Alan Gilbert
2015-09-08 12:28                           ` Dr. David Alan Gilbert
2015-09-08 12:28                           ` Dr. David Alan Gilbert
2015-09-08  8:59                   ` Dr. David Alan Gilbert
2015-09-08  8:59                     ` Dr. David Alan Gilbert
2015-09-08  8:59                     ` Dr. David Alan Gilbert
2015-09-08 10:00                     ` Bharata B Rao
2015-09-08 10:00                       ` Bharata B Rao
2015-09-08 10:00                       ` Bharata B Rao
2015-09-08 10:00                       ` Bharata B Rao
2015-09-08 12:46                       ` Dr. David Alan Gilbert
2015-09-08 12:46                         ` Dr. David Alan Gilbert
2015-09-08 12:46                         ` Dr. David Alan Gilbert
2015-09-08 13:37                         ` Bharata B Rao
2015-09-08 13:37                           ` Bharata B Rao
2015-09-08 13:37                           ` Bharata B Rao
2015-09-08 13:37                           ` Bharata B Rao
2015-09-08 13:37                           ` Bharata B Rao
2015-09-08 14:13                           ` Dr. David Alan Gilbert
2015-09-08 14:13                             ` Dr. David Alan Gilbert
2015-09-08 14:13                             ` Dr. David Alan Gilbert
2015-09-08 14:13                             ` Dr. David Alan Gilbert
2015-09-08 14:13                             ` Dr. David Alan Gilbert
2015-09-10 12:24                             ` Bharata B Rao
2015-09-11 19:15                               ` Dr. David Alan Gilbert
2015-09-14 18:53                               ` Dr. David Alan Gilbert
2015-05-14 17:31 ` [PATCH 20/23] userfaultfd: UFFDIO_COPY|UFFDIO_ZEROPAGE uAPI Andrea Arcangeli
2015-05-14 17:31   ` [Qemu-devel] " Andrea Arcangeli
2015-05-14 17:31   ` Andrea Arcangeli
2015-05-14 17:31 ` [PATCH 21/23] userfaultfd: mcopy_atomic|mfill_zeropage: UFFDIO_COPY|UFFDIO_ZEROPAGE preparation Andrea Arcangeli
2015-05-14 17:31   ` [Qemu-devel] " Andrea Arcangeli
2015-05-14 17:31   ` Andrea Arcangeli
2015-05-14 17:31 ` [PATCH 22/23] userfaultfd: avoid mmap_sem read recursion in mcopy_atomic Andrea Arcangeli
2015-05-14 17:31   ` [Qemu-devel] " Andrea Arcangeli
2015-05-14 17:31   ` Andrea Arcangeli
2015-05-22 20:18   ` Andrew Morton
2015-05-22 20:18     ` [Qemu-devel] " Andrew Morton
2015-05-22 20:18     ` Andrew Morton
2015-05-22 20:48     ` Andrea Arcangeli [this message]
2015-05-22 20:48       ` [Qemu-devel] " Andrea Arcangeli
2015-05-22 20:48       ` Andrea Arcangeli
2015-05-22 21:18       ` Andrew Morton
2015-05-22 21:18         ` [Qemu-devel] " Andrew Morton
2015-05-22 21:18         ` Andrew Morton
2015-05-23  1:04         ` Andrea Arcangeli
2015-05-23  1:04           ` [Qemu-devel] " Andrea Arcangeli
2015-05-23  1:04           ` Andrea Arcangeli
2015-05-23  1:04           ` Andrea Arcangeli
2015-05-23  1:04           ` Andrea Arcangeli
2015-05-14 17:31 ` [PATCH 23/23] userfaultfd: UFFDIO_COPY and UFFDIO_ZEROPAGE Andrea Arcangeli
2015-05-14 17:31   ` [Qemu-devel] " Andrea Arcangeli
2015-05-14 17:31   ` Andrea Arcangeli
2015-05-18 14:24 ` [PATCH 00/23] userfaultfd v4 Pavel Emelyanov
2015-05-18 14:24   ` [Qemu-devel] " Pavel Emelyanov
2015-05-18 14:24   ` Pavel Emelyanov
2015-05-18 14:24   ` Pavel Emelyanov
2015-05-19 21:38 ` Andrew Morton
2015-05-19 21:38   ` [Qemu-devel] " Andrew Morton
2015-05-19 21:38   ` Andrew Morton
2015-05-19 21:59   ` Richard Weinberger
2015-05-19 21:59     ` [Qemu-devel] " Richard Weinberger
2015-05-19 21:59     ` Richard Weinberger
2015-05-20 14:17     ` Andrea Arcangeli
2015-05-20 14:17       ` [Qemu-devel] " Andrea Arcangeli
2015-05-20 14:17       ` Andrea Arcangeli
2015-05-20 14:17       ` Andrea Arcangeli
2015-05-20 13:23   ` Andrea Arcangeli
2015-05-20 13:23     ` [Qemu-devel] " Andrea Arcangeli
2015-05-20 13:23     ` Andrea Arcangeli
2015-05-21 13:11 ` Kirill Smelkov
2015-05-21 13:11   ` [Qemu-devel] " Kirill Smelkov
2015-05-21 13:11   ` Kirill Smelkov
2015-05-21 15:52   ` Andrea Arcangeli
2015-05-21 15:52     ` [Qemu-devel] " Andrea Arcangeli
2015-05-21 15:52     ` Andrea Arcangeli
2015-05-21 15:52     ` Andrea Arcangeli
2015-05-21 15:52     ` Andrea Arcangeli
2015-05-22 16:35     ` Kirill Smelkov
2015-05-22 16:35       ` [Qemu-devel] " Kirill Smelkov
2015-05-22 16:35       ` Kirill Smelkov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150522204809.GB4251@redhat.com \
    --to=aarcange@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=andreslc@google.com \
    --cc=dave.hansen@intel.com \
    --cc=dgilbert@redhat.com \
    --cc=hannes@cmpxchg.org \
    --cc=hughd@google.com \
    --cc=kirill@shutemov.name \
    --cc=kvm@vger.kernel.org \
    --cc=linux-api@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=luto@amacapital.net \
    --cc=mgorman@suse.de \
    --cc=pbonzini@redhat.com \
    --cc=peter.huangpeng@huawei.com \
    --cc=pfeiner@google.com \
    --cc=qemu-devel@nongnu.org \
    --cc=riel@redhat.com \
    --cc=sanidhya.gatech@gmail.com \
    --cc=torvalds@linux-foundation.org \
    --cc=xemul@parallels.com \
    --cc=zhang.zhanghailiang@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.