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 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C484BC433EF for ; Thu, 4 Nov 2021 22:10:17 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 4105061244 for ; Thu, 4 Nov 2021 22:10:17 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 4105061244 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=infradead.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=kvack.org Received: by kanga.kvack.org (Postfix) id D7C7F6B0072; Thu, 4 Nov 2021 18:10:16 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D2C066B0073; Thu, 4 Nov 2021 18:10:16 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C426A940007; Thu, 4 Nov 2021 18:10:16 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0080.hostedemail.com [216.40.44.80]) by kanga.kvack.org (Postfix) with ESMTP id B6CBF6B0072 for ; Thu, 4 Nov 2021 18:10:16 -0400 (EDT) Received: from smtpin29.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 796A118484CAD for ; Thu, 4 Nov 2021 22:10:16 +0000 (UTC) X-FDA: 78772642032.29.947BA6C Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf04.hostedemail.com (Postfix) with ESMTP id 853635000301 for ; Thu, 4 Nov 2021 22:10:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=eqsnjltaIp5wOU9w7qoHTXEclRd34EUWE9Jp1pYxv3Q=; b=DOxD2zduSKCbJBFCGfsvrCu0iU LIsnYoHRiB4PWrz/7hFbNlYOe2iJkybl/Umqpq0TdbUg3jQRY+x8fyTjPYPYogjexKpZaoEFyI1nI Czpjhe16FWL9KeaMa1NSrCfr9V5msJs7vc9xmCEEnTsD+c4hY4YTLbmMljONbOe6yWu3dFYYKM7cN 5BB7ANH+cnQc70HiFvxm9x7DXJsoFU80lMU838kRfbm9zl8r6W4UIdUQXqHcwhkbSrW0iRqg9tGbW tLF7iynNiQnbZo6ifrFCAs/PJWYayJNEOPXFGFaF4zBfwGd/cXL3Zlx7XKIgW6WWGTlwZXGoYSWqN Bf5nbBDQ==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1mikrd-006ACn-UT; Thu, 04 Nov 2021 22:06:30 +0000 Date: Thu, 4 Nov 2021 22:05:41 +0000 From: Matthew Wilcox To: Mina Almasry Cc: no@kvack.org, To-header@kvack.org, on@kvack.org, "input <"@kvack.org;, "Paul E . McKenney" , Yu Zhao , Jonathan Corbet , Andrew Morton , Peter Xu , Ivan Teterevkov , David Hildenbrand , Florian Schmidt , linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH v2] mm: Add PM_THP to /proc/pid/pagemap Message-ID: References: <20211104214636.450782-1-almasrymina@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20211104214636.450782-1-almasrymina@google.com> X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 853635000301 X-Stat-Signature: oc5zgpee1aep5u4agmsejox5a9xons78 Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=DOxD2zdu; dmarc=none; spf=none (imf04.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org X-HE-Tag: 1636063807-361430 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 Thu, Nov 04, 2021 at 02:46:35PM -0700, Mina Almasry wrote: > Add PM_THP to allow userspace to detect whether a given virt address is > currently mapped by a hugepage or not. Well, no, that's not what that means. > @@ -1396,6 +1397,8 @@ static pagemap_entry_t pte_to_pagemap_entry(struct pagemapread *pm, > flags |= PM_FILE; > if (page && page_mapcount(page) == 1) > flags |= PM_MMAP_EXCLUSIVE; > + if (page && PageTransCompound(page)) > + flags |= PM_THP; All that PageTransCompound() does is call PageCompound(). It doesn't tell you if the underlying allocation is PMD sized, nor properly aligned. And you didn't answer my question about whether you want information about whether a large page is being used that's not quite as large as a PMD.