From: Minchan Kim <minchan.kim@gmail.com> To: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>, "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>, Peter Zijlstra <peterz@infradead.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "linux-mm@kvack.org" <linux-mm@kvack.org>, cl@linux-foundation.org, "hugh.dickins" <hugh.dickins@tiscali.co.uk>, Nick Piggin <nickpiggin@yahoo.com.au>, Ingo Molnar <mingo@elte.hu>, Linus Torvalds <torvalds@linux-foundation.org> Subject: Re: [RFC][PATCH 6/8] mm: handle_speculative_fault() Date: Tue, 5 Jan 2010 13:29:40 +0900 [thread overview] Message-ID: <28c262361001042029w4b95f226lf54a3ed6a4291a3b@mail.gmail.com> (raw) In-Reply-To: <20100105092559.1de8b613.kamezawa.hiroyu@jp.fujitsu.com> Hi, Kame. On Tue, Jan 5, 2010 at 9:25 AM, KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> wrote: > On Mon, 04 Jan 2010 19:24:35 +0100 > Peter Zijlstra <a.p.zijlstra@chello.nl> wrote: > >> Generic speculative fault handler, tries to service a pagefault >> without holding mmap_sem. >> >> Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> > > > I'm sorry if I miss something...how does this patch series avoid > that vma is removed while __do_fault()->vma->vm_ops->fault() is called ? > ("vma is removed" means all other things as freeing file struct etc..) Isn't it protected by get_file and iget? Am I miss something? > > Thanks, > -Kame > > > > >> --- >> include/linux/mm.h | 2 + >> mm/memory.c | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++- >> 2 files changed, 60 insertions(+), 1 deletion(-) >> >> Index: linux-2.6/mm/memory.c >> =================================================================== >> --- linux-2.6.orig/mm/memory.c >> +++ linux-2.6/mm/memory.c >> @@ -1998,7 +1998,7 @@ again: >> if (!*ptep) >> goto out; >> >> - if (vma_is_dead(vma, seq)) >> + if (vma && vma_is_dead(vma, seq)) >> goto unlock; >> >> unpin_page_tables(); >> @@ -3112,6 +3112,63 @@ int handle_mm_fault(struct mm_struct *mm >> return handle_pte_fault(mm, vma, address, entry, pmd, flags, 0); >> } >> >> +int handle_speculative_fault(struct mm_struct *mm, unsigned long address, >> + unsigned int flags) >> +{ >> + pmd_t *pmd = NULL; >> + pte_t *pte, entry; >> + spinlock_t *ptl; >> + struct vm_area_struct *vma; >> + unsigned int seq; >> + int ret = VM_FAULT_RETRY; >> + int dead; >> + >> + __set_current_state(TASK_RUNNING); >> + flags |= FAULT_FLAG_SPECULATIVE; >> + >> + count_vm_event(PGFAULT); >> + >> + rcu_read_lock(); >> + if (!pte_map_lock(mm, NULL, address, pmd, flags, 0, &pte, &ptl)) >> + goto out_unlock; >> + >> + vma = find_vma(mm, address); >> + >> + if (!vma) >> + goto out_unmap; >> + >> + dead = RB_EMPTY_NODE(&vma->vm_rb); >> + seq = vma->vm_sequence.sequence; >> + /* >> + * Matches both the wmb in write_seqcount_begin/end() and >> + * the wmb in detach_vmas_to_be_unmapped()/__unlink_vma(). >> + */ >> + smp_rmb(); >> + if (dead || seq & 1) >> + goto out_unmap; >> + >> + if (!(vma->vm_end > address && vma->vm_start <= address)) >> + goto out_unmap; >> + >> + if (read_seqcount_retry(&vma->vm_sequence, seq)) >> + goto out_unmap; >> + >> + entry = *pte; >> + >> + pte_unmap_unlock(pte, ptl); >> + >> + ret = handle_pte_fault(mm, vma, address, entry, pmd, flags, seq); >> + >> +out_unlock: >> + rcu_read_unlock(); >> + return ret; >> + >> +out_unmap: >> + pte_unmap_unlock(pte, ptl); >> + goto out_unlock; >> +} >> + >> + >> #ifndef __PAGETABLE_PUD_FOLDED >> /* >> * Allocate page upper directory. >> Index: linux-2.6/include/linux/mm.h >> =================================================================== >> --- linux-2.6.orig/include/linux/mm.h >> +++ linux-2.6/include/linux/mm.h >> @@ -829,6 +829,8 @@ int invalidate_inode_page(struct page *p >> #ifdef CONFIG_MMU >> extern int handle_mm_fault(struct mm_struct *mm, struct vm_area_struct *vma, >> unsigned long address, unsigned int flags); >> +extern int handle_speculative_fault(struct mm_struct *mm, >> + unsigned long address, unsigned int flags); >> #else >> static inline int handle_mm_fault(struct mm_struct *mm, >> struct vm_area_struct *vma, unsigned long address, >> >> -- >> >> > > -- Kind regards, Minchan Kim
WARNING: multiple messages have this Message-ID (diff)
From: Minchan Kim <minchan.kim@gmail.com> To: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>, "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>, Peter Zijlstra <peterz@infradead.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "linux-mm@kvack.org" <linux-mm@kvack.org>, cl@linux-foundation.org, "hugh.dickins" <hugh.dickins@tiscali.co.uk>, Nick Piggin <nickpiggin@yahoo.com.au>, Ingo Molnar <mingo@elte.hu>, Linus Torvalds <torvalds@linux-foundation.org> Subject: Re: [RFC][PATCH 6/8] mm: handle_speculative_fault() Date: Tue, 5 Jan 2010 13:29:40 +0900 [thread overview] Message-ID: <28c262361001042029w4b95f226lf54a3ed6a4291a3b@mail.gmail.com> (raw) In-Reply-To: <20100105092559.1de8b613.kamezawa.hiroyu@jp.fujitsu.com> Hi, Kame. On Tue, Jan 5, 2010 at 9:25 AM, KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> wrote: > On Mon, 04 Jan 2010 19:24:35 +0100 > Peter Zijlstra <a.p.zijlstra@chello.nl> wrote: > >> Generic speculative fault handler, tries to service a pagefault >> without holding mmap_sem. >> >> Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> > > > I'm sorry if I miss something...how does this patch series avoid > that vma is removed while __do_fault()->vma->vm_ops->fault() is called ? > ("vma is removed" means all other things as freeing file struct etc..) Isn't it protected by get_file and iget? Am I miss something? > > Thanks, > -Kame > > > > >> --- >> include/linux/mm.h | 2 + >> mm/memory.c | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++- >> 2 files changed, 60 insertions(+), 1 deletion(-) >> >> Index: linux-2.6/mm/memory.c >> =================================================================== >> --- linux-2.6.orig/mm/memory.c >> +++ linux-2.6/mm/memory.c >> @@ -1998,7 +1998,7 @@ again: >> if (!*ptep) >> goto out; >> >> - if (vma_is_dead(vma, seq)) >> + if (vma && vma_is_dead(vma, seq)) >> goto unlock; >> >> unpin_page_tables(); >> @@ -3112,6 +3112,63 @@ int handle_mm_fault(struct mm_struct *mm >> return handle_pte_fault(mm, vma, address, entry, pmd, flags, 0); >> } >> >> +int handle_speculative_fault(struct mm_struct *mm, unsigned long address, >> + unsigned int flags) >> +{ >> + pmd_t *pmd = NULL; >> + pte_t *pte, entry; >> + spinlock_t *ptl; >> + struct vm_area_struct *vma; >> + unsigned int seq; >> + int ret = VM_FAULT_RETRY; >> + int dead; >> + >> + __set_current_state(TASK_RUNNING); >> + flags |= FAULT_FLAG_SPECULATIVE; >> + >> + count_vm_event(PGFAULT); >> + >> + rcu_read_lock(); >> + if (!pte_map_lock(mm, NULL, address, pmd, flags, 0, &pte, &ptl)) >> + goto out_unlock; >> + >> + vma = find_vma(mm, address); >> + >> + if (!vma) >> + goto out_unmap; >> + >> + dead = RB_EMPTY_NODE(&vma->vm_rb); >> + seq = vma->vm_sequence.sequence; >> + /* >> + * Matches both the wmb in write_seqcount_begin/end() and >> + * the wmb in detach_vmas_to_be_unmapped()/__unlink_vma(). >> + */ >> + smp_rmb(); >> + if (dead || seq & 1) >> + goto out_unmap; >> + >> + if (!(vma->vm_end > address && vma->vm_start <= address)) >> + goto out_unmap; >> + >> + if (read_seqcount_retry(&vma->vm_sequence, seq)) >> + goto out_unmap; >> + >> + entry = *pte; >> + >> + pte_unmap_unlock(pte, ptl); >> + >> + ret = handle_pte_fault(mm, vma, address, entry, pmd, flags, seq); >> + >> +out_unlock: >> + rcu_read_unlock(); >> + return ret; >> + >> +out_unmap: >> + pte_unmap_unlock(pte, ptl); >> + goto out_unlock; >> +} >> + >> + >> #ifndef __PAGETABLE_PUD_FOLDED >> /* >> * Allocate page upper directory. >> Index: linux-2.6/include/linux/mm.h >> =================================================================== >> --- linux-2.6.orig/include/linux/mm.h >> +++ linux-2.6/include/linux/mm.h >> @@ -829,6 +829,8 @@ int invalidate_inode_page(struct page *p >> #ifdef CONFIG_MMU >> extern int handle_mm_fault(struct mm_struct *mm, struct vm_area_struct *vma, >> unsigned long address, unsigned int flags); >> +extern int handle_speculative_fault(struct mm_struct *mm, >> + unsigned long address, unsigned int flags); >> #else >> static inline int handle_mm_fault(struct mm_struct *mm, >> struct vm_area_struct *vma, unsigned long address, >> >> -- >> >> > > -- Kind regards, Minchan Kim -- 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>
next prev parent reply other threads:[~2010-01-05 4:29 UTC|newest] Thread overview: 239+ messages / expand[flat|nested] mbox.gz Atom feed top 2010-01-04 18:24 [RFC][PATCH 0/8] Speculative pagefault -v3 Peter Zijlstra 2010-01-04 18:24 ` Peter Zijlstra 2010-01-04 18:24 ` [RFC][PATCH 1/8] mm: Remove pte reference from fault path Peter Zijlstra 2010-01-04 18:24 ` Peter Zijlstra 2010-01-04 18:24 ` [RFC][PATCH 2/8] mm: Speculative pagefault infrastructure Peter Zijlstra 2010-01-04 18:24 ` Peter Zijlstra 2010-01-04 18:24 ` [RFC][PATCH 3/8] mm: Add vma sequence count Peter Zijlstra 2010-01-04 18:24 ` Peter Zijlstra 2010-01-04 18:24 ` [RFC][PATCH 4/8] mm: RCU free vmas Peter Zijlstra 2010-01-04 18:24 ` Peter Zijlstra 2010-01-05 2:43 ` Paul E. McKenney 2010-01-05 2:43 ` Paul E. McKenney 2010-01-05 8:28 ` Peter Zijlstra 2010-01-05 8:28 ` Peter Zijlstra 2010-01-05 16:05 ` Paul E. McKenney 2010-01-05 16:05 ` Paul E. McKenney 2010-01-04 18:24 ` [RFC][PATCH 5/8] mm: Speculative pte_map_lock() Peter Zijlstra 2010-01-04 18:24 ` Peter Zijlstra 2010-01-04 18:24 ` [RFC][PATCH 6/8] mm: handle_speculative_fault() Peter Zijlstra 2010-01-04 18:24 ` Peter Zijlstra 2010-01-05 0:25 ` KAMEZAWA Hiroyuki 2010-01-05 0:25 ` KAMEZAWA Hiroyuki 2010-01-05 3:13 ` Linus Torvalds 2010-01-05 3:13 ` Linus Torvalds 2010-01-05 8:17 ` Peter Zijlstra 2010-01-05 8:17 ` Peter Zijlstra 2010-01-05 8:57 ` Peter Zijlstra 2010-01-05 8:57 ` Peter Zijlstra 2010-01-05 15:34 ` Linus Torvalds 2010-01-05 15:34 ` Linus Torvalds 2010-01-05 15:40 ` Al Viro 2010-01-05 15:40 ` Al Viro 2010-01-05 16:10 ` Linus Torvalds 2010-01-05 16:10 ` Linus Torvalds 2010-01-06 15:41 ` Peter Zijlstra 2010-01-06 15:41 ` Peter Zijlstra 2010-01-05 9:37 ` Peter Zijlstra 2010-01-05 9:37 ` Peter Zijlstra 2010-01-05 23:35 ` Linus Torvalds 2010-01-05 23:35 ` Linus Torvalds 2010-01-05 4:29 ` Minchan Kim [this message] 2010-01-05 4:29 ` Minchan Kim 2010-01-05 4:43 ` KAMEZAWA Hiroyuki 2010-01-05 4:43 ` KAMEZAWA Hiroyuki 2010-01-05 5:10 ` Linus Torvalds 2010-01-05 5:10 ` Linus Torvalds 2010-01-05 5:30 ` KAMEZAWA Hiroyuki 2010-01-05 5:30 ` KAMEZAWA Hiroyuki 2010-01-05 7:39 ` KAMEZAWA Hiroyuki 2010-01-05 15:26 ` Linus Torvalds 2010-01-05 15:26 ` Linus Torvalds 2010-01-05 16:14 ` Linus Torvalds 2010-01-05 16:14 ` Linus Torvalds 2010-01-05 17:25 ` Andi Kleen 2010-01-05 17:25 ` Andi Kleen 2010-01-05 17:47 ` Christoph Lameter 2010-01-05 17:47 ` Christoph Lameter 2010-01-05 18:00 ` Andi Kleen 2010-01-05 18:00 ` Andi Kleen 2010-01-05 17:55 ` Linus Torvalds 2010-01-05 17:55 ` Linus Torvalds 2010-01-05 18:13 ` Christoph Lameter 2010-01-05 18:13 ` Christoph Lameter 2010-01-05 18:25 ` Linus Torvalds 2010-01-05 18:25 ` Linus Torvalds 2010-01-05 18:46 ` Christoph Lameter 2010-01-05 18:46 ` Christoph Lameter 2010-01-05 18:56 ` Linus Torvalds 2010-01-05 18:56 ` Linus Torvalds 2010-01-05 19:15 ` Christoph Lameter 2010-01-05 19:15 ` Christoph Lameter 2010-01-05 19:28 ` Linus Torvalds 2010-01-05 19:28 ` Linus Torvalds 2010-01-05 18:55 ` Paul E. McKenney 2010-01-05 18:55 ` Paul E. McKenney 2010-01-05 19:08 ` Linus Torvalds 2010-01-05 19:08 ` Linus Torvalds 2010-01-05 19:23 ` Paul E. McKenney 2010-01-05 19:23 ` Paul E. McKenney 2010-01-05 20:29 ` Peter Zijlstra 2010-01-05 20:29 ` Peter Zijlstra 2010-01-05 20:46 ` Linus Torvalds 2010-01-05 20:46 ` Linus Torvalds 2010-01-05 21:00 ` Linus Torvalds 2010-01-05 21:00 ` Linus Torvalds 2010-01-05 23:29 ` Paul E. McKenney 2010-01-05 23:29 ` Paul E. McKenney 2010-01-06 0:22 ` KAMEZAWA Hiroyuki 2010-01-06 0:22 ` KAMEZAWA Hiroyuki 2010-01-06 1:37 ` Linus Torvalds 2010-01-06 1:37 ` Linus Torvalds 2010-01-06 2:52 ` KAMEZAWA Hiroyuki 2010-01-06 2:52 ` KAMEZAWA Hiroyuki 2010-01-06 3:27 ` Linus Torvalds 2010-01-06 3:27 ` Linus Torvalds 2010-01-06 3:56 ` KAMEZAWA Hiroyuki 2010-01-06 3:56 ` KAMEZAWA Hiroyuki 2010-01-06 4:20 ` Linus Torvalds 2010-01-06 4:20 ` Linus Torvalds 2010-01-06 7:06 ` KAMEZAWA Hiroyuki 2010-01-06 7:49 ` Minchan Kim 2010-01-06 7:49 ` Minchan Kim 2010-01-06 9:39 ` Linus Torvalds 2010-01-06 9:39 ` Linus Torvalds 2010-01-07 1:00 ` KAMEZAWA Hiroyuki 2010-01-07 1:00 ` KAMEZAWA Hiroyuki 2010-01-08 16:53 ` Peter Zijlstra 2010-01-08 16:53 ` Peter Zijlstra 2010-01-08 17:22 ` Linus Torvalds 2010-01-08 17:22 ` Linus Torvalds 2010-01-08 17:43 ` Christoph Lameter 2010-01-08 17:43 ` Christoph Lameter 2010-01-08 17:52 ` Linus Torvalds 2010-01-08 17:52 ` Linus Torvalds 2010-01-08 18:33 ` Christoph Lameter 2010-01-08 18:33 ` Christoph Lameter 2010-01-08 18:46 ` Andi Kleen 2010-01-08 18:46 ` Andi Kleen 2010-01-08 18:56 ` Christoph Lameter 2010-01-08 18:56 ` Christoph Lameter 2010-01-08 19:10 ` Andi Kleen 2010-01-08 19:10 ` Andi Kleen 2010-01-08 19:11 ` Linus Torvalds 2010-01-08 19:11 ` Linus Torvalds 2010-01-08 19:28 ` Andi Kleen 2010-01-08 19:28 ` Andi Kleen 2010-01-08 19:39 ` Linus Torvalds 2010-01-08 19:39 ` Linus Torvalds 2010-01-08 19:42 ` Linus Torvalds 2010-01-08 19:42 ` Linus Torvalds 2010-01-08 21:36 ` Linus Torvalds 2010-01-08 21:36 ` Linus Torvalds 2010-01-08 21:46 ` Christoph Lameter 2010-01-08 21:46 ` Christoph Lameter 2010-01-08 22:43 ` Linus Torvalds 2010-01-08 22:43 ` Linus Torvalds 2010-01-08 22:43 ` Linus Torvalds 2010-01-09 14:47 ` Ed Tomlinson 2010-01-09 14:47 ` Ed Tomlinson 2010-01-10 5:27 ` Nitin Gupta 2010-01-10 5:27 ` Nitin Gupta 2010-01-05 15:14 ` Christoph Lameter 2010-01-05 15:14 ` Christoph Lameter 2010-01-05 8:18 ` Peter Zijlstra 2010-01-05 8:18 ` Peter Zijlstra 2010-01-05 6:00 ` Minchan Kim 2010-01-05 6:00 ` Minchan Kim 2010-01-05 4:48 ` Linus Torvalds 2010-01-05 4:48 ` Linus Torvalds 2010-01-05 6:09 ` Minchan Kim 2010-01-05 6:09 ` Minchan Kim 2010-01-05 6:09 ` KAMEZAWA Hiroyuki 2010-01-05 6:09 ` KAMEZAWA Hiroyuki 2010-01-05 6:24 ` Minchan Kim 2010-01-05 6:24 ` Minchan Kim 2010-01-05 8:35 ` Peter Zijlstra 2010-01-05 8:35 ` Peter Zijlstra 2010-01-05 13:45 ` Arjan van de Ven 2010-01-05 13:45 ` Arjan van de Ven 2010-01-05 14:15 ` Andi Kleen 2010-01-05 14:15 ` Andi Kleen 2010-01-05 15:17 ` Christoph Lameter 2010-01-05 15:17 ` Christoph Lameter 2010-01-06 3:22 ` Arjan van de Ven 2010-01-06 3:22 ` Arjan van de Ven 2010-01-07 16:11 ` Christoph Lameter 2010-01-07 16:11 ` Christoph Lameter 2010-01-07 16:19 ` Linus Torvalds 2010-01-07 16:19 ` Linus Torvalds 2010-01-07 16:31 ` Linus Torvalds 2010-01-07 16:31 ` Linus Torvalds 2010-01-07 16:34 ` Paul E. McKenney 2010-01-07 16:34 ` Paul E. McKenney 2010-01-07 16:36 ` Christoph Lameter 2010-01-07 16:36 ` Christoph Lameter 2010-01-08 4:49 ` Arjan van de Ven 2010-01-08 4:49 ` Arjan van de Ven 2010-01-08 5:00 ` Linus Torvalds 2010-01-08 5:00 ` Linus Torvalds 2010-01-08 15:51 ` Christoph Lameter 2010-01-08 15:51 ` Christoph Lameter 2010-01-09 15:55 ` Arjan van de Ven 2010-01-09 15:55 ` Arjan van de Ven 2010-01-07 17:22 ` Peter Zijlstra 2010-01-07 17:22 ` Peter Zijlstra 2010-01-07 17:36 ` Linus Torvalds 2010-01-07 17:36 ` Linus Torvalds 2010-01-07 17:49 ` Linus Torvalds 2010-01-07 17:49 ` Linus Torvalds 2010-01-07 18:00 ` Peter Zijlstra 2010-01-07 18:00 ` Peter Zijlstra 2010-01-07 18:15 ` Linus Torvalds 2010-01-07 18:15 ` Linus Torvalds 2010-01-07 21:49 ` Peter Zijlstra 2010-01-07 21:49 ` Peter Zijlstra 2010-01-07 18:44 ` Linus Torvalds 2010-01-07 18:44 ` Linus Torvalds 2010-01-07 19:20 ` Paul E. McKenney 2010-01-07 19:20 ` Paul E. McKenney 2010-01-07 20:06 ` Linus Torvalds 2010-01-07 20:06 ` Linus Torvalds 2010-01-07 20:25 ` Paul E. McKenney 2010-01-07 20:25 ` Paul E. McKenney 2010-01-07 19:24 ` Christoph Lameter 2010-01-07 19:24 ` Christoph Lameter 2010-01-07 20:08 ` Linus Torvalds 2010-01-07 20:08 ` Linus Torvalds 2010-01-07 20:13 ` Linus Torvalds 2010-01-07 20:13 ` Linus Torvalds 2010-01-07 21:44 ` Peter Zijlstra 2010-01-07 21:44 ` Peter Zijlstra 2010-01-07 22:33 ` Linus Torvalds 2010-01-07 22:33 ` Linus Torvalds 2010-01-08 0:23 ` KAMEZAWA Hiroyuki 2010-01-08 0:23 ` KAMEZAWA Hiroyuki 2010-01-08 0:25 ` KAMEZAWA Hiroyuki 2010-01-08 0:25 ` KAMEZAWA Hiroyuki 2010-01-08 0:39 ` Linus Torvalds 2010-01-08 0:39 ` Linus Torvalds 2010-01-08 0:41 ` Linus Torvalds 2010-01-08 0:41 ` Linus Torvalds 2010-01-07 23:51 ` Rik van Riel 2010-01-07 23:51 ` Rik van Riel 2010-01-04 18:24 ` [RFC][PATCH 7/8] mm,x86: speculative pagefault support Peter Zijlstra 2010-01-04 18:24 ` Peter Zijlstra 2010-01-04 18:24 ` [RFC][PATCH 8/8] mm: Optimize pte_map_lock() Peter Zijlstra 2010-01-04 18:24 ` Peter Zijlstra 2010-01-04 21:41 ` [RFC][PATCH 0/8] Speculative pagefault -v3 Rik van Riel 2010-01-04 21:41 ` Rik van Riel 2010-01-04 21:46 ` Peter Zijlstra 2010-01-04 21:46 ` Peter Zijlstra 2010-01-04 23:20 ` Rik van Riel 2010-01-04 23:20 ` Rik van Riel 2010-01-04 21:59 ` Christoph Lameter 2010-01-04 21:59 ` Christoph Lameter 2010-01-05 0:28 ` KAMEZAWA Hiroyuki 2010-01-05 0:28 ` KAMEZAWA Hiroyuki 2010-01-05 2:26 ` Minchan Kim 2010-01-05 2:26 ` Minchan Kim
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=28c262361001042029w4b95f226lf54a3ed6a4291a3b@mail.gmail.com \ --to=minchan.kim@gmail.com \ --cc=a.p.zijlstra@chello.nl \ --cc=cl@linux-foundation.org \ --cc=hugh.dickins@tiscali.co.uk \ --cc=kamezawa.hiroyu@jp.fujitsu.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=mingo@elte.hu \ --cc=nickpiggin@yahoo.com.au \ --cc=paulmck@linux.vnet.ibm.com \ --cc=peterz@infradead.org \ --cc=torvalds@linux-foundation.org \ /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: linkBe 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.