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 308E3C36010 for ; Tue, 8 Apr 2025 04:39:55 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 07E8F6B002C; Tue, 8 Apr 2025 00:39:54 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 02DB46B002D; Tue, 8 Apr 2025 00:39:53 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E36BD6B002E; Tue, 8 Apr 2025 00:39:53 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id C6B2F6B002C for ; Tue, 8 Apr 2025 00:39:53 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 9CC018017E for ; Tue, 8 Apr 2025 04:39:53 +0000 (UTC) X-FDA: 83309623866.26.D7E274A Received: from mail.ptr1337.dev (mail.ptr1337.dev [202.61.224.105]) by imf19.hostedemail.com (Postfix) with ESMTP id 933E61A0006 for ; Tue, 8 Apr 2025 04:39:51 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=cachyos.org header.s=dkim header.b="RB/UMYRl"; dmarc=pass (policy=quarantine) header.from=cachyos.org; spf=pass (imf19.hostedemail.com: domain of dnaim@cachyos.org designates 202.61.224.105 as permitted sender) smtp.mailfrom=dnaim@cachyos.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1744087192; a=rsa-sha256; cv=none; b=f75uDtIKn1A8Wr5UALoBTe5nzNmMh45mG3giwIbgupkI4QmMh2dGyJzSFJyUv0A4g47BAS LzmQyejgQnl4Gqbd5HLDYwl7WEP+z9P7585ITeeBsTo9lW1K09byuxop1nnSizCeVnDQOy 2cDFcYmsSCvmli9KzLj12Pm63iG5Dyo= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=cachyos.org header.s=dkim header.b="RB/UMYRl"; dmarc=pass (policy=quarantine) header.from=cachyos.org; spf=pass (imf19.hostedemail.com: domain of dnaim@cachyos.org designates 202.61.224.105 as permitted sender) smtp.mailfrom=dnaim@cachyos.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1744087192; 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=W6lum0tK8iDSD3O1/w0NV8phRZIGe2yefEV3A1OTASE=; b=swxT/etEH9heikTadprfDwd6LtZX2xwE3ti6Em6+TFnzeS60ffPDLc/vyOhyUuSwmtkQR4 NhGdnNEyc1tBBpZg3RvX7u2JQ0hqrgDqmIutjHSNR2qmDn46ALpnjcOtQmmTQb6y87fnWC AVGLywaddtQ4jgpP/SmWeLrLur4Jxxc= Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id E064F281552; Tue, 8 Apr 2025 06:39:35 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cachyos.org; s=dkim; t=1744087189; 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=W6lum0tK8iDSD3O1/w0NV8phRZIGe2yefEV3A1OTASE=; b=RB/UMYRl3akr6Y8arx8VoiIh7JJFg6O6efnTlECPY+Udx14ewLdibMHM4h+aPmr6TQgVFg 3tYc4etb248jCyDvlQc0dCcAjw7AbJXeXjuUldroGOw8W5iNu9Uy5tEzKBvge3JX4ZukoK vRI0hqTtDyE9prVsl/NwsYvmKc9dDeyu81GiPPKzezA9ustLKrXTGolSkiVHnPHD/0m2zo ovuXnS2VnLE4nF8yO+rGNNR/95LTY3PR9OMIlzxPzIY6SQg6z6JFi3B5p/uCWJOIYE/lAZ c3LgcrefqLIKK39ez7Wg1WNTgzSDeGmUZ0YUMVyfD0vxuq7OX7vBFgojsYsPpg== Message-ID: <40182b31-95ad-4825-9c0c-0127be1734a6@cachyos.org> Date: Tue, 8 Apr 2025 12:39:25 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v7 10/17] mm: uninline the main body of vma_start_write() To: Vlastimil Babka , Suren Baghdasaryan , akpm@linux-foundation.org Cc: peterz@infradead.org, willy@infradead.org, liam.howlett@oracle.com, lorenzo.stoakes@oracle.com, mhocko@suse.com, hannes@cmpxchg.org, mjguzik@gmail.com, oliver.sang@intel.com, mgorman@techsingularity.net, david@redhat.com, peterx@redhat.com, oleg@redhat.com, dave@stgolabs.net, paulmck@kernel.org, brauner@kernel.org, dhowells@redhat.com, hdanton@sina.com, hughd@google.com, lokeshgidra@google.com, minchan@google.com, jannh@google.com, shakeel.butt@linux.dev, souravpanda@google.com, pasha.tatashin@soleen.com, klarasmodin@gmail.com, corbet@lwn.net, linux-doc@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, kernel-team@android.com References: <20241226170710.1159679-1-surenb@google.com> <20241226170710.1159679-11-surenb@google.com> <0d36fd53-b817-4bbd-ae38-af094bd301df@suse.cz> Content-Language: en-US From: Eric Naim In-Reply-To: <0d36fd53-b817-4bbd-ae38-af094bd301df@suse.cz> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Last-TLS-Session-Version: TLSv1.3 X-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 933E61A0006 X-Stat-Signature: 4rzx34jkops77sfam3ezwutbeuqqi816 X-HE-Tag: 1744087191-64601 X-HE-Meta: U2FsdGVkX1+VMZx7Dk6HVKvNiQu6j4HwAv0u++K+ScIfsZemFsJezj8k/UGqc93dYbSSYr0H7JwVQvwPKudXKb0KMxszmoGrEOnfjMOwVMhThKXYtx04XOATad1r9qApoJ1pLs10Aw5mLQKUwMvvkg7n/zvdZjywzgASyRl2LKlRbH7GnUgYBZ8xU7+L5bAnG64IULrQXlxo9yLphPen+fcBcAz58KoI0V4lF8ePtYT/W1HeaV6b8/0fIe1c1HYPTqsGYP5FWWhNR6WpghWPfhRGiaxnO6AcWAvUCRrYWwyPk8a9EXKczmqBs3WUVGzl2QDQiwTN3fT5fH51vRJ8U+J7VXZj9iN3tZ1Yiu4d1Zxwwm55+1SVvwgUiQ74YO3XkXgqvjfMwfw2H/06tVCfqZYBFldNumaO6ygSx7UjujZPw5APlt6Dw9Sdk5ojgrQ4f8HqZF0l4V2R12kRCdddkAzYD1c2uNwEyDaXLJDbU8TTLaifUMVPm/kDVP5EbWiSOWAM5IgfWEDtACJgmbauCljeyfqWr8Q1dMsJWj6zEonepwEnVS4+kS9dEP+RwaDrD1wnxJ6fvqUWDTHrOYlPOxGM5I3dbReowmxg89gFqAjTIKtF9SascyQove97j0bomNly83Pb/2/5wiOSGnyGOEaxEaLq2BVxGIcNJxA0VsWR9XBxTX1YRDngaz1bKWDexaaqQ0xGRCmhvzQDNua/3YENr5hE/scU9fVIRpBgdp3R/wrLAwzcLfah0S9QSF9NAL3wa6DH3ZmjlwBHFJ8quDfwjLatKi3Wa8iuunfZaxlSsdofYdWmOsJIB0ev+UFLY3Kg8+bFc4zPHutsnhmBsq6JOAHhcIh5aYXBERIA32Zpsdab6jsBvDKsEpvoKEIc1pC5JQ71oojJoQec/N0VJZA01PNHq3oT0UYJUcwQVd/O60gLwiHn0K/HMvfPwo0yu095mNwE4ugRUQYUxMZ M0b1eOJM TmoxolbHB0kIw+Ve0zQiAEowiyvmh7RYDd7+r+boppJYNds7cAH9pVXH0hKOpp1oIiZ9lFaYyiNOHdw8IOspOhRubXCT4ZUltilisP70wR22uNuo3DzNSt3bx+WL0SwDEQG6i1qtOMWSmNW6kRmmqMRIqv2Tdrbwupj2YdkoZaKU/oFGkjUlOnr7lG0DR4oF+rAZ46ClHmpMvOJZFXX1MREiEGwxfpwsZbW+Oo4+5aX4z5SONS+Y90j44ag9by+bye4gnueonCUnvUev360SU5QJUEhgwNPifEdmYwbBB699OQkr+Ve0lTJTO8/a4C87zY2A6pAVlpiKl7pqC7SLxJLTAKpXcvYYTlQOj 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 1/8/25 01:35, Vlastimil Babka wrote: > On 12/26/24 18:07, Suren Baghdasaryan wrote: >> vma_start_write() is used in many places and will grow in size very soon. >> It is not used in performance critical paths and uninlining it should >> limit the future code size growth. >> No functional changes. >> >> Signed-off-by: Suren Baghdasaryan > > Reviewed-by: Vlastimil Babka > >> --- a/mm/memory.c >> +++ b/mm/memory.c >> @@ -6328,6 +6328,20 @@ struct vm_area_struct *lock_mm_and_find_vma(struct mm_struct *mm, >> #endif >> >> #ifdef CONFIG_PER_VMA_LOCK >> +void __vma_start_write(struct vm_area_struct *vma, unsigned int mm_lock_seq) >> +{ >> + down_write(&vma->vm_lock.lock); >> + /* >> + * We should use WRITE_ONCE() here because we can have concurrent reads >> + * from the early lockless pessimistic check in vma_start_read(). >> + * We don't really care about the correctness of that early check, but >> + * we should use WRITE_ONCE() for cleanliness and to keep KCSAN happy. >> + */ >> + WRITE_ONCE(vma->vm_lock_seq, mm_lock_seq); >> + up_write(&vma->vm_lock.lock); >> +} >> +EXPORT_SYMBOL_GPL(__vma_start_write); > > Do any modules need it? If not we shouldn't export. Hi Vlastimil, Suren The out-of-tree NVIDIA modules seem to rely on this symbol, is it possible to use EXPORT_SYMBOL() here instead of EXPORT_SYMBOL_GPL(), below is the modpost error: MODPOST Module.symvers WARNING: modpost: missing MODULE_DESCRIPTION() in nvidia.o WARNING: modpost: missing MODULE_DESCRIPTION() in nvidia-uvm.o WARNING: modpost: missing MODULE_DESCRIPTION() in nvidia-modeset.o WARNING: modpost: missing MODULE_DESCRIPTION() in nvidia-drm.o ERROR: modpost: GPL-incompatible module nvidia.ko uses GPL-only symbol '__vma_start_write' ERROR: modpost: GPL-incompatible module nvidia-drm.ko uses GPL-only symbol '__vma_start_write' make[4]: *** [/tmp/makepkg/linux-cachyos-rc-nc/src/linux-6.15-rc1/scripts/Makefile.modpost:147: Module.symvers] Error 1 make[3]: *** [/tmp/makepkg/linux-cachyos-rc-nc/src/linux-6.15-rc1/Makefile:1964: modpost] Error 2 If it's possible I can send a patch that changes that. > >> /* >> * Lookup and lock a VMA under RCU protection. Returned VMA is guaranteed to be >> * stable and not isolated. If the VMA is not found or is being modified the > -- Regards, Eric