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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id D15D1EE49AA for ; Mon, 21 Aug 2023 14:11:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1543D8E0007; Mon, 21 Aug 2023 10:11:37 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1049B8E0006; Mon, 21 Aug 2023 10:11:37 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id F0EC58E0007; Mon, 21 Aug 2023 10:11:36 -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 E1D408E0006 for ; Mon, 21 Aug 2023 10:11:36 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id BBDE6140488 for ; Mon, 21 Aug 2023 14:11:36 +0000 (UTC) X-FDA: 81148299792.02.96C26AC Received: from madras.collabora.co.uk (madras.collabora.co.uk [46.235.227.172]) by imf12.hostedemail.com (Postfix) with ESMTP id D31084000E for ; Mon, 21 Aug 2023 14:11:34 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=collabora.com header.s=mail header.b=Oog9YJYJ; dmarc=pass (policy=quarantine) header.from=collabora.com; spf=pass (imf12.hostedemail.com: domain of usama.anjum@collabora.com designates 46.235.227.172 as permitted sender) smtp.mailfrom=usama.anjum@collabora.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1692627095; a=rsa-sha256; cv=none; b=OlVHmFeVlWwXv5wOp60HuEqUMf5CQ+apFVq2rQAHv0beTT8Ei4s2oPdTDB8fr3kxglkbkb g1rnJ7xdPqmG/e1PpaoGV888BypscJeSyVsCLhaCbaknd1NOlEAjQvu77tZYCJtwz6pvv8 aMSEbKvfgcclPfOadpNXWfVN4AraNIM= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=collabora.com header.s=mail header.b=Oog9YJYJ; dmarc=pass (policy=quarantine) header.from=collabora.com; spf=pass (imf12.hostedemail.com: domain of usama.anjum@collabora.com designates 46.235.227.172 as permitted sender) smtp.mailfrom=usama.anjum@collabora.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1692627095; 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-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=sFMHDnTSBJEvFKlabNsX8+K4KLValmKcAdKQNcw2tHM=; b=4Nimv5isl7V8eGZW/oHzL6Qudvfampp+uFblkTfXyj5k9bcHeSQlAfdk5Cf6K8oxiQdfRZ D3VlncR8QYaPeRngPeFovBg6PXBk+zeZGNhUE6yBjezZ/os2vjh80STJTll+JfojRopyen Iad95wlXg+V3sOA0RPXNWe8GjuD1uy4= Received: from [192.168.10.12] (unknown [39.45.215.81]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: usama.anjum) by madras.collabora.co.uk (Postfix) with ESMTPSA id 244B266071F4; Mon, 21 Aug 2023 15:11:25 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1692627093; bh=++dzZO1vqk0amfLf6lBtmxCFkhXXPRL6bxuD2YCYW40=; h=Date:Cc:Subject:To:References:From:In-Reply-To:From; b=Oog9YJYJ++VUYv2n0jvqY38wWi2YqISb9GEbfNel7+kNepgWEDIsUZ6kLDt7eY6nv 4aEOakZfimkGLJoQoI+0OjzHFDVF5cUIk1r6NZJXQxLwIm1QRYK86tq3uk2/S4XLWh 0LnALV1ykXJTaoLi/lWAkuAESAZZOypoacXthCfuXo6+he9+Wq7gIYXHScKRXilckx qh4Xnnnb8nFg+3TNxslTTy3aA0MuaPgAs8f8TvXyFqBdbED3LwsTY2uAa0jq/8JD10 z/7E7GylUAPnp1U7m8nHM3VqANIK5qPzADv558t+fTA3lm5jAn/piSMckB7WELFpL1 Tc60J78Opv4qw== Message-ID: <35fe8ddc-cbf3-403c-a40a-2e7b6842ec98@collabora.com> Date: Mon, 21 Aug 2023 19:11:15 +0500 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Cc: Muhammad Usama Anjum , Peter Xu , =?UTF-8?B?TWljaGHFgiBNaXJvc8WCYXc=?= , Andrei Vagin , Danylo Mocherniuk , Paul Gofman , Alexander Viro , Shuah Khan , Christian Brauner , Yang Shi , Vlastimil Babka , "Liam R . Howlett" , Yun Zhou , Suren Baghdasaryan , Alex Sierra , Matthew Wilcox , Pasha Tatashin , Axel Rasmussen , "Gustavo A . R . Silva" , Dan Williams , linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kselftest@vger.kernel.org, Greg KH , kernel@collabora.com, Cyrill Gorcunov , Mike Rapoport , Nadav Amit , David Hildenbrand Subject: Re: [PATCH v32 2/6] fs/proc/task_mmu: Implement IOCTL to get and optionally clear info about PTEs To: =?UTF-8?B?TWljaGHFgiBNaXJvc8WCYXc=?= , Andrew Morton References: <20230816113049.1697849-1-usama.anjum@collabora.com> <20230816113049.1697849-3-usama.anjum@collabora.com> Content-Language: en-US From: Muhammad Usama Anjum In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: D31084000E X-Stat-Signature: j9s9j5ynhuxrb8ue8t79je9yuezrb664 X-HE-Tag: 1692627094-349540 X-HE-Meta: U2FsdGVkX1+U9mSHKSDwEHoCy0mwy+OK4wzIfY+QYUWJjKd1dgQyjdLETxRY6Relby9Y3zs6qrMmvL3NlDbdj1jbesj1a1n3YeDPpiFTV9Ls3cv28+W5LJUHfI9RAziyVvVylgjM2mC0JgZKdtibwMfhSrY90NYnHMx9FudG+6VDWpblS7bmu8DcmYEcaZfcuomLiN5SsUh9K8UaEKGjR0rmeRaJeiFI/XjGr5lgmvEcSrxvobGBYrZm5H718M8f6UMHrc3UqHkOBnLTGlFC30jrtMqG1kh0WBEO8FI9ncanQpyMITSxoF6hvbjGMxHQI65D/J/jwGds8/fz05woJ779q9xA2Romrhh86dDvhMXzsZC87suuy0eSBcb9qYpnTGVBAoW/Cgl7XLtGCzoGZEy+eOHREduZLmesjZOyFoLY8XtAgDpRhzmZrTIroYWvDYaqjkYuLoKHFFSlSyDVZfPvD6+wX9urib181L0toMUqfc4hAybr1q5RbDWLMyPziBAzcZGgoC/ToDzWGTIQamGLemudSV6ImSbDgpC3Rs0jiP89+fKzhAC89MF/ame37ne4kt3Z5Z2IGAmEp3FzUYhByd+9YvP7PiXQQ4Qt4Olz+0/EWABm+jHobZ4wNgJD9HtllMXwxc+A+SRLtS6VtuMCQGvo72DXvQAWSNtbrArN4wUXNGbAtRpOkBq3iLrMSz5KzV+jTDRfBfdXoxdzbRfuUDj4078NiUMJlrFNiCUCSRqxLj9vBp5NghgAMt5SaxdvVTN4SksutSfD7GoTOZQKMdFfqahIfePoEkgGE64hkmJI+PdYghP8o82RFa1anR6yEAfOXO3EHgj1UPdMU/IZPxUTm2ac90Uvjj+EUS+6o/tgmmtaxYr1roB0DEnmpwkyStciXf/jP7WlBeX2ZTozBNtj2yD+scuv0cVzWNMrOCD1vEB6OpftzLOO9RG88I2HHHAKnbjzGnBqTTV y+Jvu4a7 uld5d4ilvZy2RR/MSTTF2C4093oo6rV1D4JzeS3y8CMqhW7U2TKJf+WZwP9cTP4wub9w0z8G88u5C0uVEKE66r/J5i5WExhLOpPLpXcI+T95hRIruIXKrtOeS56+B1+xnNu/UeBUt0jC7JjTVwG++CblCdopo+A9kg6PEH55l/NE6roU8Su/HQ0VVLqelK4aw/hvGcNKCvoPL5tsAnLcXiKZxejbocE9YZRfcLhhciUpQ++FoZAyr4PwNLrD2t7xZZey1jjX0//OMNauQc7jH/QbOcFtV56Hblqa2J3swHwyGIAW5VQuh01in7pph2ePBNXBoXZhpsI3aP17fi5OTXtG51imfuL5Ke1ly 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 8/19/23 6:04 AM, Michał Mirosław wrote: > On Wed, Aug 16, 2023 at 04:30:45PM +0500, Muhammad Usama Anjum wrote: >> The PAGEMAP_SCAN IOCTL on the pagemap file can be used to get or optionally >> clear the info about page table entries. > [...] >> --- a/fs/proc/task_mmu.c >> +++ b/fs/proc/task_mmu.c > [...] >> +#ifdef CONFIG_TRANSPARENT_HUGEPAGE >> +static unsigned long pagemap_thp_category(pmd_t pmd) >> +{ >> + unsigned long categories = PAGE_IS_HUGE; >> + >> + /* >> + * THPs don't support file-backed memory. So PAGE_IS_FILE >> + * is not checked here. >> + */ > > It seems that we can have THP for files: ref. recent LKML thread [1]. > > [1] https://lkml.org/lkml/2023/8/16/1212 I didn't know about this. It seems like khugepaged can create file THPs. Not sure if there is direct way to create file backed THPs. Maybe they'll add this support after adding writing support to these file backed THPs. READ_ONLY_THP_FOR_FS mentions this. I can add a few lines of code for this here. > >> + if (pmd_present(pmd)) { >> + categories |= PAGE_IS_PRESENT; >> + if (!pmd_uffd_wp(pmd)) >> + categories |= PAGE_IS_WRITTEN; >> + if (is_zero_pfn(pmd_pfn(pmd))) >> + categories |= PAGE_IS_PFNZERO; >> + } else if (is_swap_pmd(pmd)) { >> + categories |= PAGE_IS_SWAPPED; >> + if (!pmd_swp_uffd_wp(pmd)) >> + categories |= PAGE_IS_WRITTEN; >> + } >> + >> + return categories; >> +} > > Best Regards > Michał Mirosław -- BR, Muhammad Usama Anjum