All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrea Arcangeli <andrea@qumranet.com>
To: Jack Steiner <steiner@sgi.com>
Cc: Christoph Lameter <clameter@sgi.com>,
	Nick Piggin <npiggin@suse.de>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	kvm-devel@lists.sourceforge.net,
	Kanoj Sarcar <kanojsarcar@yahoo.com>,
	Roland Dreier <rdreier@cisco.com>,
	Steve Wise <swise@opengridcomputing.com>,
	linux-kernel@vger.kernel.org, Avi Kivity <avi@qumranet.com>,
	linux-mm@kvack.org, Robin Holt <holt@sgi.com>,
	general@lists.openfabrics.org, Hugh Dickins <hugh@veritas.com>,
	akpm@linux-foundation.org, Rusty Russell <rusty@rustcorp.com.au>
Subject: Re: [PATCH 01 of 12] Core of mmu notifiers
Date: Wed, 23 Apr 2008 19:45:50 +0200	[thread overview]
Message-ID: <20080423174550.GF24536@duo.random> (raw)
In-Reply-To: <20080423170909.GA1459@sgi.com>

On Wed, Apr 23, 2008 at 12:09:09PM -0500, Jack Steiner wrote:
> 
> You may have spotted this already. If so, just ignore this.
> 
> It looks like there is a bug in copy_page_range() around line 667.
> It's possible to do a mmu_notifier_invalidate_range_start(), then
> return -ENOMEM w/o doing a corresponding mmu_notifier_invalidate_range_end().

