From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751066AbdBFGUm convert rfc822-to-8bit (ORCPT ); Mon, 6 Feb 2017 01:20:42 -0500 Received: from tyo162.gate.nec.co.jp ([114.179.232.162]:44247 "EHLO tyo162.gate.nec.co.jp" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750881AbdBFGUl (ORCPT ); Mon, 6 Feb 2017 01:20:41 -0500 From: Naoya Horiguchi To: Zi Yan CC: "linux-kernel@vger.kernel.org" , "linux-mm@kvack.org" , "kirill.shutemov@linux.intel.com" , "akpm@linux-foundation.org" , "minchan@kernel.org" , "vbabka@suse.cz" , "mgorman@techsingularity.net" , "khandual@linux.vnet.ibm.com" , "zi.yan@cs.rutgers.edu" , Zi Yan Subject: Re: [PATCH v3 01/14] mm: thp: make __split_huge_pmd_locked visible. Thread-Topic: [PATCH v3 01/14] mm: thp: make __split_huge_pmd_locked visible. Thread-Index: AQHSf8rydtOumCj1S0igz2zUUPwV4KFa6YyA Date: Mon, 6 Feb 2017 06:12:33 +0000 Message-ID: <20170206061232.GB1659@hori1.linux.bs1.fc.nec.co.jp> References: <20170205161252.85004-1-zi.yan@sent.com> <20170205161252.85004-2-zi.yan@sent.com> In-Reply-To: <20170205161252.85004-2-zi.yan@sent.com> Accept-Language: en-US, ja-JP Content-Language: ja-JP X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.128.101.12] Content-Type: text/plain; charset="iso-2022-jp" Content-ID: <8C0CFCE161D53349A854029A7AC4E8C4@gisp.nec.co.jp> Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, Feb 05, 2017 at 11:12:39AM -0500, Zi Yan wrote: > From: Zi Yan > > It allows splitting huge pmd while you are holding the pmd lock. > It is prepared for future zap_pmd_range() use. > > Signed-off-by: Zi Yan > --- > include/linux/huge_mm.h | 2 ++ > mm/huge_memory.c | 22 ++++++++++++---------- > 2 files changed, 14 insertions(+), 10 deletions(-) > ... > diff --git a/mm/huge_memory.c b/mm/huge_memory.c > index 03e4566fc226..cd66532ef667 100644 ... > @@ -2036,10 +2039,9 @@ void __split_huge_pmd(struct vm_area_struct *vma, pmd_t *pmd, > clear_page_mlock(page); > } else if (!pmd_devmap(*pmd)) > goto out; > - __split_huge_pmd_locked(vma, pmd, haddr, freeze); > + __split_huge_pmd_locked(vma, pmd, address, freeze); Could you explain what is intended on this change? If some caller (f.e. wp_huge_pmd?) could call __split_huge_pmd() with address not aligned with pmd border, __split_huge_pmd_locked() results in triggering VM_BUG_ON(haddr & ~HPAGE_PMD_MASK). Thanks, Naoya Horiguchi > out: > spin_unlock(ptl); > - mmu_notifier_invalidate_range_end(mm, haddr, haddr + HPAGE_PMD_SIZE); > } > > void split_huge_pmd_address(struct vm_area_struct *vma, unsigned long address, > -- > 2.11.0 >