From patchwork Wed Apr 17 09:23:13 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Hildenbrand X-Patchwork-Id: 13633096 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 33868C4345F for ; Wed, 17 Apr 2024 09:23:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BE2496B009C; Wed, 17 Apr 2024 05:23:32 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B90F56B009D; Wed, 17 Apr 2024 05:23:32 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A352E6B009E; Wed, 17 Apr 2024 05:23:32 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 85B2A6B009C for ; Wed, 17 Apr 2024 05:23:32 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 21D78160DF8 for ; Wed, 17 Apr 2024 09:23:32 +0000 (UTC) X-FDA: 82018485864.26.FD82152 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf21.hostedemail.com (Postfix) with ESMTP id 688DF1C0020 for ; Wed, 17 Apr 2024 09:23:30 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=LZbASxFs; spf=pass (imf21.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=1713345810; 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=0KJlX59pWoV+9ju0XmT0Dv5XXIefdKD1ijqlf4oKq4Q=; b=frj2DA37MWVSeaozngL94vApk3s3VYDSpQNyMuxTr6MtYfEy4wowoo8+koeEY0X2FC7a2v qluje3eVIomnL4tHYylb289Ku+aDAQfqgL0wnzpxTLxXZ7XdRfCZh7zmerhWOwIFDqHsFb DNaJSTkY2/4/S3PVY4UDvc50NviC9RQ= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1713345810; a=rsa-sha256; cv=none; b=HRmYYg9DzKkAS18DdqnJG4xsVlSsfMenJ7rrV9evsUGrAstsIlYYR9baodUVAHWh5ZxW17 4tX72i0iMREJuAgSBM1J0PE6edB5DUS6vyUGHtaZW0/0LIMnnkQDZc6bQolaDVPS0b20yS zZDmXDFZKrF/3CIWO++N6k/sYvcS9eI= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=LZbASxFs; spf=pass (imf21.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=1713345809; 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=0KJlX59pWoV+9ju0XmT0Dv5XXIefdKD1ijqlf4oKq4Q=; b=LZbASxFsI9bLFWanwUZX4mvkwwEDnlrH2U7wgaVtBHJ/lWU3VaKnxHlfhnSFMWMy694jJJ rWrDdtPTBU2glop+F8qw/+K2liDvQP83t01Hi/+Z4reQmbs9lVj4KnJr0vTZSyzrFK3odR TQp2zqN7+yv++zQOo9mkc76SxkTlUQo= Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-439-Tteg5mGVN_yPaHS7lxTX6w-1; Wed, 17 Apr 2024 05:23:25 -0400 X-MC-Unique: Tteg5mGVN_yPaHS7lxTX6w-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 D1D1938116ED; Wed, 17 Apr 2024 09:23:24 +0000 (UTC) Received: from t14s.fritz.box (unknown [10.39.193.252]) by smtp.corp.redhat.com (Postfix) with ESMTP id F31922166B32; Wed, 17 Apr 2024 09:23:22 +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 2/2] fs/proc/task_mmu: convert smaps_hugetlb_range() to work on folios Date: Wed, 17 Apr 2024 11:23:13 +0200 Message-ID: <20240417092313.753919-3-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-Rspam-User: X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 688DF1C0020 X-Stat-Signature: 473771464yj3ftffunhtyhedhi54w7qk X-HE-Tag: 1713345810-740192 X-HE-Meta: U2FsdGVkX1/CjQZFQJMZSNAzNSr8X7t0JyyyOkZoX9wVvbVOiM/i+3cuDvJTLjfQIuqiKObrhkdBUDhJvya8ksmIiKY5mv1pp7fi+BpwwmX2AgQP2yn/S7Rqsp/U5CTUBRikbE53PiA0LK4WYUIzqV8m9UWHaJoWxdNF7GrPS6/kuw+0Uu3i8Yi/GvcZwWWNlnlsPYfqGiDkHmzcRWI3cMX5uggxpTuNHmzuqmQXw1LqkOoXqRf0Ir5GPDcmD+59wEfGOV3p6xmVkcohQA+NdIYmGF4ywug1YutmchSVBnZQ6gDAfyyHJKkKTdZpXvuzSsx1osx53I6QXbLnZP5R2FT/LKyE9yZfpnEZ21Tm7nu/fIZO+kURejkm7KihZ1bHPnzn4SFga7nCRyHbPZlud6cxXkbCPidCqgWT4WWGNTh/TYEkd7kcgSRRRVeoVqL8ShNIyWIEaPsHVvgmlgFXxRqSBnlpkqChZg1IFudxnrtVWsAuzWonCwGTiSgeS+F3ZQnlGbyF/XxR0Qcsw+auJc+qy/pAPdv9U1LtratiZ5Eau+KlRxBgrGHTLS44JG4XpuFxoB/+A87j+hQt5T9Eiu2IDH/4o/gt2bV8mxMXURAyXehiNKawc5jH0EwWLZvHH4fofMhGExecpKuP1nittlbWpJQ5uzKI5RRvtKeMF46/KlUrq+IkmbZulb1NFyBfcVfnVTBNbNn8oKzi+Hof8a2j9wbN+/Tnw5uWzqadGHA0MgGnoe2IxKCuDtUnn5d48/uT1iAe8x5mMkJMDhBP//1ReZQm083tco6cfic+SagaPjDcbS4yQifqiwRh0S6tXUNTKZHLSdA6h59wxzmHwzw19u+2qrwAEBrYpW3DyC4lof22wHtJL9FFpND8umiWRrgeMpySROe40vXZKPaofKq8yN+rR3ANnxNEntNa87O+EKDZpyL26kXtoDvQkxU2m/zHewkumcftrA8NsU8 OYEMwJha kHy7XrTZ67vyFF5UnL6VhbmiHIyqvu0isTZsVzX8+d19k4Exonn1PCazVbCoxEt6bQfNQqmoYAguclPyWTfSYMrRlNOzTttS1ADx6lrjEEFHydwZtJ7HL1sQsW66SJq7ZCELbnMyqQxBZBqCrDh4GyONXqPtP+IBrCUsENYMs61o0vqZ00yXEyxHs4vGQxUlOLFwAjPO8jU6BB20beQxH91f0iQ== 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, use huge_ptep_get() + pte_page() instead of ptep_get() + vm_normal_page(), just like we do in pagemap_hugetlb_range(). No functional change intended. Signed-off-by: David Hildenbrand Reviewed-by: Oscar Salvador --- fs/proc/task_mmu.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c index cd6e45e0cde8e..f4259b7edfded 100644 --- a/fs/proc/task_mmu.c +++ b/fs/proc/task_mmu.c @@ -730,19 +730,20 @@ static int smaps_hugetlb_range(pte_t *pte, unsigned long hmask, { struct mem_size_stats *mss = walk->private; struct vm_area_struct *vma = walk->vma; - struct page *page = NULL; - pte_t ptent = ptep_get(pte); + pte_t ptent = huge_ptep_get(pte); + struct folio *folio = NULL; if (pte_present(ptent)) { - page = vm_normal_page(vma, addr, ptent); + folio = page_folio(pte_page(ptent)); } else if (is_swap_pte(ptent)) { swp_entry_t swpent = pte_to_swp_entry(ptent); if (is_pfn_swap_entry(swpent)) - page = pfn_swap_entry_to_page(swpent); + folio = pfn_swap_entry_folio(swpent); } - if (page) { - if (page_mapcount(page) >= 2 || hugetlb_pmd_shared(pte)) + if (folio) { + if (folio_likely_mapped_shared(folio) || + hugetlb_pmd_shared(pte)) mss->shared_hugetlb += huge_page_size(hstate_vma(vma)); else mss->private_hugetlb += huge_page_size(hstate_vma(vma));