Messages in this thread | | | Date | Fri, 7 May 2010 07:18:39 -0700 (PDT) | From | Linus Torvalds <> | Subject | Re: [PATCH 2/2] mm,migration: Fix race between shift_arg_pages and rmap_walk by guaranteeing rmap_walk finds PTEs created within the temporary stack |
| |
On Fri, 7 May 2010, KAMEZAWA Hiroyuki wrote: > > Hmm, is this too slow ? This is the simplest one I have.
Well, it may be as slow (or slower) than Andrea's, but at least it is _clean_ and actually removes code. So if we can't do it better, I'd certainly prefer this to the horribly hacky one.
That said, I still think we could easily just split up "move_page_tables()" into two functions - one that just does the page table allocation, and one that actually moves the entries.
In fact, I think that would even clean up the error case for move_vma() too - the page table entry movement itself could never fail, so you never end up with that insane "move back" case.
Linus
| |