No I didn't spot it yet, great catch!! ;) Thanks a lot. I think we can
take example by Jack and use our energy to spot any bug in the
mmu-notifier-core like with his above auditing effort (I'm quite
certain you didn't reprouce this with real oom ;) so we get a rock
solid mmu-notifier implementation in 2.6.26 so XPMEM will also benefit
later in 2.6.27 and I hope the last XPMEM internal bugs will also be
fixed by that time.

(for the not going to become mmu-notifier users, nothing to worry
about for you, unless you used KVM or GRU actively with mmu-notifiers
this bug would be entirely harmless with both MMU_NOTIFIER=n and =y,
as previously guaranteed)

Here the still untested fix for review.

diff --git a/mm/memory.c b/mm/memory.c
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -597,6 +597,7 @@
 	unsigned long next;
 	unsigned long addr = vma->vm_start;
 	unsigned long end = vma->vm_end;
+	int ret;
 
 	/*
 	 * Don't copy ptes where a page fault will fill them correctly.
@@ -604,33 +605,39 @@
 	 * readonly mappings. The tradeoff is that copy_page_range is more
 	 * efficient than faulting.
 	 */
+	ret = 0;
 	if (!(vma->vm_flags & (VM_HUGETLB|VM_NONLINEAR|VM_PFNMAP|VM_INSERTPAGE))) {
 		if (!vma->anon_vma)
-			return 0;
+			goto out;
 	}
 
-	if (is_vm_hugetlb_page(vma))
-		return copy_hugetlb_page_range(dst_mm, src_mm, vma);
+	if (unlikely(is_vm_hugetlb_page(vma))) {
+		ret = copy_hugetlb_page_range(dst_mm, src_mm, vma);
+		goto out;
+	}
 
 	if (is_cow_mapping(vma->vm_flags))
 		mmu_notifier_invalidate_range_start(src_mm, addr, end);
 
+	ret = 0;
 	dst_pgd = pgd_offset(dst_mm, addr);
 	src_pgd = pgd_offset(src_mm, addr);
 	do {
 		next = pgd_addr_end(addr, end);
 		if (pgd_none_or_clear_bad(src_pgd))
 			continue;
-		if (copy_pud_range(dst_mm, src_mm, dst_pgd, src_pgd,
-						vma, addr, next))
-			return -ENOMEM;
+		if (unlikely(copy_pud_range(dst_mm, src_mm, dst_pgd, src_pgd,
+					    vma, addr, next))) {
+			ret = -ENOMEM;
+			break;
+		}
 	} while (dst_pgd++, src_pgd++, addr = next, addr != end);
 
 	if (is_cow_mapping(vma->vm_flags))
 		mmu_notifier_invalidate_range_end(src_mm,
-						vma->vm_start, end);
-
-	return 0;
+						  vma->vm_start, end);
+out:
+	return ret;
 }
 
 static unsigned long zap_pte_range(struct mmu_gather *tlb,

WARNING: multiple messages have this Message-ID (diff)
From: Andrea Arcangeli <andrea@qumranet.com>
To: Jack Steiner <steiner@sgi.com>
Cc: Nick Piggin <npiggin@suse.de>,
	Rusty Russell <rusty@rustcorp.com.au>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	kvm-devel@lists.sourceforge.net,
	Kanoj Sarcar <kanojsarcar@yahoo.com>,
	Roland Dreier <rdreier@cisco.com>,
	linux-kernel@vger.kernel.org, Avi Kivity <avi@qumranet.com>,
	linux-mm@kvack.org, Robin Holt <holt@sgi.com>,
	general@lists.openfabrics.org, Hugh Dickins <hugh@veritas.com>,
	akpm@linux-foundation.org, Christoph Lameter <clameter@sgi.com>
Subject: [ofa-general] Re: [PATCH 01 of 12] Core of mmu notifiers
Date: Wed, 23 Apr 2008 19:45:50 +0200	[thread overview]
Message-ID: <20080423174550.GF24536@duo.random> (raw)
In-Reply-To: <20080423170909.GA1459@sgi.com>

On Wed, Apr 23, 2008 at 12:09:09PM -0500, Jack Steiner wrote:
> 
> You may have spotted this already. If so, just ignore this.
> 
> It looks like there is a bug in copy_page_range() around line 667.
> It's possible to do a mmu_notifier_invalidate_range_start(), then
> return -ENOMEM w/o doing a corresponding mmu_notifier_invalidate_range_end().

No I didn't spot it yet, great catch!! ;) Thanks a lot. I think we can
take example by Jack and use our energy to spot any bug in the
mmu-notifier-core like with his above auditing effort (I'm quite
certain you didn't reprouce this with real oom ;) so we get a rock
solid mmu-notifier implementation in 2.6.26 so XPMEM will also benefit
later in 2.6.27 and I hope the last XPMEM internal bugs will also be
fixed by that time.

(for the not going to become mmu-notifier users, nothing to worry
about for you, unless you used KVM or GRU actively with mmu-notifiers
this bug would be entirely harmless with both MMU_NOTIFIER=n and =y,
as previously guaranteed)

Here the still untested fix for review.

diff --git a/mm/memory.c b/mm/memory.c
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -597,6 +597,7 @@
 	unsigned long next;
 	unsigned long addr = vma->vm_start;
 	unsigned long end = vma->vm_end;
+	int ret;
 
 	/*
 	 * Don't copy ptes where a page fault will fill them correctly.
@@ -604,33 +605,39 @@
 	 * readonly mappings. The tradeoff is that copy_page_range is more
 	 * efficient than faulting.
 	 */
+	ret = 0;
 	if (!(vma->vm_flags & (VM_HUGETLB|VM_NONLINEAR|VM_PFNMAP|VM_INSERTPAGE))) {
 		if (!vma->anon_vma)
-			return 0;
+			goto out;
 	}
 
-	if (is_vm_hugetlb_page(vma))
-		return copy_hugetlb_page_range(dst_mm, src_mm, vma);
+	if (unlikely(is_vm_hugetlb_page(vma))) {
+		ret = copy_hugetlb_page_range(dst_mm, src_mm, vma);
+		goto out;
+	}
 
 	if (is_cow_mapping(vma->vm_flags))
 		mmu_notifier_invalidate_range_start(src_mm, addr, end);
 
+	ret = 0;
 	dst_pgd = pgd_offset(dst_mm, addr);
 	src_pgd = pgd_offset(src_mm, addr);
 	do {
 		next = pgd_addr_end(addr, end);
 		if (pgd_none_or_clear_bad(src_pgd))
 			continue;
-		if (copy_pud_range(dst_mm, src_mm, dst_pgd, src_pgd,
-						vma, addr, next))
-			return -ENOMEM;
+		if (unlikely(copy_pud_range(dst_mm, src_mm, dst_pgd, src_pgd,
+					    vma, addr, next))) {
+			ret = -ENOMEM;
+			break;
+		}
 	} while (dst_pgd++, src_pgd++, addr = next, addr != end);
 
 	if (is_cow_mapping(vma->vm_flags))
 		mmu_notifier_invalidate_range_end(src_mm,
-						vma->vm_start, end);
-
-	return 0;
+						  vma->vm_start, end);
+out:
+	return ret;
 }
 
 static unsigned long zap_pte_range(struct mmu_gather *tlb,

WARNING: multiple messages have this Message-ID (diff)
From: Andrea Arcangeli <andrea@qumranet.com>
To: Jack Steiner <steiner@sgi.com>
Cc: Christoph Lameter <clameter@sgi.com>,
	Nick Piggin <npiggin@suse.de>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	kvm-devel@lists.sourceforge.net,
	Kanoj Sarcar <kanojsarcar@yahoo.com>,
	Roland Dreier <rdreier@cisco.com>,
	Steve Wise <swise@opengridcomputing.com>,
	linux-kernel@vger.kernel.org, Avi Kivity <avi@qumranet.com>,
	linux-mm@kvack.org, Robin Holt <holt@sgi.com>,
	general@lists.openfabrics.org, Hugh Dickins <hugh@veritas.com>,
	akpm@linux-foundation.org, Rusty Russell <rusty@rustcorp.com.au>
Subject: Re: [PATCH 01 of 12] Core of mmu notifiers
Date: Wed, 23 Apr 2008 19:45:50 +0200	[thread overview]
Message-ID: <20080423174550.GF24536@duo.random> (raw)
In-Reply-To: <20080423170909.GA1459@sgi.com>

On Wed, Apr 23, 2008 at 12:09:09PM -0500, Jack Steiner wrote:
> 
> You may have spotted this already. If so, just ignore this.
> 
> It looks like there is a bug in copy_page_range() around line 667.
> It's possible to do a mmu_notifier_invalidate_range_start(), then
> return -ENOMEM w/o doing a corresponding mmu_notifier_invalidate_range_end().

No I didn't spot it yet, great catch!! ;) Thanks a lot. I think we can
take example by Jack and use our energy to spot any bug in the
mmu-notifier-core like with his above auditing effort (I'm quite
certain you didn't reprouce this with real oom ;) so we get a rock
solid mmu-notifier implementation in 2.6.26 so XPMEM will also benefit
later in 2.6.27 and I hope the last XPMEM internal bugs will also be
fixed by that time.

(for the not going to become mmu-notifier users, nothing to worry
about for you, unless you used KVM or GRU actively with mmu-notifiers
this bug would be entirely harmless with both MMU_NOTIFIER=n and =y,
as previously guaranteed)

Here the still untested fix for review.

diff --git a/mm/memory.c b/mm/memory.c
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -597,6 +597,7 @@
 	unsigned long next;
 	unsigned long addr = vma->vm_start;
 	unsigned long end = vma->vm_end;
+	int ret;
 
 	/*
 	 * Don't copy ptes where a page fault will fill them correctly.
@@ -604,33 +605,39 @@
 	 * readonly mappings. The tradeoff is that copy_page_range is more
 	 * efficient than faulting.
 	 */
+	ret = 0;
 	if (!(vma->vm_flags & (VM_HUGETLB|VM_NONLINEAR|VM_PFNMAP|VM_INSERTPAGE))) {
 		if (!vma->anon_vma)
-			return 0;
+			goto out;
 	}
 
-	if (is_vm_hugetlb_page(vma))
-		return copy_hugetlb_page_range(dst_mm, src_mm, vma);
+	if (unlikely(is_vm_hugetlb_page(vma))) {
+		ret = copy_hugetlb_page_range(dst_mm, src_mm, vma);
+		goto out;
+	}
 
 	if (is_cow_mapping(vma->vm_flags))
 		mmu_notifier_invalidate_range_start(src_mm, addr, end);
 
+	ret = 0;
 	dst_pgd = pgd_offset(dst_mm, addr);
 	src_pgd = pgd_offset(src_mm, addr);
 	do {
 		next = pgd_addr_end(addr, end);
 		if (pgd_none_or_clear_bad(src_pgd))
 			continue;
-		if (copy_pud_range(dst_mm, src_mm, dst_pgd, src_pgd,
-						vma, addr, next))
-			return -ENOMEM;
+		if (unlikely(copy_pud_range(dst_mm, src_mm, dst_pgd, src_pgd,
+					    vma, addr, next))) {
+			ret = -ENOMEM;
+			break;
+		}
 	} while (dst_pgd++, src_pgd++, addr = next, addr != end);
 
 	if (is_cow_mapping(vma->vm_flags))
 		mmu_notifier_invalidate_range_end(src_mm,
-						vma->vm_start, end);
-
-	return 0;
+						  vma->vm_start, end);
+out:
+	return ret;
 }
 
 static unsigned long zap_pte_range(struct mmu_gather *tlb,

--
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>

  reply	other threads:[~2008-04-23 17:46 UTC|newest]

Thread overview: 249+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-22 13:51 [PATCH 00 of 12] mmu notifier #v13 Andrea Arcangeli
2008-04-22 13:51 ` Andrea Arcangeli
2008-04-22 13:51 ` [ofa-general] " Andrea Arcangeli
2008-04-22 13:51 ` [PATCH 01 of 12] Core of mmu notifiers Andrea Arcangeli
2008-04-22 13:51   ` Andrea Arcangeli
2008-04-22 13:51   ` Andrea Arcangeli
2008-04-22 14:56   ` Eric Dumazet
2008-04-22 14:56     ` Eric Dumazet
2008-04-22 15:15     ` Andrea Arcangeli
2008-04-22 15:15       ` Andrea Arcangeli
2008-04-22 15:15       ` [ofa-general] " Andrea Arcangeli
2008-04-22 15:24       ` Avi Kivity
2008-04-22 15:24         ` Avi Kivity
2008-04-22 15:37       ` Eric Dumazet
2008-04-22 15:37         ` Eric Dumazet
2008-04-22 16:46         ` Andrea Arcangeli
2008-04-22 16:46           ` Andrea Arcangeli
2008-04-22 16:46           ` [ofa-general] " Andrea Arcangeli
2008-04-22 20:19   ` Christoph Lameter
2008-04-22 20:19     ` Christoph Lameter
2008-04-22 20:19     ` [ofa-general] " Christoph Lameter
2008-04-22 20:31     ` Robin Holt
2008-04-22 20:31       ` Robin Holt
2008-04-22 20:31       ` [ofa-general] " Robin Holt
2008-04-22 22:35     ` Andrea Arcangeli
2008-04-22 22:35       ` Andrea Arcangeli
2008-04-22 22:35       ` Andrea Arcangeli
2008-04-22 23:07       ` Robin Holt
2008-04-22 23:07         ` Robin Holt
2008-04-22 23:07         ` Robin Holt
2008-04-23  0:28         ` Jack Steiner
2008-04-23  0:28           ` Jack Steiner
2008-04-23  0:28           ` [ofa-general] " Jack Steiner
2008-04-23 16:37           ` Andrea Arcangeli
2008-04-23 16:37             ` Andrea Arcangeli
2008-04-23 16:37             ` [ofa-general] " Andrea Arcangeli
2008-04-23 18:19             ` Christoph Lameter
2008-04-23 18:19               ` Christoph Lameter
2008-04-23 18:19               ` [ofa-general] " Christoph Lameter
2008-04-23 18:25               ` Andrea Arcangeli
2008-04-23 18:25                 ` Andrea Arcangeli
2008-04-23 18:25                 ` [ofa-general] " Andrea Arcangeli
2008-04-23 22:19             ` Andrea Arcangeli
2008-04-23 22:19               ` Andrea Arcangeli
2008-04-23 22:19               ` [ofa-general] " Andrea Arcangeli
2008-04-24  6:49               ` Andrea Arcangeli
2008-04-24  6:49                 ` Andrea Arcangeli
2008-04-24  6:49                 ` Andrea Arcangeli
2008-04-24  9:51                 ` Robin Holt
2008-04-24  9:51                   ` Robin Holt
2008-04-24  9:51                   ` [ofa-general] " Robin Holt
2008-04-24 15:39                   ` Andrea Arcangeli
2008-04-24 15:39                     ` Andrea Arcangeli
2008-04-24 15:39                     ` [ofa-general] " Andrea Arcangeli
2008-04-24 17:41                     ` Andrea Arcangeli
2008-04-24 17:41                       ` Andrea Arcangeli
2008-04-24 17:41                       ` [ofa-general] " Andrea Arcangeli
2008-04-26 13:17                       ` Robin Holt
2008-04-26 13:17                         ` Robin Holt
2008-04-26 13:17                         ` Robin Holt
2008-04-26 14:04                         ` Andrea Arcangeli
2008-04-26 14:04                           ` Andrea Arcangeli
2008-04-26 14:04                           ` Andrea Arcangeli
2008-04-27 12:27                         ` Andrea Arcangeli
2008-04-27 12:27                           ` Andrea Arcangeli
2008-04-27 12:27                           ` Andrea Arcangeli
2008-04-28 20:34                           ` Christoph Lameter
2008-04-28 20:34                             ` Christoph Lameter
2008-04-28 20:34                             ` [ofa-general] " Christoph Lameter
2008-04-29  0:10                             ` Andrea Arcangeli
2008-04-29  0:10                               ` Andrea Arcangeli
2008-04-29  0:10                               ` Andrea Arcangeli
2008-04-29  1:28                               ` Christoph Lameter
2008-04-29  1:28                                 ` Christoph Lameter
2008-04-29  1:28                                 ` Christoph Lameter
2008-04-29 15:30                                 ` Andrea Arcangeli
2008-04-29 15:30                                   ` Andrea Arcangeli
2008-04-29 15:30                                   ` [ofa-general] " Andrea Arcangeli
2008-04-29 15:50                                   ` Robin Holt
2008-04-29 15:50                                     ` Robin Holt
2008-04-29 15:50                                     ` [ofa-general] " Robin Holt
2008-04-29 16:03                                     ` Andrea Arcangeli
2008-04-29 16:03                                       ` Andrea Arcangeli
2008-04-29 16:03                                       ` [ofa-general] " Andrea Arcangeli
2008-05-07 15:00                                       ` Andrea Arcangeli
2008-05-07 15:00                                         ` Andrea Arcangeli
2008-05-07 15:00                                         ` [ofa-general] " Andrea Arcangeli
2008-04-29 10:49                               ` Hugh Dickins
2008-04-29 10:49                                 ` Hugh Dickins
2008-04-29 10:49                                 ` [ofa-general] " Hugh Dickins
2008-04-29 13:32                                 ` Andrea Arcangeli
2008-04-29 13:32                                   ` Andrea Arcangeli
2008-04-23 13:36         ` Andrea Arcangeli
2008-04-23 13:36           ` Andrea Arcangeli
2008-04-23 13:36           ` [ofa-general] " Andrea Arcangeli
2008-04-23 14:47           ` Robin Holt
2008-04-23 14:47             ` Robin Holt
2008-04-23 14:47             ` [ofa-general] " Robin Holt
2008-04-23 15:59             ` Andrea Arcangeli
2008-04-23 15:59               ` Andrea Arcangeli
2008-04-23 15:59               ` [ofa-general] " Andrea Arcangeli
2008-04-23 18:09               ` Christoph Lameter
2008-04-23 18:09                 ` Christoph Lameter
2008-04-23 18:09                 ` [ofa-general] " Christoph Lameter
2008-04-23 18:19                 ` Andrea Arcangeli
2008-04-23 18:19                   ` Andrea Arcangeli
2008-04-23 18:19                   ` [ofa-general] " Andrea Arcangeli
2008-04-23 18:27                   ` Christoph Lameter
2008-04-23 18:27                     ` Christoph Lameter
2008-04-23 18:27                     ` [ofa-general] " Christoph Lameter
2008-04-23 18:37                     ` Andrea Arcangeli
2008-04-23 18:37                       ` Andrea Arcangeli
2008-04-23 18:37                       ` [ofa-general] " Andrea Arcangeli
2008-04-23 18:46                       ` Christoph Lameter
2008-04-23 18:46                         ` Christoph Lameter
2008-04-23 18:46                         ` [ofa-general] " Christoph Lameter
2008-04-22 23:20       ` Christoph Lameter
2008-04-22 23:20         ` Christoph Lameter
2008-04-22 23:20         ` [ofa-general] " Christoph Lameter
2008-04-23 16:26         ` Andrea Arcangeli
2008-04-23 16:26           ` Andrea Arcangeli
2008-04-23 16:26           ` [ofa-general] " Andrea Arcangeli
2008-04-23 17:24           ` Andrea Arcangeli
2008-04-23 17:24             ` Andrea Arcangeli
2008-04-23 18:21             ` Christoph Lameter
2008-04-23 18:21               ` Christoph Lameter
2008-04-23 18:21               ` [ofa-general] " Christoph Lameter
2008-04-23 18:34               ` Andrea Arcangeli
2008-04-23 18:34                 ` Andrea Arcangeli
2008-04-23 18:15           ` Christoph Lameter
2008-04-23 18:15             ` Christoph Lameter
2008-04-23 18:15             ` [ofa-general] " Christoph Lameter
2008-04-23 17:09   ` Jack Steiner
2008-04-23 17:09     ` Jack Steiner
2008-04-23 17:09     ` [ofa-general] " Jack Steiner
2008-04-23 17:45     ` Andrea Arcangeli [this message]
2008-04-23 17:45       ` Andrea Arcangeli
2008-04-23 17:45       ` [ofa-general] " Andrea Arcangeli
2008-04-22 13:51 ` [PATCH 02 of 12] Fix ia64 compilation failure because of common code include bug Andrea Arcangeli
2008-04-22 13:51   ` Andrea Arcangeli
2008-04-22 13:51   ` [ofa-general] " Andrea Arcangeli
2008-04-22 20:22   ` Christoph Lameter
2008-04-22 20:22     ` Christoph Lameter
2008-04-22 20:22     ` Christoph Lameter
2008-04-22 22:43     ` Andrea Arcangeli
2008-04-22 22:43       ` Andrea Arcangeli
2008-04-22 22:43       ` [ofa-general] " Andrea Arcangeli
2008-04-22 23:07       ` Robin Holt
2008-04-22 23:07         ` Robin Holt
2008-04-22 23:07         ` [ofa-general] " Robin Holt
2008-04-22 13:51 ` [PATCH 03 of 12] get_task_mm should not succeed if mmput() is running and has reduced Andrea Arcangeli
2008-04-22 13:51   ` Andrea Arcangeli
2008-04-22 20:23   ` Christoph Lameter
2008-04-22 20:23     ` Christoph Lameter
2008-04-22 20:23     ` [ofa-general] " Christoph Lameter
2008-04-22 22:37     ` Andrea Arcangeli
2008-04-22 22:37       ` Andrea Arcangeli
2008-04-22 22:37       ` [ofa-general] " Andrea Arcangeli
2008-04-22 23:13       ` Christoph Lameter
2008-04-22 23:13         ` Christoph Lameter
2008-04-22 23:13         ` [ofa-general] " Christoph Lameter
2008-04-22 13:51 ` [PATCH 04 of 12] Moves all mmu notifier methods outside the PT lock (first and not last Andrea Arcangeli
2008-04-22 13:51   ` Andrea Arcangeli
2008-04-22 13:51   ` Andrea Arcangeli
2008-04-22 20:24   ` Christoph Lameter
2008-04-22 20:24     ` Christoph Lameter
2008-04-22 20:24     ` Christoph Lameter
2008-04-22 22:40     ` Andrea Arcangeli
2008-04-22 22:40       ` Andrea Arcangeli
2008-04-22 22:40       ` [ofa-general] " Andrea Arcangeli
2008-04-22 23:14       ` Christoph Lameter
2008-04-22 23:14         ` Christoph Lameter
2008-04-22 23:14         ` Christoph Lameter
2008-04-23 13:44         ` Andrea Arcangeli
2008-04-23 13:44           ` Andrea Arcangeli
2008-04-23 13:44           ` [ofa-general] " Andrea Arcangeli
2008-04-23 15:45           ` Robin Holt
2008-04-23 15:45             ` Robin Holt
2008-04-23 15:45             ` [ofa-general] " Robin Holt
2008-04-23 16:15             ` Andrea Arcangeli
2008-04-23 16:15               ` Andrea Arcangeli
2008-04-23 16:15               ` [ofa-general] " Andrea Arcangeli
2008-04-23 19:55               ` Robin Holt
2008-04-23 19:55                 ` Robin Holt
2008-04-23 19:55                 ` [ofa-general] " Robin Holt
2008-04-23 21:05             ` Avi Kivity
2008-04-23 21:05               ` Avi Kivity
2008-04-23 21:05               ` [ofa-general] " Avi Kivity
2008-04-23 18:02           ` Christoph Lameter
2008-04-23 18:02             ` Christoph Lameter
2008-04-23 18:02             ` [ofa-general] " Christoph Lameter
2008-04-23 18:16             ` Andrea Arcangeli
2008-04-23 18:16               ` Andrea Arcangeli
2008-04-23 18:16               ` [ofa-general] " Andrea Arcangeli
2008-04-22 13:51 ` [PATCH 05 of 12] Move the tlb flushing into free_pgtables. The conversion of the locks Andrea Arcangeli
2008-04-22 13:51   ` Andrea Arcangeli
2008-04-22 13:51   ` Andrea Arcangeli
2008-04-22 20:25   ` Christoph Lameter
2008-04-22 20:25     ` Christoph Lameter
2008-04-22 20:25     ` [ofa-general] " Christoph Lameter
2008-04-22 13:51 ` [PATCH 06 of 12] Move the tlb flushing inside of unmap vmas. This saves us from passing Andrea Arcangeli
2008-04-22 13:51   ` Andrea Arcangeli
2008-04-22 13:51   ` Andrea Arcangeli
2008-04-22 13:51 ` [PATCH 07 of 12] Add a function to rw_semaphores to check if there are any processes Andrea Arcangeli
2008-04-22 13:51   ` Andrea Arcangeli
2008-04-22 13:51   ` Andrea Arcangeli
2008-04-22 13:51 ` [PATCH 08 of 12] The conversion to a rwsem allows notifier callbacks during rmap traversal Andrea Arcangeli
2008-04-22 13:51   ` Andrea Arcangeli
2008-04-22 13:51   ` Andrea Arcangeli
2008-04-22 13:51 ` [PATCH 09 of 12] Convert the anon_vma spinlock to a rw semaphore. This allows concurrent Andrea Arcangeli
2008-04-22 13:51   ` Andrea Arcangeli
2008-04-22 13:51   ` Andrea Arcangeli
2008-04-22 13:51 ` [PATCH 10 of 12] Convert mm_lock to use semaphores after i_mmap_lock and anon_vma_lock Andrea Arcangeli
2008-04-22 13:51   ` Andrea Arcangeli
2008-04-22 13:51   ` Andrea Arcangeli
2008-04-22 20:26   ` Christoph Lameter
2008-04-22 20:26     ` Christoph Lameter
2008-04-22 22:54     ` Andrea Arcangeli
2008-04-22 22:54       ` Andrea Arcangeli
2008-04-22 22:54       ` [ofa-general] " Andrea Arcangeli
2008-04-22 23:19       ` Christoph Lameter
2008-04-22 23:19         ` Christoph Lameter
2008-04-22 23:19         ` [ofa-general] " Christoph Lameter
2008-04-22 13:51 ` [PATCH 11 of 12] XPMEM would have used sys_madvise() except that madvise_dontneed() Andrea Arcangeli
2008-04-22 13:51   ` Andrea Arcangeli
2008-04-22 13:51   ` Andrea Arcangeli
2008-04-22 13:51 ` [PATCH 12 of 12] This patch adds a lock ordering rule to avoid a potential deadlock when Andrea Arcangeli
2008-04-22 13:51   ` Andrea Arcangeli
2008-04-22 13:51   ` Andrea Arcangeli
2008-04-22 18:22 ` [PATCH 00 of 12] mmu notifier #v13 Robin Holt
2008-04-22 18:22   ` Robin Holt
2008-04-22 18:22   ` Robin Holt
2008-04-22 18:43   ` Andrea Arcangeli
2008-04-22 18:43     ` Andrea Arcangeli
2008-04-22 19:42     ` Robin Holt
2008-04-22 19:42       ` Robin Holt
2008-04-22 19:42       ` [ofa-general] " Robin Holt
2008-04-22 20:30       ` Christoph Lameter
2008-04-22 20:30         ` Christoph Lameter
2008-04-22 20:30         ` [ofa-general] " Christoph Lameter
2008-04-23 13:33         ` Andrea Arcangeli
2008-04-23 13:33           ` Andrea Arcangeli
2008-04-23 13:33           ` [ofa-general] " Andrea Arcangeli
2008-04-22 20:28     ` Christoph Lameter
2008-04-22 20:28       ` Christoph Lameter
2008-04-22 20:28       ` [ofa-general] " Christoph Lameter
2008-04-23  0:31 ` Jack Steiner
2008-04-23  0:31   ` Jack Steiner
2008-04-23  0:31   ` [ofa-general] " Jack Steiner

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=20080423174550.GF24536@duo.random \
    --to=andrea@qumranet.com \
    --cc=a.p.zijlstra@chello.nl \
    --cc=akpm@linux-foundation.org \
    --cc=avi@qumranet.com \
    --cc=clameter@sgi.com \
    --cc=general@lists.openfabrics.org \
    --cc=holt@sgi.com \
    --cc=hugh@veritas.com \
    --cc=kanojsarcar@yahoo.com \
    --cc=kvm-devel@lists.sourceforge.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=npiggin@suse.de \
    --cc=rdreier@cisco.com \
    --cc=rusty@rustcorp.com.au \
    --cc=steiner@sgi.com \
    --cc=swise@opengridcomputing.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.