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 4076CC04FFE for ; Wed, 8 May 2024 11:39:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CED026B015F; Wed, 8 May 2024 07:39:40 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CC4586B0161; Wed, 8 May 2024 07:39:40 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B21DF6B0162; Wed, 8 May 2024 07:39:40 -0400 (EDT) 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 8F8696B015F for ; Wed, 8 May 2024 07:39:40 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 3D9B5120347 for ; Wed, 8 May 2024 11:39:40 +0000 (UTC) X-FDA: 82095033720.06.2161F84 Received: from mailout2.w1.samsung.com (mailout2.w1.samsung.com [210.118.77.12]) by imf30.hostedemail.com (Postfix) with ESMTP id 388878000B for ; Wed, 8 May 2024 11:39:36 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=samsung.com header.s=mail20170921 header.b=V07IgPI1; spf=pass (imf30.hostedemail.com: domain of da.gomez@samsung.com designates 210.118.77.12 as permitted sender) smtp.mailfrom=da.gomez@samsung.com; dmarc=pass (policy=none) header.from=samsung.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1715168377; 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=xkZiCUdvs+R8pen3miw27jBfj4tN5EP5emATPQt1vhg=; b=Ecb+lIDRX8QK3JXzhHT0apGoOmUExncoUyhpuJpLfJWYoloU16ePTI6n4M4DFAQdUVwb4o r1ipVWCvEujfd9eROiuxyYi2ZUH2PIheyccSboKlewnpXvyIkRNkXWFITdsl64cXw3FhsA Mv+wHiKCWSsO3HphjSa41ijDT/rXPx0= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=samsung.com header.s=mail20170921 header.b=V07IgPI1; spf=pass (imf30.hostedemail.com: domain of da.gomez@samsung.com designates 210.118.77.12 as permitted sender) smtp.mailfrom=da.gomez@samsung.com; dmarc=pass (policy=none) header.from=samsung.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1715168377; a=rsa-sha256; cv=none; b=xi4iWZag4o6p6ucpNm5mRrFjldbvgDb7WC4pEbyTWU8Y8Rr9pIU3Ff2iIL10q0q7QTwaf8 jlTlwzRgp5rsevA+Rk2PPSRUGLrynA72+9YNte9zq/yuApKkZVQMBz2qgyJFpxsHBXFxZP lH3T7G3LWQAqAvacZoSIYX8MjMML1HQ= Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20240508113935euoutp02979dd7abac6c11d208b04d1e5e61e2f9~NgIy9MP741868718687euoutp02X for ; Wed, 8 May 2024 11:39:35 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20240508113935euoutp02979dd7abac6c11d208b04d1e5e61e2f9~NgIy9MP741868718687euoutp02X DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1715168375; bh=xkZiCUdvs+R8pen3miw27jBfj4tN5EP5emATPQt1vhg=; h=From:To:CC:Subject:Date:In-Reply-To:References:From; b=V07IgPI1yRCapIBFrxgveLc6RXmefaDuy+nqGGycBJKrx+8+AjR6/oZWfuZp5gsID EK+AEF86iq4k1wwKZm7Ev+mqm8mzeEsE+ESouqlbRrWXLLsYBTlIr/6u9HDI6vxbgO A1c5NDAHRqA8LVVhkLDASP4AVpw0xXeoW2O+NUBg= Received: from eusmges2new.samsung.com (unknown [203.254.199.244]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20240508113934eucas1p29aeb818176adb3c58f9f020e5603507e~NgIyscc0X1611916119eucas1p22; Wed, 8 May 2024 11:39:34 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges2new.samsung.com (EUCPMTA) with SMTP id 4A.EA.09875.6746B366; Wed, 8 May 2024 12:39:34 +0100 (BST) Received: from eusmtrp1.samsung.com (unknown [182.198.249.138]) by eucas1p1.samsung.com (KnoxPortal) with ESMTPA id 20240508113934eucas1p13a3972f3f9955365f40155e084a7c7d5~NgIyTK7Eo0806308063eucas1p1t; Wed, 8 May 2024 11:39:34 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eusmtrp1.samsung.com (KnoxPortal) with ESMTP id 20240508113934eusmtrp179b478b5420c82c955c10898a5dc3d73~NgIySQ--01031510315eusmtrp1z; Wed, 8 May 2024 11:39:34 +0000 (GMT) X-AuditID: cbfec7f4-11bff70000002693-47-663b64763b96 Received: from eusmtip2.samsung.com ( [203.254.199.222]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id AE.CB.09010.6746B366; Wed, 8 May 2024 12:39:34 +0100 (BST) Received: from CAMSVWEXC02.scsc.local (unknown [106.1.227.72]) by eusmtip2.samsung.com (KnoxPortal) with ESMTPA id 20240508113934eusmtip2a12ef41e3ebb50ec75e16f4e922f6f9a~NgIyGc4n81285312853eusmtip2E; Wed, 8 May 2024 11:39:34 +0000 (GMT) Received: from CAMSVWEXC02.scsc.local (2002:6a01:e348::6a01:e348) by CAMSVWEXC02.scsc.local (2002:6a01:e348::6a01:e348) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 8 May 2024 12:39:33 +0100 Received: from CAMSVWEXC02.scsc.local ([::1]) by CAMSVWEXC02.scsc.local ([fe80::3c08:6c51:fa0a:6384%13]) with mapi id 15.00.1497.012; Wed, 8 May 2024 12:39:33 +0100 From: Daniel Gomez To: Baolin Wang CC: "akpm@linux-foundation.org" , "hughd@google.com" , "willy@infradead.org" , "david@redhat.com" , "ioworker0@gmail.com" , "wangkefeng.wang@huawei.com" , "ying.huang@intel.com" , "21cnbao@gmail.com" <21cnbao@gmail.com>, "ryan.roberts@arm.com" , "shy828301@gmail.com" , "ziy@nvidia.com" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH 0/8] add mTHP support for anonymous shmem Thread-Topic: [PATCH 0/8] add mTHP support for anonymous shmem Thread-Index: AQHaoTxlCSlVdbHh/EKIyyNA4DF78w== Date: Wed, 8 May 2024 11:39:32 +0000 Message-ID: In-Reply-To: Accept-Language: en-US, en-GB Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [106.110.32.67] Content-Type: text/plain; charset="us-ascii" Content-ID: Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrPKsWRmVeSWpSXmKPExsWy7djP87plKdZpBjNfalh8vitkMWf9GjaL /3uPMVp8Xf+L2eLppz4Wi0W/jS0u75rDZnFvzX9Wi57dUxktFpxYzGjR+Pk+o8XvH0CJk7Mm s1jMPnqP3YHPY828NYweO2fdZfdYsKnUo+XIW1aPzSu0PBbvecnksenTJHaPEzN+s3jsfGjp 0dv8js3j/b6rbB6fN8kF8ERx2aSk5mSWpRbp2yVwZTz/eImtYJtKxbFbnxkbGH9LdzFyckgI mEgcm3mYvYuRi0NIYAWjxPUdL5kgnC+MEr82XYDKfGaUONj+lLmLkQOs5fcCUYj4ckaJq7dv sMEVHX7zAKrjNKPEnlfTmOEG376zkRVkI5uApsS+k5vYQUaJCOhL9M71BalhFvjIItGzvo8J pEZYwFZi0fkfbCC2iICdROPCaSwQtp7E8S8tYHNYBFQkvj7axwhi8wr4Smy4NBOsl1PAUWLe 3OPMIDajgKzEo5W/2EFsZgFxiVtP5jNBfC0osWj2HmYIW0zi366HbBC2jsTZ608YIWwDia1L 97FA2IoSHcduskHM0ZFYsPsTlG0p0XLiCguErS2xbOFrZoh7BCVOznzCAvKYhMBOLoklbZ1Q g1wk/k1rglosLPHq+Bb2CYw6s5DcNwvJjllIdsxCsmMWkh0LGFlXMYqnlhbnpqcWG+WllusV J+YWl+al6yXn525iBKbJ0/+Of9nBuPzVR71DjEwcjIcYJTiYlUR4j7abpwnxpiRWVqUW5ccX leakFh9ilOZgURLnVU2RTxUSSE8sSc1OTS1ILYLJMnFwSjUw1UQynDvbtDnnXWk7XwdLXYTn ma8Hr629ockTIHtg5r9iXakQqdtSlUz/I9OsJs6ZJzG39ndUGrvnW5E91cJN+xr3LJ6TobRy lotEsJao0O3iPnPeTfF+3lFR7yMO+8qxzG2p4t82v05tVfjyjzetzn75vqV48gyutWtF12yO qX3A/1hbkWOdzu1Am43pX3rnv81xrXx00e7zz8qPumUFNeHJWUaeW/rzV1c6KuvoOzg/2Ml4 wHvZsUsJe/cySKuc4Sk6cPqGv5qPZGzEI0kJ3ij2mczHBDJ0ji5Z+8rtEd/zDc3p1S51+0XX szZ823Xp9CSLF+Ibb16IWDHt7G1HqW+CPvqdkdxTRcU43xkrsRRnJBpqMRcVJwIAg93gqAIE AAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrCKsWRmVeSWpSXmKPExsVy+t/xe7plKdZpBh2/+C0+3xWymLN+DZvF /73HGC2+rv/FbPH0Ux+LxaLfxhaXd81hs7i35j+rRc/uqYwWC04sZrRo/Hyf0eL3D6DEyVmT WSxmH73H7sDnsWbeGkaPnbPusnss2FTq0XLkLavH5hVaHov3vGTy2PRpErvHiRm/WTx2PrT0 6G1+x+bxft9VNo/Pm+QCeKL0bIryS0tSFTLyi0tslaINLYz0DC0t9IxMLPUMjc1jrYxMlfTt bFJSczLLUov07RL0Mp5/vMRWsE2l4titz4wNjL+luxg5OCQETCR+LxDtYuTkEBJYyijx7r4p iC0hICOx8ctVVghbWOLPtS62LkYuoJqPjBJ3zv1kh3BOM0rMX9HEDNG9glGiZa0diM0moCmx 7+QmdpAFIgL6Er1zfUHqmQXes0ismdfFDlIjLGArsej8DzYQW0TATqJx4TQWCFtP4viXFrDN LAIqEl8f7WMEsXkFfCU2XJrJBLHLQWLWmQawGk4BR4l5c4+D3cAoICvxaOUvsPnMAuISt57M Z4L4QEBiyZ7zzBC2qMTLx/+gPtOROHv9CSOEbSCxdek+FghbUaLj2E02iDk6Egt2f4KyLSVa TlxhgbC1JZYtfM0McZugxMmZT1gmMMrMQrJ6FpL2WUjaZyFpn4WkfQEj6ypGkdTS4tz03GIj veLE3OLSvHS95PzcTYzA5Lft2M8tOxhXvvqod4iRiYPxEKMEB7OSCO/RdvM0Id6UxMqq1KL8 +KLSnNTiQ4ymwLCbyCwlmpwPTL95JfGGZgamhiZmlgamlmbGSuK8ngUdiUIC6YklqdmpqQWp RTB9TBycUg1MBvs7dnN0SUqX2iy1OqC/U+L8ZpGub4wCuRw75mkWtlwoqJrK1ackeMc1w/3D rerVkv1q4Vplad9K/6maHp7e97Xrmur0JYd7buz4vGz+UbmNAu3y+innLFbfbvs6KW/P6lRt nZ1zb3B+kC2bxSpxVzzjafWZquniusfN/7s6GkWyvHyxKj+cbxrvD9HV2pHa2mLZ3ZvX/vp9 bNWN2zFtCQuD+G72vtiXYs8VnGb66QTLXTHzI8efVelsiTDZJN72yvnR7vq4hFUSJRMrWy5V 7st5um6nhq2NwNmoVI8dK+5+5rz8fhbTu18dnjwcq3/OV5BlbmqTOfbUbMV8P7nir8HGDiEm 3jf/nKyIcKhTYinOSDTUYi4qTgQA41PtnQcEAAA= X-CMS-MailID: 20240508113934eucas1p13a3972f3f9955365f40155e084a7c7d5 X-Msg-Generator: CA X-RootMTR: 20240508113934eucas1p13a3972f3f9955365f40155e084a7c7d5 X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20240508113934eucas1p13a3972f3f9955365f40155e084a7c7d5 References: X-Stat-Signature: 57sku933fob6pyiqwdy4d8h6cwe48hug X-Rspamd-Queue-Id: 388878000B X-Rspamd-Server: rspam10 X-Rspam-User: X-HE-Tag: 1715168376-395029 X-HE-Meta: U2FsdGVkX19Ok7nxjRt3f6TVSy9XC2984MoThVLoCjMUX3CQ1+mmg4r1eFt0f4B0nmTg2i1Lze5qYSllbBFYjLNEXVvwdB9hAACjQTsDrl4R/GoD4C00qbBY5XcHacHm/poB2m7ioJ8wxB1n2/UMXcZVy3jxXfkdrGlzYdkX2XVQJeMwbD9VcaC50o+NoNx2qgH5tLMpt4jTBTGedy5g7OrPTG6A4bpS8SvNDgid/1r2AzMKjqHqBfE8NHkQgBE6EwDDQ4giJHKtfNtvxF46H/Hl1dyyWRp06Zscd3AloTEXqFWEaQ3S+h8ySYblUpA5ssznrGaW6PbrHuvpTTCZbOlptW2Gk8Ibt7TncDTUEh2L9zueQ4Zxofw1NnyKJu97EfOqXYF1tADR0SBgGrHCRpEknfU2Jaxkpx1Y+H/6z6Fq3UEre5Fg0g0WtQIwS1vBl13eBs133s86iIjoIdtmMR9GDKIuFbL8hJmb69jN7Q6xdt2TqHi5XowB6FHM4N3VoKqpKnNwVRUS4PbhrGeEa/Ze49Y0uYfpt4Q6WMv8CBFD80O48XYDDKzdNs+gJjQgN0FHXE4oEd4jR9baH8CKoeWqoDBda825inv6vqA2exKlyRjoK7BD4uBitobbagJu+8VNIKzlm0dWT78WhtpBk7CE8sM4Lmnw48XiYow4ttso9uzKitJWBEOZMctl/ek2WaLFJYV9C1V3RgyGgGV0ujcBtLx3SHiotMFRDYz8EFtwJGFpwPttBeswz6WKouU4c6fahlIlYH4Zc8B2DXsfSt56hw5q4FTOowyazxnkfBvf4FrGzQK5eIjDvFVbSGzwpSgOP/92qst3WMs2SG4BBgkqBq7JRueKzSUhLb0lzRCl9VlbeBASEH0nwYZTztbCmABfAY65jCUeZRNErg/u/XfiCXtkYfliHdLFh7hO1t4JhMEwz+/Ov1DoObQNAo1UDdE1/miAZSoXIWUp4y9 mpgdkLK/ 0p6Ye9rSV+qED9fmL9kKz1fxU6ghM0Cqv3amOoiQ2k93YMaLn2G2OAVCY0NvQwSkU1aXD8aOO0fwbgAzjkyj08Mo5Y24PFGGATv2DbsiT9oEtXehAO8pE1AD8vSSjtFM8JxUliZ9WhwjsD7iBrZHacVJR/loP9eTwgxN5 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: On Mon, May 06, 2024 at 04:46:24PM +0800, Baolin Wang wrote: > Anonymous pages have already been supported for multi-size (mTHP) allocat= ion > through commit 19eaf44954df, that can allow THP to be configured through = the > sysfs interface located at '/sys/kernel/mm/transparent_hugepage/hugepage-= XXkb/enabled'. >=20 > However, the anonymous shared pages will ignore the anonymous mTHP rule > configured through the sysfs interface, and can only use the PMD-mapped > THP, that is not reasonable. Many implement anonymous page sharing throug= h > mmap(MAP_SHARED | MAP_ANONYMOUS), especially in database usage scenarios, > therefore, users expect to apply an unified mTHP strategy for anonymous p= ages, > also including the anonymous shared pages, in order to enjoy the benefits= of > mTHP. For example, lower latency than PMD-mapped THP, smaller memory bloa= t > than PMD-mapped THP, contiguous PTEs on ARM architecture to reduce TLB mi= ss etc. >=20 > The primary strategy is similar to supporting anonymous mTHP. Introduce > a new interface '/mm/transparent_hugepage/hugepage-XXkb/shmem_enabled', > which can have all the same values as the top-level > '/sys/kernel/mm/transparent_hugepage/shmem_enabled', with adding a new > additional "inherit" option. By default all sizes will be set to "never" > except PMD size, which is set to "inherit". This ensures backward compati= bility > with the shmem enabled of the top level, meanwhile also allows independen= t > control of shmem enabled for each mTHP. I'm trying to understand the adoption of mTHP and how it fits into the adop= tion of (large) folios that the kernel is moving towards. Can you, or anyone inv= olved here, explain this? How much do they overlap, and can we benefit from havin= g both? Is there any argument against the adoption of large folios here that = I might have missed? >=20 > Use the page fault latency tool to measure the performance of 1G anonymou= s shmem > with 32 threads on my machine environment with: ARM64 Architecture, 32 co= res, > 125G memory: > base: mm-unstable > user-time sys_time faults_per_sec_per_cpu faults_per_sec > 0.04s 3.10s 83516.416 2669684.890 >=20 > mm-unstable + patchset, anon shmem mTHP disabled > user-time sys_time faults_per_sec_per_cpu faults_per_sec > 0.02s 3.14s 82936.359 2630746.027 >=20 > mm-unstable + patchset, anon shmem 64K mTHP enabled > user-time sys_time faults_per_sec_per_cpu faults_per_sec > 0.08s 0.31s 678630.231 17082522.495 >=20 > From the data above, it is observed that the patchset has a minimal impac= t when > mTHP is not enabled (some fluctuations observed during testing). When ena= bling 64K > mTHP, there is a significant improvement of the page fault latency. >=20 > TODO: > - Support mTHP for tmpfs. > - Do not split the large folio when share memory swap out. > - Can swap in a large folio for share memory. >=20 > Changes from RFC: > - Rebase the patch set against the new mm-unstable branch, per Lance. > - Add a new patch to export highest_order() and next_order(). > - Add a new patch to align mTHP size in shmem_get_unmapped_area(). > - Handle the uffd case and the VMA limits case when building mapping for > large folio in the finish_fault() function, per Ryan. > - Remove unnecessary 'order' variable in patch 3, per Kefeng. > - Keep the anon shmem counters' name consistency. > - Modify the strategy to support mTHP for anonymous shmem, discussed wit= h > Ryan and David. > - Add reviewed tag from Barry. > - Update the commit message. >=20 > Baolin Wang (8): > mm: move highest_order() and next_order() out of the THP config > mm: memory: extend finish_fault() to support large folio > mm: shmem: add an 'order' parameter for shmem_alloc_hugefolio() > mm: shmem: add THP validation for PMD-mapped THP related statistics > mm: shmem: add multi-size THP sysfs interface for anonymous shmem > mm: shmem: add mTHP support for anonymous shmem > mm: shmem: add mTHP size alignment in shmem_get_unmapped_area > mm: shmem: add mTHP counters for anonymous shmem >=20 > Documentation/admin-guide/mm/transhuge.rst | 29 ++ > include/linux/huge_mm.h | 35 ++- > mm/huge_memory.c | 17 +- > mm/memory.c | 43 ++- > mm/shmem.c | 335 ++++++++++++++++++--- > 5 files changed, 387 insertions(+), 72 deletions(-) >=20 > --=20 > 2.39.3 > =