From patchwork Wed Apr 17 09:23:12 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Hildenbrand X-Patchwork-Id: 13633095 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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 734B1C001CC for ; Wed, 17 Apr 2024 09:23:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 15A5D6B009A; Wed, 17 Apr 2024 05:23:27 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 10A836B009B; Wed, 17 Apr 2024 05:23:27 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id F13576B009C; Wed, 17 Apr 2024 05:23:26 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id D65AB6B009A for ; Wed, 17 Apr 2024 05:23:26 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 9E65740D3B for ; Wed, 17 Apr 2024 09:23:26 +0000 (UTC) X-FDA: 82018485612.04.DC4F541 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf16.hostedemail.com (Postfix) with ESMTP id 18AE1180015 for ; Wed, 17 Apr 2024 09:23:24 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=EcMSiU7T; spf=pass (imf16.hostedemail.com: domain of david@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=david@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1713345805; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=4XkSYCF8J11KhT1kD3yECHdoktxsLGeadBVxc6aZ2IU=; b=UVW2NS+nribbgS+UwZFR3qGvEeDHXKrPki863hzPlb76VzUiUllOd98nLQDOo2xTSguMEM fxOY1LRp7+FvXB92+dm2heBTH3eniJvOKoDXWN447lzv66EmWa/Dr1Iu46TDn85rOglHMZ SBCjAv9Gd2aRC/PZmSb1icB1An0K+PI= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1713345805; a=rsa-sha256; cv=none; b=Bh4dsxMObPj5nZ4BAJZXxp60Umi7/0pbkQ3UniPt07cwbkpnTTuOzJHHaVU7Tgakrn8YXP 9UCPEPxEVrIBAZLm18hQA4ayW0c7yVhADgZY621gST0on+WT/RN89Mk8IvvYC0yBs+C9Ij qP5PX8RH5lcBU/MTV5uoRoku7JbtZ6U= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=EcMSiU7T; spf=pass (imf16.hostedemail.com: domain of david@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=david@redhat.com; dmarc=pass (policy=none) header.from=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1713345804; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=4XkSYCF8J11KhT1kD3yECHdoktxsLGeadBVxc6aZ2IU=; b=EcMSiU7TzbhM8NHZqiOVsrWckHiXWP2TyAM4UmGLB9VjDzMuRPVTUZC7c4eABsmQNvfvFN B3Oy45hjeBGYuN7BAaEj+jDxsMN0e4PunRXjgnUsemiGjNaE2nkS6NIv6Es+4qEpW3McMA um1Xm20CNE0glZ330HLSMrWjM+ABuhI= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-433-pdv014c2NOGreuXLt_k0MQ-1; Wed, 17 Apr 2024 05:23:22 -0400 X-MC-Unique: pdv014c2NOGreuXLt_k0MQ-1 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 91F0A830E7D; Wed, 17 Apr 2024 09:23:22 +0000 (UTC) Received: from t14s.fritz.box (unknown [10.39.193.252]) by smtp.corp.redhat.com (Postfix) with ESMTP id 0F22C2166B36; Wed, 17 Apr 2024 09:23:20 +0000 (UTC) From: David Hildenbrand To: linux-kernel@vger.kernel.org Cc: linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, David Hildenbrand , Andrew Morton , Muchun Song Subject: [PATCH v1 1/2] fs/proc/task_mmu: convert pagemap_hugetlb_range() to work on folios Date: Wed, 17 Apr 2024 11:23:12 +0200 Message-ID: <20240417092313.753919-2-david@redhat.com> In-Reply-To: <20240417092313.753919-1-david@redhat.com> References: <20240417092313.753919-1-david@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.6 X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 18AE1180015 X-Stat-Signature: ryy3pbac8uq6wzp95ao81jd5yohpx5ec X-Rspam-User: X-HE-Tag: 1713345804-6972 X-HE-Meta: U2FsdGVkX18zP7WRz0Wp/DfoXC1YMpWu/q6yWL+i6ipcGhjaGWGRLG6FMzqRDaoUEBlh7T1yQGXyYPK0I61P7YhQqaMIUIyl+EEksiaf5PdmvDj+pVfk3kBDJkJBmIU4CDsa6/GRVmo/x7xDL+6krWAPXCchao474NxGKewuWPnDNetTfBkbTgUkMLkArYz0M7E5xPfBkEqTHDIfgqhDZC2KDAVQVvuXf6EwvvdOdZn/Cta7qz4WEbq6KfpnFyVdW96pAm3CmB1/3GOIv0x0DekAMuWwKbGsJpY08OyhukyVyBa9LUn4AvlvL3Mo/jUYTuAP+bRQ7k6asH8ryFhB7up5WdpvVJTwhu1bZKda0I9ba79TsI+BC4y6AIxCSpPmC3cqia75B/o3J+bwfqG0M94BVeq+VBOY7/3G3o6hxhmSVF7g/1cLyYL6UeRIPvmtYV4m/7C/a+9fSlizmeY0uvM9CBG33oNUhGQXbpsGpmABGESTX5Hx36nf4+FHEevro9FzELXGzjWWgBhkbK5YmO6gcu+DZToEJvcokzBz4i1mfGEa1hI0fV9shxLF7rYfF2noMDGa/qpFfPjnFqWTolRh592alfMM/v/zxiT8Gqdv5tBtdty7/aP8V+9NWqXsaQJW08OjbAd142rwLuqPll3jG6RBxlYuf3I1UHcq1JPstK11zUGPmZWmKUW7dDBffk9i17K/+ZtVBAE5Xqg2UUYvMtif30XR9iQDVrPPsL8J5w4XdXXMvSPZ8QNUWlUokXdeK1BmATY6uw4ytvXJLeCqpDN4h3Yj6LosVN28lZlLFIy/FwCt608OlknjJCCg1zEdc8E+h7qdZVTeqLDC3fWUA8RP2nkYo8/DfWVRarfCExljkJCPbXY7GyRTGJlqj/vnRB+2wvZCPNV0Xb/UAzWgmvlPlFJaWmAQcYwh0rV85tO2HyHwkbja2PSAbzfT 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: List-Subscribe: List-Unsubscribe: Let's get rid of another page_mapcount() check and simply use folio_likely_mapped_shared(), which is precise for hugetlb folios. While at it, also check for PMD table sharing, like we do in smaps_hugetlb_range(). No functional change intended, except that we would now detect hugetlb folios shared via PMD table sharing correctly. Signed-off-by: David Hildenbrand Reviewed-by: Oscar Salvador --- fs/proc/task_mmu.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c index 8ff79bd427ec6..cd6e45e0cde8e 100644 --- a/fs/proc/task_mmu.c +++ b/fs/proc/task_mmu.c @@ -1578,12 +1578,13 @@ static int pagemap_hugetlb_range(pte_t *ptep, unsigned long hmask, pte = huge_ptep_get(ptep); if (pte_present(pte)) { - struct page *page = pte_page(pte); + struct folio *folio = page_folio(pte_page(pte)); - if (!PageAnon(page)) + if (!folio_test_anon(folio)) flags |= PM_FILE; - if (page_mapcount(page) == 1) + if (!folio_likely_mapped_shared(folio) && + !hugetlb_pmd_shared(ptep)) flags |= PM_MMAP_EXCLUSIVE; if (huge_pte_uffd_wp(pte))