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 A6497C3600C for ; Tue, 1 Apr 2025 02:48:18 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8F277280003; Mon, 31 Mar 2025 22:48:16 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 87D6B280001; Mon, 31 Mar 2025 22:48:16 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 74108280003; Mon, 31 Mar 2025 22:48:16 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 55708280001 for ; Mon, 31 Mar 2025 22:48:16 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 9547C1208EE for ; Tue, 1 Apr 2025 02:48:17 +0000 (UTC) X-FDA: 83283941034.27.90869E2 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf21.hostedemail.com (Postfix) with ESMTP id DBF9A1C0002 for ; Tue, 1 Apr 2025 02:48:15 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=hhqZmFID; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf21.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sj@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1743475696; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=UmJCPxP8eDJPnfRyTzaEzw4CKp96cI82D3oY1TeIenk=; b=EkElKsBC+g3BN45DI73HfIrdPwplVBhQfcOP9UmeicBvcWYn8v7zvs/J3rMVC7QN5C5uR6 FsvTfkiJ7grGsINBF6KyVGeEjVaY/xKx4+bT7T9hpdYBJRusxKEvdVLCuKOuKin4uXmmIm D2w66QYdLH4+6CK1ubSWOanCkXwsXHQ= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1743475696; a=rsa-sha256; cv=none; b=AZsMcotk1Ymt7IeIe9Cisu9pPpyj7SEeQCyekbd9R67iXRq/7NUVK2IZ1H4aMC9HwzVNel 0wSzlFLJognQ9u4TjJKoeMTlkk7NHfvxi4TI47T4Be3zAAKjbzaCJU82X0VjYuZDlsuBU+ y0KIEm4W9vtQh6Jwv2Dwvf59jje9PwI= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=hhqZmFID; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf21.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sj@kernel.org Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 707865C5BA0; Tue, 1 Apr 2025 02:45:57 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id D91A6C4CEE3; Tue, 1 Apr 2025 02:48:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1743475694; bh=fHO1nL3dUgznetfKSdC3szi72wLred2lzovoU+DBAxs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=hhqZmFID+a5Fp0W3d3Mys3tpRMaW84LHGaIs9PphxCnb5NcPw5WCeKsYyW1Zpa6Nm J2Al7krcJidZGSb/2nKOBNK55ExCumrm7I4tw1CIF2tz5TrR7xItBDBe8yZ5R96eaq EVdJ1kyu7qHsvqrHyWHYW/dux3ieCLgk8LaXcvgs38X/9DXtrG0dWAwk1xG2aM7Y16 1jb++X2TVl99bfJuoL0N6Zs/k7C5LDDlWmZ4x6vXr76VdGSZIfZKArt6Tf3n6ZZdeH kec/CamdaFptlDw1CHSotIclsBoQwpujoU76VU/Qjh1Ymj4mMfdqiQGiappVQoFbh5 abcXS2A8ubrRw== From: SeongJae Park To: "Liam R. Howlett" Cc: SeongJae Park , Andrew Morton , "Liam R. Howlett" , David Hildenbrand , Lorenzo Stoakes , Shakeel Butt , Vlastimil Babka , kernel-team@meta.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH 6/9] mm/memory: split non-tlb flushing part from zap_page_range_single() Date: Mon, 31 Mar 2025 19:48:11 -0700 Message-Id: <20250401024811.4285-1-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: DBF9A1C0002 X-Stat-Signature: 6k35b5axuwgm6afoh6bi8nrhtbrx6d7e X-Rspam-User: X-HE-Tag: 1743475695-607905 X-HE-Meta: U2FsdGVkX19HyV8KWxdcTZihwrda3B8R74o2MUbusOj8mVd86mtLYZ9kIr4T0sKAqOQMFDBTInO2fcFzrvgIQvDXeldUYkxBDm61A1HETdhpry/3mU86IGM+Pt586h5uuo1J/eYzL6B77XSrBVN6iU1cisIN6GpMJJL/ftGJPPstUCX4APInixURbQiN8gVwfBp014WAiNsmfWQ/tHzIpBurbAsWzVLZWERekCuC7s/UcwdjAZupXxOVhDa+QNTn/WLHm2QeaHwUCYaD+rvLlT8bsiXs2PwbbaNaNZh9GoHVoDjsIVKQvTHr7z5j/y1V+fIknq0WOXeHLs+Uow3SBKX4/vJFlSmmttosMCG1XAJ3K2q+YMg4k7bRDbv55XmqD2qPK+ipeEpCfK9Yh6bH755xxBXNKpAfk1f9GTS9w+bTfXkXnqKCRSEiAvfuXwSCJDwWKbk53oZFbCZHAfOxhdzD0LcMtIy2Ei+kBdBZ1DQQa3tY+b5N/Y7iEdn+DXN+G9s2OxhgY7C1QDh5U5gaOfePHvFvUvrxIRpDt7cPagiyCW6UfWsIgUlCCHrP/7YQwcHHUFYiTW3q18lNS6fNYo4fY1XsYYDBoJ3s25Lq2oRKmY8zTlMUtyR5VvY5KO4usvKsBjWhUVj5Gk5GciJgzmdCg+TxrIwSNwIe+BD1fP2QiA35raKS4LxFQOR/RkUe3ZL0HGj26XcqzP3ZiBkUsWAzhkHtvzpECnFVUVSPfOTR7FtE87st0NokMO6QA4LT4HWENRKtyflRQ7MHDK9tIwA/PLdAMFl8YKeGcvLnuDfRd6eaHlrD2Epa2Fihz1pwFzZOJIXoFomjh2qjUvpXl3yh6cGgqGra57+sihoULyBMoe+EZohPSKWNyjXAw7GwExjSxiRsu37Eh3nJtz/zUYnuPihzumb7IFNfzsuJL3Z/HxFEO6JK4acJ0kqo+t4wHwyBHN2j6ThhdY7UMY2 ugCz3zct uNpm6e2TJDOwp3dhih6lIZAVl2IJhhQ3axRBTJldhwLu1PeVp+dhUbzvjbnPJDye+3H8PEhkUFjGDyflOU8T5oJTrl0TDle6i+BEDIKWdQ4Ifb56pxrFZPS0LkyKjIELp2yVmIZmztp2wJUXShH/495fDz9iwOUQr95YkbeLzKH+WtwjtSFcpmOwUyV+IQv0l2lpFNjxnVUkhXH0fVEp6HQ5nNcBcbw/noJoz5okTrYChU/HICiyi9wj9GyGX4/KdI7ccNaNEYJ5WYbQPzJJx/W62ADHVi8J+g5UEj6J6xPOmmS8dlpKGBXVR9A== 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, 31 Mar 2025 21:45:40 -0400 "Liam R. Howlett" wrote: > * SeongJae Park [250310 13:24]: > > 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 the body of zap_page_range_single() except mmu_gather object > > initialization and gathered tlb entries flushing parts 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 78c7ee62795e..88c478e2ed1a 100644 > > --- a/mm/memory.c > > +++ b/mm/memory.c > > @@ -1995,38 +1995,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, > > I could not, for the life of me, figure out what was going on here until > I realised that is is a new function name and not unmap_single_vma(), > which is called below. Agreed, definitely the name is confusing, especially given the existence of unmap_single_vma(). > > Can we name this differently somehow? notify_unmap_single_vma() or > something better? notify_unmap_single_vma() sounds good to me. I'll use the name in the next revision unless we find a better one. > > Also, maybe add a description of the function to this patch vs the next > patch? That makes sense. In the next revision, I will add the kernel-doc comment here, but not as a valid kernel-doc comment (maybe wtarts with /* instead of /**) since this function is a static function as of this patch. On the next patch that makes this non-static, I will make the comment a valid kernel-doc comment with a minimum change. I prefer not having a valid kernel-doc comment for static function, but that's just a personal preferrence and I have no strong reason to object other way. Please feel free to let me know if you prefer making it valid kernel doc comment starting from this patch. Thank you for nice suggestions, Liam. Thanks, SJ [...]