Messages in this thread |  | | Date | Sun, 19 Feb 2012 13:21:02 -0800 (PST) | From | Hugh Dickins <> | Subject | Re: [PATCH 2/6] thp: optimize away unnecessary page table locking |
| |
On Wed, 8 Feb 2012, Naoya Horiguchi wrote: > Currently when we check if we can handle thp as it is or we need to > split it into regular sized pages, we hold page table lock prior to > check whether a given pmd is mapping thp or not. Because of this, > when it's not "huge pmd" we suffer from unnecessary lock/unlock overhead. > To remove it, this patch introduces a optimized check function and > replace several similar logics with it. > > Signed-off-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com> > Cc: David Rientjes <rientjes@google.com> > > Changes since v4: > - Rethink returned value of __pmd_trans_huge_lock()
[snip]
> --- 3.3-rc2.orig/mm/mremap.c > +++ 3.3-rc2/mm/mremap.c > @@ -155,8 +155,6 @@ unsigned long move_page_tables(struct vm_area_struct *vma, > if (err > 0) { > need_flush = true; > continue; > - } else if (!err) { > - split_huge_page_pmd(vma->vm_mm, old_pmd); > } > VM_BUG_ON(pmd_trans_huge(*old_pmd)); > }
Is that what you intended to do there? I just hit that VM_BUG_ON on rc3-next-20120217.
Hugh
|  |