From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 573423AA191 for ; Tue, 16 Dec 2025 13:47:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765892867; cv=none; b=Mfi0TlEoc6aJxY/mCi+pY6LdnFgeMPr+JfB9epqWlvC3/TvJl+oZBGkjvve0v49LOFYIW61Bd7r+gW+5nI6Ao0oyK2ENyLDzHYkWQRP1ClV+OLUWzuiYD6IuN5XGQJW48qLNF0KVt1KjNnh4UG6uSVR30F/L20JyntBlQh9Q8D4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765892867; c=relaxed/simple; bh=xjG6FBFWPKvG5P/SsIjHS9ualzNNzGboq9B9p0sYquM=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=Iszri0lxAbkL2K/IVRHBCRkgtr7QKtK6pZiiVE2HdbAbAquxI7SrTdttQCkRP3btYGRgE5w1s+SufK1xt3qW+/EX+xSreEWgSlwAfWYiIOD6NEMl4WJ408ikuuRFMzN83HOdgEKbBLsgXKGcMCL+p/+PoZlHwugH8C2IxCEgMJI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=KCKhqhvQ; arc=none smtp.client-ip=170.10.133.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="KCKhqhvQ" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1765892864; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=W0n4CifwqOvwMIjpHZmSAKjapUo7PMwuLQMXUO8ulhY=; b=KCKhqhvQU/oqfHNZSgLtaFPwUJK06QwFJ7k9Y/cY5rxDvnZu/hhvuwaK34wjs3lzS2ugvw nbeZNp8n6fzNoJQh1lW5QtgNjK4vf4x5KP5WxNSVa6hwUinj5+LUWJG980oTi3nxEKZK+i x5bgqstQIufyZloEyBnCrkNHm3DSass= Received: from mail-pl1-f197.google.com (mail-pl1-f197.google.com [209.85.214.197]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-66-MmoO9w0qMd2u6ap6opb6rw-1; Tue, 16 Dec 2025 08:47:43 -0500 X-MC-Unique: MmoO9w0qMd2u6ap6opb6rw-1 X-Mimecast-MFC-AGG-ID: MmoO9w0qMd2u6ap6opb6rw_1765892862 Received: by mail-pl1-f197.google.com with SMTP id d9443c01a7336-2a0a4b748a0so71267595ad.1 for ; Tue, 16 Dec 2025 05:47:42 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765892862; x=1766497662; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=W0n4CifwqOvwMIjpHZmSAKjapUo7PMwuLQMXUO8ulhY=; b=Rv1jd/zigsxwiPfKzIJS7GN9ul6zur6VVOynmqRwNeIteYm+yysPbVyuUR2gSxEmss zVzWdol39WaUZWo/XtCmQW2+BQ2eYd3TM2/iitYNv1JJQ/eLzsFUOr6jmuUG3oi+Sxrw 9aBg3giSK0/ciZIqF0lYR5OUtpKUvo3yYMIFenHw6u4QtmyTnnA0lGwktmel0daJPd25 tlO8zqlO/EPa+E5Hvfg1l72KLC6TA4WZhaXjz3tfpbGXS4xeEXQlQsdQUpK2ONq3u/t+ 85LATxCASbIWcJBY86ce/2CfUCyoFyFpSvJ3LYnYrBdckvGwLmeKDPymQBRZ5bo+XNGR jgzg== X-Forwarded-Encrypted: i=1; AJvYcCUAPYQOV1f3D6U6VbDZeDckiocVBYCeUwoRRmZ8FmqzmT46O/VVg82xwZtHSITHQkkU+3aEkeFy1NE+oog=@vger.kernel.org X-Gm-Message-State: AOJu0YxfjH6PyKJa6bIPw+46pOYCiB866SbplI4ioQi7x2PQvnZTCsXu jlhaAOV2BXq+BMNvUG/yadf0xSnH1dKmtAk3j19r59rt5oISxU6jmSgrUjbVj28HeP7oLfh153n qIedmOemmXCX5ZupR2pPkC2LBeAxVltzPf2fP+zwd4NwsWBTJAcVWF78jsmpJ2cZpkg== X-Gm-Gg: AY/fxX7CiVeDySlhm1Qk+zXaMeR96fApub5uRVPv6DBwopRdtpLR4jW9YeDC80y/A2b s5Wp2sAem2bc+Gm1npPX0BQ3U5W5TvV5teZZrIK3e9iygLMj1Y4e0oRko6rNy6fDYjHca5JSoJk gF5PvgX32+aD+DQz/i4AOR9q12HehqA7EWtbmrTZVzz56WXogNiYWH7CJ3Of+bqF8GZVoTgjdht ih1iQCdYEQU3gfTeihQ9SJBKsZyPhZuIKoLV7k+haAX6OMnGNUXTlH3lt4tbJxGw8QVFjA7tNl3 h1Dhm/V9qPS2irBjSFpkKDFt/0pd/98GdbM61KaXJJFXxbhuB5Z6agBXlFniN65xzsVec4JAJ1d g533G+5t3c3zYGdwU1U8FDbabirl1UNBOyDx0SfDdfNA1zn8XBtSsl3gdSQbIWxhBb2ZZ9IUmcw == X-Received: by 2002:a17:902:f70e:b0:2a0:97be:61a9 with SMTP id d9443c01a7336-2a097be6574mr112823995ad.35.1765892861894; Tue, 16 Dec 2025 05:47:41 -0800 (PST) X-Google-Smtp-Source: AGHT+IFOAT6ChXidKSysrv5fzvM2X2al/IO1pMJyWOa3bMDlY/CL6pyVZsGYISmFkpjgkrgOyaQvaA== X-Received: by 2002:a17:902:f70e:b0:2a0:97be:61a9 with SMTP id d9443c01a7336-2a097be6574mr112823665ad.35.1765892861519; Tue, 16 Dec 2025 05:47:41 -0800 (PST) Received: from [192.168.2.110] (bras-base-aylmpq0104w-grc-48-76-65-77-217.dsl.bell.ca. [76.65.77.217]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2a094398eedsm105797345ad.37.2025.12.16.05.47.38 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 16 Dec 2025 05:47:41 -0800 (PST) Message-ID: <64b1e5fd-113d-4874-9b6c-6e344bd24ed5@redhat.com> Date: Tue, 16 Dec 2025 08:47:36 -0500 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 07/11] mm: shmem: use pgtable_has_pmd_leaves() To: Baolin Wang , linux-kernel@vger.kernel.org, linux-mm@kvack.org, david@kernel.org Cc: ryan.roberts@arm.com, akpm@linux-foundation.org, lorenzo.stoakes@oracle.com References: Content-Language: en-US, en-CA From: Luiz Capitulino In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 2025-12-16 02:52, Baolin Wang wrote: > > > On 2025/12/16 05:16, Luiz Capitulino wrote: >> Shmem uses has_transparent_hugepage() to check if PMD-sized pages are >> supported, use pgtable_has_pmd_leaves() instead. >> >> Signed-off-by: Luiz Capitulino >> --- >> mm/shmem.c | 7 ++++--- >> 1 file changed, 4 insertions(+), 3 deletions(-) >> >> diff --git a/mm/shmem.c b/mm/shmem.c >> index b329b5302c48..ad5825667b49 100644 >> --- a/mm/shmem.c >> +++ b/mm/shmem.c >> @@ -689,7 +689,8 @@ static int shmem_parse_huge(const char *str) >> else >> return -EINVAL; >> - if (!has_transparent_hugepage() && >> + if (!(IS_ENABLED(CONFIG_TRANSPARENT_HUGEPAGE) && >> + pgtable_has_pmd_leaves()) && >> huge != SHMEM_HUGE_NEVER && huge != SHMEM_HUGE_DENY) >> return -EINVAL; >> @@ -4655,7 +4656,7 @@ static int shmem_parse_one(struct fs_context *fc, struct fs_parameter *param) >> ctx->huge = result.uint_32; >> if (ctx->huge != SHMEM_HUGE_NEVER && >> !(IS_ENABLED(CONFIG_TRANSPARENT_HUGEPAGE) && >> - has_transparent_hugepage())) >> + pgtable_has_pmd_leaves())) >> goto unsupported_parameter; >> ctx->seen |= SHMEM_SEEN_HUGE; >> break; >> @@ -5439,7 +5440,7 @@ void __init shmem_init(void) >> #endif >> #ifdef CONFIG_TRANSPARENT_HUGEPAGE >> - if (has_transparent_hugepage() && shmem_huge > SHMEM_HUGE_DENY) >> + if (pgtable_has_pmd_leaves() && shmem_huge > SHMEM_HUGE_DENY) > > Using pgtable_has_pmd_leaves() here is a bit confusing because the definition of pgtable_has_pmd_leaves() is: it returns true if the CPU supports PMD-sized pages and false otherwise. > > However, tmpfs and shmem already support other sizes of large folios, not just PMD-sized large folios. > > So, for me, using has_transparent_hugepage() to check would be at least clearer (even though it doesn't change the functionality). This is more of a naming issue, correct? Would adding something like thp_has_pmd_support() which expands to: return IS_ENABLED(CONFIG_TRANSPARENT_HUGEPAGE) && pgtable_has_pmd_leaves(); solve it for you? I suggested it in my RFC, but David advised not to do it. Also, I'm not sure if the comparison with other folio sizes apply, as PUD and PMD sizes are special.