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 8BB06C282D1 for ; Thu, 6 Mar 2025 18:45:10 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1A1DD280004; Thu, 6 Mar 2025 13:45:08 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 12C22280002; Thu, 6 Mar 2025 13:45:08 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id F34C5280004; Thu, 6 Mar 2025 13:45:07 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id D42DA280002 for ; Thu, 6 Mar 2025 13:45:07 -0500 (EST) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 34D03162536 for ; Thu, 6 Mar 2025 18:45:09 +0000 (UTC) X-FDA: 83192003538.05.0E172A7 Received: from out-174.mta0.migadu.com (out-174.mta0.migadu.com [91.218.175.174]) by imf19.hostedemail.com (Postfix) with ESMTP id 537991A0004 for ; Thu, 6 Mar 2025 18:45:07 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=i4KvGV7u; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf19.hostedemail.com: domain of shakeel.butt@linux.dev designates 91.218.175.174 as permitted sender) smtp.mailfrom=shakeel.butt@linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741286707; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=3hkf7euT/vaY2Nx8txG1P4pKgdK1/0zs8dcUAeUZimI=; b=XufX4od+iUMzOiEVyPdi0sHcHZhitKyeTfOiWCZQ3RJ8wcthrmFuFZ6Aww17qKPBpnD/Qh w68WKUuYeH7SPm5sdxrPSmN8YVVJiDx9fLNMvMXkb+9X9uZ3+m3yE+XQD3rMeNGnAzikt0 6KKH+jyPK0mUi5Wt1AAKpLamJteFcsY= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741286707; a=rsa-sha256; cv=none; b=S8PNQSnQ+/3jHreQN4dBosS9xHUBjeBnGoWH6oFd8IIsaLaXgvohAZawU8aNcmBMfTP6v/ ZJt+eJc+m1p3+k4DaZqfNt3eYz0Na0SWefXyWwrEcY0Zq+TcjcbHQ4e6q6t3zt8cRTVCe9 rPrHYiM5/+5hcX3ZDTGs9/rP9nfhtss= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=i4KvGV7u; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf19.hostedemail.com: domain of shakeel.butt@linux.dev designates 91.218.175.174 as permitted sender) smtp.mailfrom=shakeel.butt@linux.dev Date: Thu, 6 Mar 2025 10:45:01 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1741286705; 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: in-reply-to:in-reply-to:references:references; bh=3hkf7euT/vaY2Nx8txG1P4pKgdK1/0zs8dcUAeUZimI=; b=i4KvGV7udlvq/n9zorZlenUNvq9v7B9hg5u+7HMPAvnmzR1HOH6ulDR+ov7mEFogwwlgVc 2anmZpuEmOb+If/MpcMGpzzB2rRVgtXs8zfZbb5lH/ZuJO9MGzLWfS3Fry3yhGgQUPPhX/ om70b0btLbq9PeUB4UonOTkCiD1EgBQ= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Shakeel Butt To: SeongJae Park Cc: "Liam R. Howlett" , Andrew Morton , David Hildenbrand , Lorenzo Stoakes , Vlastimil Babka , kernel-team@meta.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [RFC PATCH 09/16] mm/memory: split non-tlb flushing part from zap_page_range_single() Message-ID: <7rnj5pt7uaftvvf6sqge4vowvcht7n4cqb4hxh3o6kzxtqumqi@p7ugsoqh6iiz> References: <20250305181611.54484-1-sj@kernel.org> <20250305181611.54484-10-sj@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250305181611.54484-10-sj@kernel.org> X-Migadu-Flow: FLOW_OUT X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 537991A0004 X-Stat-Signature: 79n576st8rxpdcsenb49xijwirafih1a X-HE-Tag: 1741286707-184791 X-HE-Meta: U2FsdGVkX1/xHti4oqeMxJQIKiA9epoUDPzRUmEkkBcEWNFWUCWqVw6WdCkF7SpG0z7+4HRG8vsXvCmtFqvC7rfLRHivZQpG19N7FGpQAF4/Nn5JmRTnk19T1858PRhbJIvgVKwUAaMxwy77C8h8uJ/nNEy30Y2B0Ib5bnc7ojol3enbYvaprG6CD5GWDM15sVc8Z//HqIRkNBb6euKqwutBqON1EWmMAVlMvoBISLGI/MjkgfWSoxx/ZK6d/o6+gzgKZSSeNJt4rk/L2FjgDnPX0KVJf5ysMtDSR8sA0BBZnHSVY1dlFRqvf1hWrcBSNu121Rm28AqjdzTMdjcN2MP8rSlTPfTUfKKvvx9zy1ofE6KIKy5IJAPxYKKyxpz9nf4OZ7DZWCGQgz19POmJHp5Br6BnOI07su8KwJCqKkUQq/mtrdiIraY/KcbtKaDwAvtQ8oa7/Q7YdS16hDAtJAXyXc4MkjkpcQcEa4+03ye33jqegXNKis+pNHrEfcGRlsYQ8nS5p1aGf3Z6MmUHos358RFTDVt8mW1r+WCwyZpJTIg7eg9tn//W1ECNjkhtWv6378BkTz6AbQ71QnI4lfy322FnV42uBfMCOAi76nIh/cFKI8yGc3rmPbZ/c4MPGd8kGrTEPBoA50SjFjijAH8uyNsHO2m6VDy/c2Cq71gOan2lhp+rj+QEJw4e7zo2KGcuoH2SkHclL9vQ7kcMjuqv85gwoVP9JLMcIBVIwQc1+U+8xgrwAJ6uZOKGH5fckrWGaZpzt7coqIgjHONl9PDzGZu8RZL00xCFxDvqrec15tdF6USGELQ+NFm9zJae1DRKpnKPWwHfgy74DFN8/kF30JlB2hYEHWQ+JMyrOG0f0W5CsVobJ5ptORvjOQ9FzNHiB0SiyT5XyR8383lexv4lqbjK/LvNxnvr9u/Q2LHzKCvyUdEQRGlHsqZftB9WtF/xxNduTNfOOC/CPpu WF0LSr8U zd0JntdA+Q3k4xyfFOMC5ZhwdBVK9S7Ye2QNe9SS26bvINg/jCIv0tIwvuc1Tk1zb1xlf4RIK3TKtpeei2t06m9IRTXnAobHmRCdrU6XjERy7ivvfm7L6HH9qdCCMWJoFcyXTvEBVh/xKQ3Jta4dh8N7q8EqmWT4CFS43Z9yVyiIIPgBAvVCh7/ml5wVDBZjLlZVOsHUNMpjc0cd3/uT+kXHT0F6EBJtjYPgsT26wi38yLLq9zc+cdT7huqbULjSwh82R 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 Wed, Mar 05, 2025 at 10:16:04AM -0800, SeongJae Park wrote: > Some of zap_page_range_single() callers such as [process_]madvise() with > MADV_DONEED[_LOCKED] cannot batch tlb flushes because > zap_page_range_single() does tlb flushing for each invocation. Split > out core part of zap_page_range_single() except mmu_gather object > initialization and gathered tlb entries flushing part for such batched > tlb flushing usage. > > Signed-off-by: SeongJae Park > --- > mm/memory.c | 36 ++++++++++++++++++++++-------------- > 1 file changed, 22 insertions(+), 14 deletions(-) > > diff --git a/mm/memory.c b/mm/memory.c > index a838c8c44bfd..aadb2844c701 100644 > --- a/mm/memory.c > +++ b/mm/memory.c > @@ -2011,38 +2011,46 @@ void unmap_vmas(struct mmu_gather *tlb, struct ma_state *mas, > mmu_notifier_invalidate_range_end(&range); > } > > -/** > - * zap_page_range_single - remove user pages in a given range > - * @vma: vm_area_struct holding the applicable pages > - * @address: starting address of pages to zap > - * @size: number of bytes to zap > - * @details: details of shared cache invalidation > - * > - * The range must fit into one VMA. > - */ > -void zap_page_range_single(struct vm_area_struct *vma, unsigned long address, > +static void unmap_vma_single(struct mmu_gather *tlb, > + struct vm_area_struct *vma, unsigned long address, > unsigned long size, struct zap_details *details) > { Please add kerneldoc for this function and explicitly specify that tlb can not be NULL. Maybe do that in the patch where you make it non-static.