Message ID | 20250303163014.1128035-19-david@redhat.com (mailing list archive) |
---|---|
State | New |
Headers | show
Return-Path: <owner-linux-mm@kvack.org> 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 066CBC282CD for <linux-mm@archiver.kernel.org>; Mon, 3 Mar 2025 16:31:24 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DF4BC280010; Mon, 3 Mar 2025 11:31:04 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id DA0ED28000C; Mon, 3 Mar 2025 11:31:04 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C18CE280010; Mon, 3 Mar 2025 11:31:04 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id A37E028000C for <linux-mm@kvack.org>; Mon, 3 Mar 2025 11:31:04 -0500 (EST) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 5F263C0C80 for <linux-mm@kvack.org>; Mon, 3 Mar 2025 16:31:04 +0000 (UTC) X-FDA: 83180779248.05.89D3824 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf29.hostedemail.com (Postfix) with ESMTP id 1A52A120012 for <linux-mm@kvack.org>; Mon, 3 Mar 2025 16:31:01 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=BrJ0s2W0; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf29.hostedemail.com: domain of dhildenb@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=dhildenb@redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741019462; a=rsa-sha256; cv=none; b=EYVww4wJOB3C2ihXE3mx4KB6lgU7RXdt+Rtnq/BBVFJmeV6yasMQD9gntaFWx8Mf3zqFAq vOhDA+lCf+U7wlrNGnwYeABDrCbPUOxzUN6plqaRicos32bwpI2Zc1rYy8fTi/zYFR44mS RFQc+bA4lrqnFzx4Bgay1SN1cWGnQjA= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=BrJ0s2W0; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf29.hostedemail.com: domain of dhildenb@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=dhildenb@redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741019462; 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=sbAdVb8IlT1mHMxqkPSZKSMArZKBklKlP7kdJIBKPLI=; b=E8PqSmr2Gh0i0wXAE7Atve7oRwdkC9x7HLZP2r8z6neuQmeqwXQBqtyFjG80G/m6oCHSOI M6e/P2Gm5dPKBBEt660l2OvtG56lBKiZ5LZxDuFOUX2txkadtZ7oMdD0uP/0TRxGCRA4yC lqI4CVO6nJah7yun87mQu+elvBe2gJQ= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1741019461; 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=sbAdVb8IlT1mHMxqkPSZKSMArZKBklKlP7kdJIBKPLI=; b=BrJ0s2W0ubjky4tyJawNP3hOp/ADnmWcfwBmWS33n5iIpSGMymDWOrvY0F5VYXdEZv4XB0 +q9BH0kweV7525O2gvMt1w1xNUmjmvg8M8Pp8GaLQssFlk+yk5aNpcP7A9rO12x9mo9p+g iBhBgJ3H4c59YseL/pLg4lAPuKXl3Dk= Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-427-y-SlsvfYMhmuBRzc84elwg-1; Mon, 03 Mar 2025 11:30:59 -0500 X-MC-Unique: y-SlsvfYMhmuBRzc84elwg-1 X-Mimecast-MFC-AGG-ID: y-SlsvfYMhmuBRzc84elwg_1741019458 Received: by mail-wr1-f70.google.com with SMTP id ffacd0b85a97d-390de58dc09so3113114f8f.0 for <linux-mm@kvack.org>; Mon, 03 Mar 2025 08:30:58 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741019458; x=1741624258; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=sbAdVb8IlT1mHMxqkPSZKSMArZKBklKlP7kdJIBKPLI=; b=m/AB/NN6w/cpR1h1so5rI7mfzZtFQLIy0o6reJ+P4ygpsqSi3OsP9QJJ0+uQc+SfXG P+z/EmuPrubfmbpwhoNyYoRa3WIQS/uEI9Yv18bgTzjjYTX+MfUCa6xkv8qbqsuPTT7s 69+e2JcpZYXpveI+3KScJcBjDMW9RoxbH2dRwcjd/pYi0m25MrnYsWmqUDr3CAYkhQI0 PB2t/k+miCzeM2re6ads7HAA/D8gGrp7hCLzgtnfP/kRFLqeURhTZJf3OaZDWqWPcPE1 R9iKMsoRZA2wNf1PSS40x5a2PPXVpUTPl6Sh7pPqvOO77/ki9I7CTU5zXYhARhUJw17M lwAQ== X-Forwarded-Encrypted: i=1; AJvYcCWject0IC9wbaJNHTDRIuNbOwPbnR8IRE2uJA251kAr+4F5XnCduroskfLry+LcMjkrQTD3HMI/PQ==@kvack.org X-Gm-Message-State: AOJu0YxIHCKxNEzihfcIyVHL/tXSGpHs3EoA5AXD/h5HYiZl7Ji0jh6d jaI2oWqr1ehfwqH1bFTrXs4bmGaYEBjqFEiI7+zTQeAZneLdNVh/skOcbx5kBHm/FPijVjUTWAx 6+HYKkV+2ZuiiyGed/1/SlPeF8WphcOqMSqSyyOLlyT3QQ5tF X-Gm-Gg: ASbGnctFyMJ3dQq4N98iW4/NDHSeKNn7KZHI1rI2nqbvdPQ4l8d9B7pxQqReGi0tPWk +sUiWk6psmqEMreEPR3aNS3UHbmuZsl+zdjmHGNB9l9jbqKCtqxIjPwL9QgXGzQdWoNtg8c0rfP AO5kgsbrywsWefG3uY+f7pI41aEaKDRIQxNzRZSBa7wpBxFXdbgI2/XjzS6Oaef6khhDd3bwQe/ Ptq8fwIMyYksX8jinUGiilBe3dvCOjYARM0FyeAdCCS83v1SbPU7ghnZLovIZQaWMUCPduiuk1Q 8wXV0SC5BIRRxuFIJXIe1j9Kq8UQhkxE9QxKxDfjM5UXJ3GWK81upPT3CW+Jn0OXJh3p12MpWU/ q X-Received: by 2002:a05:6000:156d:b0:38d:e3db:9058 with SMTP id ffacd0b85a97d-390ec7cb945mr10994389f8f.12.1741019457892; Mon, 03 Mar 2025 08:30:57 -0800 (PST) X-Google-Smtp-Source: AGHT+IEvRr8UGYMtbKKLfF4vYk+epXuFbk91XT0kZhy1XfmXmyE27quXMsv2mgA7hFUbYP+d7m+S+Q== X-Received: by 2002:a05:6000:156d:b0:38d:e3db:9058 with SMTP id ffacd0b85a97d-390ec7cb945mr10994345f8f.12.1741019457510; Mon, 03 Mar 2025 08:30:57 -0800 (PST) Received: from localhost (p200300cbc7349600af274326a2162bfb.dip0.t-ipconnect.de. [2003:cb:c734:9600:af27:4326:a216:2bfb]) by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-390e47a6aabsm14858335f8f.26.2025.03.03.08.30.56 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 03 Mar 2025 08:30:57 -0800 (PST) From: David Hildenbrand <david@redhat.com> To: linux-kernel@vger.kernel.org Cc: linux-doc@vger.kernel.org, cgroups@vger.kernel.org, linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, linux-api@vger.kernel.org, David Hildenbrand <david@redhat.com>, Andrew Morton <akpm@linux-foundation.org>, "Matthew Wilcox (Oracle)" <willy@infradead.org>, Tejun Heo <tj@kernel.org>, Zefan Li <lizefan.x@bytedance.com>, Johannes Weiner <hannes@cmpxchg.org>, =?utf-8?q?Michal_Koutn=C3=BD?= <mkoutny@suse.com>, Jonathan Corbet <corbet@lwn.net>, Andy Lutomirski <luto@kernel.org>, Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>, Muchun Song <muchun.song@linux.dev>, "Liam R. Howlett" <Liam.Howlett@oracle.com>, Lorenzo Stoakes <lorenzo.stoakes@oracle.com>, Vlastimil Babka <vbabka@suse.cz>, Jann Horn <jannh@google.com> Subject: [PATCH v3 18/20] fs/proc/task_mmu: remove per-page mapcount dependency for "mapmax" (CONFIG_NO_PAGE_MAPCOUNT) Date: Mon, 3 Mar 2025 17:30:11 +0100 Message-ID: <20250303163014.1128035-19-david@redhat.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250303163014.1128035-1-david@redhat.com> References: <20250303163014.1128035-1-david@redhat.com> MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: jOBz1ooOPal-CwUVn7697lhnLT7jkZnJ2_qHEYnCOfw_1741019458 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit content-type: text/plain; charset="US-ASCII"; x-default=true X-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 1A52A120012 X-Stat-Signature: qwxmqh9jndsmmtrhjg1sc3z8oh18cpzk X-HE-Tag: 1741019461-221500 X-HE-Meta: U2FsdGVkX18rr0olybgU71rOHz1tTRGQbuppGCSrw5TCKR5i+PzYYwgdtNKBiWC88rwtiRxZqDEdWju5lEp9tZxH0Qq8++ErENGXK6bt5bj4L0EqthENmiI0piHfKXf00ibS2I1jBhlzzQhKvK1yJ269s6wqKcnoKCmgsfLO4dZsWz0+qIYbdjl69ZyqVFyhTz/N+07LmSc/lEGvDejI7B9ECunPIqVUk6S0fDzJ2z1JxGRxmf7+wt3xnGaJKct9kHTUj9NQk0DiNHlInaR/I/Xe1sfKWrbe016vGDEv6gBQYCetbG2mVTts7oSxr7+ANX4x3SBTP8iPEJtZU8ilazUagDm2fNrPAvALPDfGx1z832TJFNdk8NwKJ9pmQkdhgdvgA9aTKpPvB2XoKHLxrKM7UZIfQ4sgP3lx3E0XqNM090FYcobvcyF7si3X/es8tePg0YT8Pgt2y1LRihVEO+kaMWIojlzYE3w5UiTAA+KI2JraJG9R5eBgV/qtJdvVcT73VoW/Qz7JaUzkQBW85bH0HG+8h9yimn50XbmPKSnwTAcp6Js3hEsUW5LHYh+6uqQaPF3b8sFD73bRASWjjPbVdlbuspwiFC7//I32Yqa7hfCMG/NXYuhYqZRc88sR2D0CPjjE+HNHrrR8SXl/zOhGCZ/SIRNngZw9GJFfzEVSDD0QtY2AEHMbPj5aClCEREf24rHWUruNV7BN3vBvXlQKEzJZO/hei1SNVy4UxBDFm1we78IKzJIaPFhf4wySuMdH6McbMkuujRppy1zGOk4VPQVBAH5vrVWk0aB1Yz/PLKGMlEra10jIeOqt6h95Z9U3pWbSPuL2c3LB8Sv6bQZPtj+1ZFPbyZZ8k74n+Yn0rjatyB9y32olYD2Aqta+lhODC8z1+Kj6vySDsRzK9OtoTjY0YSRfj2FIgMBLkdOM7c+O89M7yVlUNFyjS3ErMNG9HoTTNP0ucZ+CTvF ZNnq2B6I qxICgLxevmcH6mX56q3h7TX/x/KLUGECCq5mPuHvSFcObLIo+n0x4I7qR5vlF0WG7w24HfA69KDRC/H9Xi5cCAAE5U6jsQExlzXLmelURChU6OPZZeewtiUq6174WLa4+wqFdTGp/r8jZbxiJVxn+HVmjrNn/KGQLk8KVj4XX7p5ckydJDAo3QtGbbtB5RfSxWCRKZ/hKmxi1tyDLzgZL3aCR2bKn0Bwzl8CRJOxxMTe8zP3E9bLt1ig7Il/ny5TKMJWlCza+tQqiIsnDXBKRG1nnZYTWnUslbUyzwQgww8t79ymwMv7RDMCUmO5bIzaspRK11cdfcDtPNGjqnkft60ampH8mUai/L8aWpgUIGfoh8RDGfMaVl8pb3aZzAjaV+qHsUWmENpnSBQyOf61kupZh/7csdW7i451xmh7gvlXQfURPQcD89z/PGfnXX3DX/WIwEYQv+b8QI125SLwQ7GJsoDTx2Q18QMTjnwLggpWbsHuoNZnzq8iMD3p7N22a2HxGlRJ4DQww2ZUKoqJipVAR8g== 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: <linux-mm.kvack.org> List-Subscribe: <mailto:majordomo@kvack.org> List-Unsubscribe: <mailto:majordomo@kvack.org> |
Series |
mm: MM owner tracking for large folios (!hugetlb) + CONFIG_NO_PAGE_MAPCOUNT
|
expand
|
diff --git a/Documentation/filesystems/proc.rst b/Documentation/filesystems/proc.rst index 09f0aed5a08ba..1aa190017f796 100644 --- a/Documentation/filesystems/proc.rst +++ b/Documentation/filesystems/proc.rst @@ -686,6 +686,11 @@ Where: node locality page counters (N0 == node0, N1 == node1, ...) and the kernel page size, in KB, that is backing the mapping up. +Note that some kernel configurations do not track the precise number of times +a page part of a larger allocation (e.g., THP) is mapped. In these +configurations, "mapmax" might corresponds to the average number of mappings +per page in such a larger allocation instead. + 1.2 Kernel data --------------- diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c index f937c2df7b3f4..5043376ebd476 100644 --- a/fs/proc/task_mmu.c +++ b/fs/proc/task_mmu.c @@ -2866,7 +2866,12 @@ static void gather_stats(struct page *page, struct numa_maps *md, int pte_dirty, unsigned long nr_pages) { struct folio *folio = page_folio(page); - int count = folio_precise_page_mapcount(folio, page); + int count; + + if (IS_ENABLED(CONFIG_PAGE_MAPCOUNT)) + count = folio_precise_page_mapcount(folio, page); + else + count = folio_average_page_mapcount(folio); md->pages += nr_pages; if (pte_dirty || folio_test_dirty(folio))
Let's implement an alternative when per-page mapcounts in large folios are no longer maintained -- soon with CONFIG_NO_PAGE_MAPCOUNT. For calculating "mapmax", we now use the average per-page mapcount in a large folio instead of the per-page mapcount. For hugetlb folios and folios that are not partially mapped into MMs, there is no change. Likely, this change will not matter much in practice, and an alternative might be to simple remove this stat with CONFIG_NO_PAGE_MAPCOUNT. However, there might be value to it, so let's keep it like that and document the behavior. Signed-off-by: David Hildenbrand <david@redhat.com> --- Documentation/filesystems/proc.rst | 5 +++++ fs/proc/task_mmu.c | 7 ++++++- 2 files changed, 11 insertions(+), 1 deletion(-)