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 1D1E7C021BE for ; Thu, 27 Feb 2025 07:40:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 79194280002; Thu, 27 Feb 2025 02:40:54 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 74023280001; Thu, 27 Feb 2025 02:40:54 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5DEA4280002; Thu, 27 Feb 2025 02:40:54 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 40451280001 for ; Thu, 27 Feb 2025 02:40:54 -0500 (EST) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id E48B4A2B04 for ; Thu, 27 Feb 2025 07:40:53 +0000 (UTC) X-FDA: 83164927986.14.5550B69 Received: from mail-pl1-f169.google.com (mail-pl1-f169.google.com [209.85.214.169]) by imf17.hostedemail.com (Postfix) with ESMTP id 7C6A740010 for ; Thu, 27 Feb 2025 07:40:47 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=hqFP8whp; spf=pass (imf17.hostedemail.com: domain of zhengqi.arch@bytedance.com designates 209.85.214.169 as permitted sender) smtp.mailfrom=zhengqi.arch@bytedance.com; dmarc=pass (policy=quarantine) header.from=bytedance.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1740642051; 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=z5Gzl06H2T5FbZ9IOLR6EjrtJZgeU6uFgDyakJm+mzM=; b=VqtJLr97T4qg4TJMSNA21N51qiWkppwEtaZmaLArYgxYOlyI+q9WaGUsfESeNj/QrgDaZ4 Rv3Gf0yTj0XsNWUG7h9mK3rIdQ6YC3oNTZt91kzmIqeSfMF6Xn5uc/+eJST1mN+mKw2ICM IdE2D6yusfRn6fhMPX/awVWi9DpibBg= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=hqFP8whp; spf=pass (imf17.hostedemail.com: domain of zhengqi.arch@bytedance.com designates 209.85.214.169 as permitted sender) smtp.mailfrom=zhengqi.arch@bytedance.com; dmarc=pass (policy=quarantine) header.from=bytedance.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740642051; a=rsa-sha256; cv=none; b=N4uQkiuBcIGIBW1AD1ENv5PX+DTXCOBCYE0Ujg7QTd24b3w5kkvjLi7zJOrLVGB+dCmi+P vXg4fpgNFNDskHj25BKat4d/g/5tOoL4y51SXqGsOTPkutPeQhpndIqhYbx0tiBAYDeIxc vMJsuLzzxc7RmvuaVk1pedu3+YgHgrk= Received: by mail-pl1-f169.google.com with SMTP id d9443c01a7336-22113560c57so11172035ad.2 for ; Wed, 26 Feb 2025 23:40:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1740642046; x=1741246846; darn=kvack.org; h=content-transfer-encoding:in-reply-to:references:cc:to:from:subject :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=z5Gzl06H2T5FbZ9IOLR6EjrtJZgeU6uFgDyakJm+mzM=; b=hqFP8whpq4l2G1D9DMYhyG6msAlqxRVA2euw9R3umJXvZwU4kUpwLJ0TCS4yI78UAx iMDPjW/uZvS5AKDwyvJSOHpSJ928hffwF+Rs0i6w2jsPUX+vyIeyDCX+9MHgLGxCtZ1E A7WjSPxGz1m3U8TfVno5maNaG6k5FcZxPg43x3L2qRINmEZIQK8afurBgvA1N8H2VIv7 X3v2M5AJKgawPW3Tly59oo0NpM2cQMqZtfpYGbYYcVHgb/8OIadtnhb05Ga0/bCiZmcG h4S4JXfXAlPGuICqdwQdTWNzwAtyJCD9tFk59EPvCKQifw6HFXfh36Bf74fy+sZHziET 5ZYw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740642046; x=1741246846; h=content-transfer-encoding:in-reply-to:references:cc:to:from:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=z5Gzl06H2T5FbZ9IOLR6EjrtJZgeU6uFgDyakJm+mzM=; b=BAnPuAR8LxvDR6NPabbMfuRQFcV6HF6E90IWBxiftEJdM1Es+mS0bCPaQyTUIxzDIh dZOuiS/zmSXz5IZryeUpC6Amcg4sPcza5KnRS+Om50v2r5URPsM6oHBT8FQeJQQWnv1D FDAJ3hkyqH+AHbCvYc5ZYN62db2cO/znpd3Cgk6lH9AE4XxDa2MvPYK742afOwbjfM65 40ygJpBaxTyUtpUPnMU4iq12apxIQSH/582SLAIccGqlBKVDVd3jkvgwt7oz6/pmscwx 3UzIGCKaKFCbKyUJzq2mreYQgnUtU9VvTVyPLOhxQj9wQ6GXHP+9i5AidgLIdy970873 kiVw== X-Gm-Message-State: AOJu0YwKExQJfs+U5mTzbiZDuFJA9dyWy7yhBuHgDOVexjRZssvPPNys JRCKxGG7UpmqRin5fIfS/o53pa0qV7Nlcw95K9h03OGaolVbMtBGCqzfB7LX3ts= X-Gm-Gg: ASbGncs36bL2JRfjThc2vGcNPY8wMhdtByHEl6EywOgAhv50HxLETZvB2HlEm10i+5M LlFungzKfWjt4n7fzaM6sXmiJQk1nE/ZcGoXMkfzsGWLREUmmbZ89nTIOtQLpWlYOvIFDTbvDv0 KmT9VTWF/RZFNwQ7UTlFrLVvFkIlpd56tRRdVh1Ax3CPmzz6k2PmpCW8500ZyDU8+clfS9sMYdn xnZHJhl8+TYrh5V4fKc/8DUtycKdOuuttT9Bntsx0s4IigZ52McupMTR4Iy2Eo9UPvSW4tYiaBl 0ImR6y8+FnrfJ2xVyBzr0XBpu+Pp8msQTs6SLwmXp5jPivWw0A== X-Google-Smtp-Source: AGHT+IEWhr28ouNGqr2cMLn6viCM/3ClvBIDRbvTbC18jRLu78wwmIB+H6DOh64BYZadBUL1LgBoxg== X-Received: by 2002:a05:6a20:728f:b0:1ee:e33d:f477 with SMTP id adf61e73a8af0-1eef52e9a19mr44559120637.15.1740642046190; Wed, 26 Feb 2025 23:40:46 -0800 (PST) Received: from [10.68.122.90] ([63.216.146.179]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-734a0040208sm843218b3a.154.2025.02.26.23.40.43 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 26 Feb 2025 23:40:45 -0800 (PST) Message-ID: <2d73d888-fcb2-4b3b-a9ec-ad9c80d7cbe9@bytedance.com> Date: Thu, 27 Feb 2025 15:40:42 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: CONFIG_PT_RECLAIM From: Qi Zheng To: Johannes Weiner , peterz@infradead.org Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org References: <20250226183013.GB1042@cmpxchg.org> <20250227060820.GC110982@cmpxchg.org> <6281ffc9-398e-44b9-a95c-2527004e09b7@bytedance.com> In-Reply-To: <6281ffc9-398e-44b9-a95c-2527004e09b7@bytedance.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Queue-Id: 7C6A740010 X-Stat-Signature: ijzurgqhpzkrdgnftbsnq63x4dja1q7w X-Rspamd-Server: rspam03 X-HE-Tag: 1740642047-189877 X-HE-Meta: U2FsdGVkX1+EONRgW7FkzRioIDiQpWxMT1Xhlr7n41BNrOn3jhYhTc5B5uZm6QTiWnPFWxYvy8MJofrFP5o5/txx0d2Aue9ZtegP0uxqvYEYnYlnBGGhCEFY5UWuyS8j2iEafbHHISoBqr2PWWVeGcxBX6zqQCVpqgogigc9ppdIgVJnWfasMJtgP6EhiQqjHy0Oz5a+Y6b3XK4Ze9Aiue4Ym2VBd6gor2r7S3zwmRp5p7uqGmez+47FhftMXQqdnhtz5Vo1LeRGr0AC9n1e7nEMDC3JXWiVDyZxMVjyZymVAAPjiv+SBYyBEFbG8p+ivc8K7AeidwgOgahhtyJekFKhunVZpbsGPu9B/D1TXeA5mE0dkccSWmgAmIjkY2Ws40ELijR2mq3nwZVqD0V4/9JP4vWGHcmOwDuswC8mXW0x2Gw1sQXS2kfSNo1ntKkzoim/X6Pq4v9vpKsGEG/+0mQ6+ZyvzpTMQNxMNZ9ALckB+qEFC4uIvv89hwkvGbP64sh+3Z71TvzoPyAJdN3E3rYQiVSB8hlm6mWBI3EyUdlE+B8LMf93BbGzkbTWDq40plWR2A8TT3IyQi3cOdsVHyeu7eHsmy6icuayff7y5duMb0ZomaLNCGDoYDQDD5P73UtQ768dMdBm7NzkUk1KwL5CY/jD3ZmYBXiVwcStFralvR3HeINcF5nGPUMDlRXqFTG2WCJejoT/etlPoAJn0PPUktJ/zF4YsYSsqFYEVLUeASCbpiSd83JEnRxlDGxtq5aQbzYT2xZtOCPCaHCaxschmde04pYWOQ+/ja4hB0WYZOARV6hVfdICsxodvwl2CTMN641lAY6dtckuTtX4PyGYP37lslo7dA94g82MPtZ1mv0CEpNnpJYq5Ugt9QwoMcYJpxR5gA7ayzDI5Ir8QMX/CtP8v4y/37ADE71E0wAeRV7lMN2W8UyyZkTGFnPuUwDWKkGaxj2H8lIBreN jI4fG7L4 RP4FyOLrVIREsVqobcWnjKyQ3y8Q5y7mVuDNgM8M0qwZ1TyOPCca1tWTQgcUIrzWorLPB/JlSlJ8lzCjNaA9kkfYBQOHlhs04z46nMD5nKQ4zUg1pxn2ChqutBW0YhMsMZimhzmHx6NHgnA3C6zCz1dJ3H1iS4PrBxTDGik2pRPNeYn3ouMOPGii89fq5ujypw0Jk4F2Zn2JHupPMOv2uSSVzBw3hT0cIaYpeCRkiM05DQ2TG1H3Z/DdTMnt9qDIL0cmKNS/R2okgMRSeT+WbUHLMnKyuMp1V7RVkM7rX3EIIbKtidlA5imTSGiZHx3maU+z7kmF30raRR8IyT+/wL0Ocn0Zs2fzpfXhMd7BLwCrrSoz5fKj8H6SJ2FfFbJGv7RKqWqK3AlV+G4gTjTXqKCWZRVNDa7DdodNLAJRL6AQvwNRba3hVfcdrkMVNUha4LcuXviv775ai4Yb6l2WUN5Hse5TMuPcNHi7pZMOVxFA41dY= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000004, 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 2/27/25 2:58 PM, Qi Zheng wrote: > Hi Johannes, > > On 2/27/25 2:08 PM, Johannes Weiner wrote: >> On Thu, Feb 27, 2025 at 11:04:51AM +0800, Qi Zheng wrote: >>> Hi Johannes, >>> >>> On 2/27/25 2:30 AM, Johannes Weiner wrote: >>>> Does PT_RECLAIM need to be configurable by the user? >>> >>> The PT_RECLAIM will select MMU_GATHER_RCU_TABLE_FREE, but not all archs >>> support MMU_GATHER_RCU_TABLE_FREE, and even before Rik's a37259732a7dc >>> ("x86/mm: Make MMU_GATHER_RCU_TABLE_FREE unconditional"), x86 only >>> supports MMU_GATHER_RCU_TABLE_FREE in the case of PARAVIRT. >>> >>> Therefore, PT_RECLAIM also implies the meaning of enabling >>> MMU_GATHER_RCU_TABLE_FREE, so I made it user-configurable. And I just >>> thought that as a new feature, it would be better to give users the >>> ability to turn it on and off. >> >> New *features*, yes - something that has a significant enough cost >> that clearly not all users want to pay for the benefits. > > Got it. > >> >> But it's hard to imagine anybody would WANT to keep the page tables >> around if they madvised away all the pages inside of them. It's a >> great optimization, what would be a reason to opt out? > > OK, now I think it makes sense to change it to 'def_bool y'. > >> >>>> diff --git a/mm/Kconfig b/mm/Kconfig >>>> index 2761098dbc1a..99383c93db33 100644 >>>> --- a/mm/Kconfig >>>> +++ b/mm/Kconfig >>>> @@ -1309,16 +1309,9 @@ config ARCH_SUPPORTS_PT_RECLAIM >>>>        def_bool n >>>>    config PT_RECLAIM >>>> -    bool "reclaim empty user page table pages" >>>> -    default y >>>> +    def_bool y >>>>        depends on ARCH_SUPPORTS_PT_RECLAIM && MMU && SMP >>>>        select MMU_GATHER_RCU_TABLE_FREE >>>> -    help >>>> -      Try to reclaim empty user page table pages in paths other >>>> than munmap >>>> -      and exit_mmap path. >>>> - >>>> -      Note: now only empty user PTE page table pages will be >>>> reclaimed. >>>> - >>> >>> Maybe keep the help information? >> >> I don't find it very helpful :( Which "other paths?" It doesn't >> explain any pros and cons, and why anybody might choose to enable or >> disable it. The Note repeats what's in the sentence before it. > > Sorry about that. :( > >> >> Maybe I'm missing something. Could this not just be an #ifdef block >> inside mm/madvise.c, instead of living inside a new file with two new >> config symbols? >> >> #ifdef CONFIG_MMU_GATHER_RCU_TABLE_FREE >> ... >> #endif >> >> Is there an arch-specific feature that it requires besides >> MMU_GATHER_RCU_TABLE_FREE such that only x86 supports it now? > > No, it only needs MMU_GATHER_RCU_TABLE_FREE. > And I originally planned to support more architectures. The following link has some of my previous plans: https://lore.kernel.org/all/0ca36b2e-463e-493f-aede-aff9aec3c7fa@bytedance.com/ It would be better if more people could discuss and participate. ;) Thanks! >