Received: by 2002:a05:6a10:6d25:0:0:0:0 with SMTP id gq37csp7573463pxb; Fri, 30 Jul 2021 16:43:37 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxl1AqAThdOg4u1luOIVP2EMfITXzuGGoRYpgIxcZs8MLzZNImKveQDxs+tIr51o5AScBn/ X-Received: by 2002:a92:d9c6:: with SMTP id n6mr3614222ilq.142.1627688617411; Fri, 30 Jul 2021 16:43:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1627688617; cv=none; d=google.com; s=arc-20160816; b=FdEAORAfr9Fb9OGb61lnWEF3BGGY03LXvABUntVGQsBLQq4dSOUtqlN/Krti/ELaVC hqlswfGVNFFATzSgi4N1alk3P8x2ophHZiJM8LlujgZ1kmibcBtuOq85SKzfHwr9HVx9 OqCMxfjzXM6oMQwAk5B/Q6u2dmwsBGJGH8efTDWqHMcwicHUCAP57lzJRNZuaBL9Oyio Y6cvq3Xjl5gfCFbK2cfNAk706migrd5Nzmp+dOzIk9kWGwrT3bCR4pbkNxnyYs/3i93z n5CIoijp//FPeINg4y3IwZd3u95pjjFgWr2jd8k7JdE9Sb6wKP0pQKNfA8dx6nnae1iw cxgA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=jSLUnuuq5fV++9tMx9L7dLU+YzP6IguTmZ4Xmh+94Bg=; b=pnHO47/o2TUhNr02CDXz0M2uo/nJwb+pAHQ3tdoh/eHulCk237w9DyLkckPJRDu44a O9YFdGcZwQMmGZG+/q/r2q2pAcEzFeSc6OuMafz6DrYT5ugTgQMfrM3eURpMk6UHwjnx gA/kIy6SvsJ1e/qxuER7SyjR+oav8PqGSut38TIY3grN6CmpsIW9KAjtyW0k89MaSTfN 5Gb55EzPrX6DUgouTwEqIPrG2nU9H2qQgqrEwW3XwQDrkMvsrzDRBYCc5DuRU03J7/zw 3uMHdNbT5TssT8T2APMaGYUCP69lRcIs5ecZ6O75NXuB2cpOOoKLO0ys1svHK3CBrnKc 03gA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=nJKDksbi; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id c10si3350597jae.85.2021.07.30.16.43.24; Fri, 30 Jul 2021 16:43:37 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=nJKDksbi; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234058AbhG3XlN (ORCPT + 99 others); Fri, 30 Jul 2021 19:41:13 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39828 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231209AbhG3XlM (ORCPT ); Fri, 30 Jul 2021 19:41:12 -0400 Received: from mail-ed1-x529.google.com (mail-ed1-x529.google.com [IPv6:2a00:1450:4864:20::529]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 78C01C06175F; Fri, 30 Jul 2021 16:41:07 -0700 (PDT) Received: by mail-ed1-x529.google.com with SMTP id b7so15443986edu.3; Fri, 30 Jul 2021 16:41:07 -0700 (PDT) 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=jSLUnuuq5fV++9tMx9L7dLU+YzP6IguTmZ4Xmh+94Bg=; b=nJKDksbiCLIFAtUQDafEvw8Tzb1I9e/ExJonodW9mAQVo7IJwENFLNXkXhOxQeKsnF poz0zfkeaJomNjwwRAtTVImPZ92rp8E3H3CqyHF5VgrqRpilrelaFtxpKdggbwdknlCr +frMG9q5tu10/1KIxHyes8BTAmU+QlEfUuJ7sO5JvAx8phaVDZzW5wzyVupRCAacJXNr 8tyaFCL2nt6rxITYE0xsb5sZ+Hy2cz09YeQZxlkcM0wHwtYgFgMRZMbJKLv2Z6DzZe5m cDi/yh4U3O7fgoOk1CIomGbWhRk9XwpRqGI0XGnw7VcJq6oDOZAdFx31F6W6U9IWMDge aGRQ== 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=jSLUnuuq5fV++9tMx9L7dLU+YzP6IguTmZ4Xmh+94Bg=; b=s+uiL59t5wzD51UH+syFsE0X75ihfncp2mVPIPLknL/CgeTqYWuAfG6QqT7iVUhgMR 5SMsHEoxFRkalz5GNAWqJBulPS82iNQ3GhcrQHGdJTE6xTpA6WkU7hSwpJJ/LelM8gp6 WtPAvR0/uhW579GWQW6+zLC8YrudWJCylYQhaInfhRA2UsgufLqZMW3Sa2gwQGsOSJn6 05zV2cYPhwhJsXN5vz3jmAESpmrhnHXtdv0zYreiVbqZbC0zoHJMuCtdLVAXPSUiag0D APkfyzAsZhwEQQIRELUSZAxFxb1O2OITtBwpF4aiVgg90ImxwcKEs6swSvqcR8B/YeGJ xmfw== X-Gm-Message-State: AOAM530EbjgnbcuqB8z7J+XZ6uZXSnGu8MytyhLP1U3zASWmPG3qqMRO bUcCnYFDu+U91ZzC/TSqf0fv1yil5yxmqiGhSMA= X-Received: by 2002:a50:ce45:: with SMTP id k5mr6111555edj.168.1627688466110; Fri, 30 Jul 2021 16:41:06 -0700 (PDT) MIME-Version: 1.0 References: <2862852d-badd-7486-3a8e-c5ea9666d6fb@google.com> In-Reply-To: From: Yang Shi Date: Fri, 30 Jul 2021 16:40:54 -0700 Message-ID: Subject: Re: [PATCH 09/16] huge tmpfs: decide stat.st_blksize by shmem_is_huge() To: Hugh Dickins Cc: Andrew Morton , Shakeel Butt , "Kirill A. Shutemov" , Miaohe Lin , Mike Kravetz , Michal Hocko , Rik van Riel , Christoph Hellwig , Matthew Wilcox , "Eric W. Biederman" , Alexey Gladkov , Chris Wilson , Matthew Auld , Linux FS-devel Mailing List , Linux Kernel Mailing List , linux-api@vger.kernel.org, Linux MM Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Jul 30, 2021 at 12:51 AM Hugh Dickins wrote: > > 4.18 commit 89fdcd262fd4 ("mm: shmem: make stat.st_blksize return huge > page size if THP is on") added is_huge_enabled() to decide st_blksize: > now that hugeness can be defined per file, that too needs to be replaced > by shmem_is_huge(). > > Unless they have been fcntl'ed F_HUGEPAGE, this does give a different > answer (No) for small files on a "huge=within_size" mount: but that can > be considered a minor bugfix. And a different answer (No) for unfcntl'ed > files on a "huge=advise" mount: I'm reluctant to complicate it, just to > reproduce the same debatable answer as before. > > Signed-off-by: Hugh Dickins Reviewed-by: Yang Shi > --- > mm/shmem.c | 12 +----------- > 1 file changed, 1 insertion(+), 11 deletions(-) > > diff --git a/mm/shmem.c b/mm/shmem.c > index 67a4b7a4849b..f50f2ede71da 100644 > --- a/mm/shmem.c > +++ b/mm/shmem.c > @@ -712,15 +712,6 @@ static unsigned long shmem_unused_huge_shrink(struct shmem_sb_info *sbinfo, > } > #endif /* CONFIG_TRANSPARENT_HUGEPAGE */ > > -static inline bool is_huge_enabled(struct shmem_sb_info *sbinfo) > -{ > - if (IS_ENABLED(CONFIG_TRANSPARENT_HUGEPAGE) && > - (shmem_huge == SHMEM_HUGE_FORCE || sbinfo->huge) && > - shmem_huge != SHMEM_HUGE_DENY) > - return true; > - return false; > -} > - > /* > * Like add_to_page_cache_locked, but error if expected item has gone. > */ > @@ -1101,7 +1092,6 @@ static int shmem_getattr(struct user_namespace *mnt_userns, > { > struct inode *inode = path->dentry->d_inode; > struct shmem_inode_info *info = SHMEM_I(inode); > - struct shmem_sb_info *sb_info = SHMEM_SB(inode->i_sb); > > if (info->alloced - info->swapped != inode->i_mapping->nrpages) { > spin_lock_irq(&info->lock); > @@ -1110,7 +1100,7 @@ static int shmem_getattr(struct user_namespace *mnt_userns, > } > generic_fillattr(&init_user_ns, inode, stat); > > - if (is_huge_enabled(sb_info)) > + if (shmem_is_huge(NULL, inode, 0)) > stat->blksize = HPAGE_PMD_SIZE; > > return 0; > -- > 2.26.2 >