From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id CA5EDC3F2D1 for ; Tue, 3 Mar 2020 21:52:23 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 775F220848 for ; Tue, 3 Mar 2020 21:52:23 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="HjWXom6i" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 775F220848 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 0BB296B0005; Tue, 3 Mar 2020 16:52:23 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 06BDD6B0006; Tue, 3 Mar 2020 16:52:22 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E9EC06B0007; Tue, 3 Mar 2020 16:52:22 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0129.hostedemail.com [216.40.44.129]) by kanga.kvack.org (Postfix) with ESMTP id CE41C6B0005 for ; Tue, 3 Mar 2020 16:52:22 -0500 (EST) Received: from smtpin22.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id 721F4181AC9CC for ; Tue, 3 Mar 2020 21:52:22 +0000 (UTC) X-FDA: 76555400124.22.box83_31c60f2509c13 X-HE-Tag: box83_31c60f2509c13 X-Filterd-Recvd-Size: 7412 Received: from mail-io1-f66.google.com (mail-io1-f66.google.com [209.85.166.66]) by imf12.hostedemail.com (Postfix) with ESMTP for ; Tue, 3 Mar 2020 21:52:21 +0000 (UTC) Received: by mail-io1-f66.google.com with SMTP id n21so26127ioo.10 for ; Tue, 03 Mar 2020 13:52:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=UhLwzbYY9FYj+osdFCO0d76tpk0BqSvGaMjhbkSLFj0=; b=HjWXom6idyWufdvCTX9u7aNMr+WAJt7CTs3MW97PPvqNYdSvxTILNDSPd16bUXZ6To IemfcaAkfCrHa0Lo46Cg64nFDKd61Rr2qrSfuRU7BR4A0iICQ/sFPxzru7FocEX5Wfcc SmJ/zZ0taDhKhypxfukwxcyxsIElVVBt7XcFrJdc5YmuXzArVlLxJC8QMjWMjHcdA7U1 Oy+ULulOAWDEqIkYe6NOI26ZphwMteGRJQ0UMbbob3CLkjG/Ge2lClL0z+s0Wyfncu9T jCu0f80cjisRWHaalKI2hrQUST6fptl14eYwZQTtu57M4OqaJb4s2ptWtIUjkaZsUbRx BKaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=UhLwzbYY9FYj+osdFCO0d76tpk0BqSvGaMjhbkSLFj0=; b=WavaxyHyKb7mB6L1HEjFKdwGqkjvg4ZZaV4Slnq7MQalonvlY1tMC02Vn6tBHZZ8jt BkeSDg7PWNaLlkvW+x8ulH/X9BAW9S2dUHztBTEz845xsZQlb/qbirXIEkMddQlioFxM +ENUj9bCaqc7zyYHSH3M6Li77PtmD+V7ZGPyEJh2dc8WCzPBPKEkkW0TvUE882CJnwqv A6k9t2RzLFcpep8SKNPfWzGJuj4N0z5ATgdHuACG6cGLC2iH0spTns8x6SXmVmIAAACE FPO2FZrmnn8gdUVBJC+j3GXWXthZ8TUHZszoUMyaQ1l6cOdLJ+aD7k2bP8e8xvXWBEho ONXw== X-Gm-Message-State: ANhLgQ3xXPdLojmYLePw1Rsdxlz6h/ZpQUb8vFLOup5dZHlf7IgPPduT RDWyIQimflqDQvvVCsX93BUc/vpzblrjnEedyg0= X-Google-Smtp-Source: ADFU+vsrz3CD5tOKt7HPXN9DNKdzcteuMkFtBHGYwTq55LRmNwZNoRxOq79vbsqemAB0XszPMF5kS0ymtdwDWJolEHw= X-Received: by 2002:a5d:97d7:: with SMTP id k23mr5236697ios.97.1583272341130; Tue, 03 Mar 2020 13:52:21 -0800 (PST) MIME-Version: 1.0 References: <20200303041125.19358-1-willy@infradead.org> <20200303041125.19358-4-willy@infradead.org> In-Reply-To: <20200303041125.19358-4-willy@infradead.org> From: Alexander Duyck Date: Tue, 3 Mar 2020 13:52:10 -0800 Message-ID: Subject: Re: [PATCH 3/6] mm: Remove CONFIG_TRANSPARENT_HUGE_PAGECACHE To: Matthew Wilcox Cc: linux-mm , "Kirill A . Shutemov" , "Aneesh Kumar K . V" Content-Type: text/plain; charset="UTF-8" X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Mon, Mar 2, 2020 at 8:11 PM Matthew Wilcox wrote: > > From: "Matthew Wilcox (Oracle)" > > Commit e496cf3d7821 ("thp: introduce CONFIG_TRANSPARENT_HUGE_PAGECACHE") > notes that it should be reverted when the PowerPC problem was fixed. > The commit fixing the PowerPC problem (953c66c2b22a) did not revert > the commit; instead setting CONFIG_TRANSPARENT_HUGE_PAGECACHE to the > same as CONFIG_TRANSPARENT_HUGEPAGE. Checking with Kirill and Aneesh, > this was an oversight, so remove the Kconfig symbol and undo the work > of commit e496cf3d7821. > > Signed-off-by: Matthew Wilcox (Oracle) > Cc: Kirill A. Shutemov > Cc: Aneesh Kumar K.V > --- > include/linux/shmem_fs.h | 10 +--------- > mm/Kconfig | 6 +----- > mm/huge_memory.c | 2 +- > mm/khugepaged.c | 10 ++-------- > mm/memory.c | 5 ++--- > mm/rmap.c | 2 +- > mm/shmem.c | 36 ++++++++++++++++++------------------ > 7 files changed, 26 insertions(+), 45 deletions(-) > > diff --git a/include/linux/shmem_fs.h b/include/linux/shmem_fs.h > index d56fefef8905..7a35a6901221 100644 > --- a/include/linux/shmem_fs.h > +++ b/include/linux/shmem_fs.h > @@ -78,6 +78,7 @@ extern void shmem_truncate_range(struct inode *inode, loff_t start, loff_t end); > extern int shmem_unuse(unsigned int type, bool frontswap, > unsigned long *fs_pages_to_unuse); > > +extern bool shmem_huge_enabled(struct vm_area_struct *vma); > extern unsigned long shmem_swap_usage(struct vm_area_struct *vma); > extern unsigned long shmem_partial_swap_usage(struct address_space *mapping, > pgoff_t start, pgoff_t end); > @@ -114,15 +115,6 @@ static inline bool shmem_file(struct file *file) > extern bool shmem_charge(struct inode *inode, long pages); > extern void shmem_uncharge(struct inode *inode, long pages); > > -#ifdef CONFIG_TRANSPARENT_HUGE_PAGECACHE > -extern bool shmem_huge_enabled(struct vm_area_struct *vma); > -#else > -static inline bool shmem_huge_enabled(struct vm_area_struct *vma) > -{ > - return false; > -} > -#endif > - > #ifdef CONFIG_SHMEM > extern int shmem_mcopy_atomic_pte(struct mm_struct *dst_mm, pmd_t *dst_pmd, > struct vm_area_struct *dst_vma, > diff --git a/mm/khugepaged.c b/mm/khugepaged.c > index b679908743cb..f99ac65271aa 100644 > --- a/mm/khugepaged.c > +++ b/mm/khugepaged.c > @@ -416,8 +416,6 @@ static bool hugepage_vma_check(struct vm_area_struct *vma, > (IS_ENABLED(CONFIG_READ_ONLY_THP_FOR_FS) && > vma->vm_file && > (vm_flags & VM_DENYWRITE))) { > - if (!IS_ENABLED(CONFIG_TRANSPARENT_HUGE_PAGECACHE)) > - return false; > return IS_ALIGNED((vma->vm_start >> PAGE_SHIFT) - vma->vm_pgoff, > HPAGE_PMD_NR); > } > @@ -1260,7 +1258,7 @@ static void collect_mm_slot(struct mm_slot *mm_slot) > } > } > > -#if defined(CONFIG_SHMEM) && defined(CONFIG_TRANSPARENT_HUGE_PAGECACHE) > +#ifdef CONFIG_SHMEM > /* > * Notify khugepaged that given addr of the mm is pte-mapped THP. Then > * khugepaged should try to collapse the page table. > @@ -1986,14 +1984,10 @@ static unsigned int khugepaged_scan_mm_slot(unsigned int pages, > khugepaged_scan.address + HPAGE_PMD_SIZE > > hend); > if (IS_ENABLED(CONFIG_SHMEM) && vma->vm_file) { > - struct file *file; > + struct file *file = get_file(vma->vm_file); > pgoff_t pgoff = linear_page_index(vma, > khugepaged_scan.address); > > - if (shmem_file(vma->vm_file) > - && !shmem_huge_enabled(vma)) > - goto skip; > - file = get_file(vma->vm_file); > up_read(&mm->mmap_sem); > ret = 1; > khugepaged_scan_file(mm, file, pgoff, hpage); In the code above you didn't eliminate shmem_huge_enabled, it still exists and has multiple paths that can return false. Are we guaranteed that it will return true or is it that it can be ignored here? All the other changes look correct.