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 E5E45C00528 for ; Mon, 7 Aug 2023 03:03:58 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DE3CB6B0072; Sun, 6 Aug 2023 23:03:57 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D936F6B0074; Sun, 6 Aug 2023 23:03:57 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C5B308D0001; Sun, 6 Aug 2023 23:03:57 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id B27686B0072 for ; Sun, 6 Aug 2023 23:03:57 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 32C331205BB for ; Mon, 7 Aug 2023 03:03:57 +0000 (UTC) X-FDA: 81095814114.11.C561259 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf20.hostedemail.com (Postfix) with ESMTP id C36C51C0017 for ; Mon, 7 Aug 2023 03:03:53 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=fHYhJwBW; dmarc=none; spf=none (imf20.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1691377434; 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=mrJGK7xolmy7+30+SP6QcPep8mA36OiN+uaIxGFlkBw=; b=gjVBo5l1wwRZka7zi+QGw8+jFpt8f1QjCKayn2JfSFrx6d94NOUlwgjuePN5DjGCwqMPy3 JdBXVxbABSsyOjTnMPJquvo4wbIhiqa5W+7VdoRG3HSrOnRZiR6cxTifLpiT74gF7i2MRU GWqwlB4CP/FraVkd2GJO439l11ojqqs= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=fHYhJwBW; dmarc=none; spf=none (imf20.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1691377434; a=rsa-sha256; cv=none; b=WJBOaHjqiOaijNkXjqXZm/f0caR4Zmy0uc0Fpn7t3PcZv2IjrRRLiYK0u0hjmNUE56psf9 AikRuX4VkUDGDqY4YWRzYJ4p3GjR3K0QPSZ73TKHPpLzlWXuBZ4vukWcU7HcjIGyRFHKC7 8qEB8jIGYAVSclGHha6RQA+SNj4xfHE= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=mrJGK7xolmy7+30+SP6QcPep8mA36OiN+uaIxGFlkBw=; b=fHYhJwBW43fhUdx0xdp6D5QHf+ 55sr6rFVnJ5VLQBVaMNLGIlPAo8GcPHHZ/Fe395R0gAudV0f2vm5tDMhU1GkdMODztAnJDyOEAeEu g0gS90RXQcnLviWMEvBMZArEB/Pi4xYmjULReOe9h8f8jRIRRuJf4dIaV0GHP51g4UpFQCp+ceMB5 2vqu12++RzjanEGjMHOi5LNM//pC8ctt+RIYIT6F0XYCNrlT2edy/EkHtIWH95MFDEXIiihg1FxIc co3YGxBQgODDfA67cUld6gx762nwT3m/PWib9uUD8DRVsovqslcXFnMHqCbO3DPmLp3RvBFoPm3M+ pc/lT/GQ==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1qSqX4-007zHX-Ut; Mon, 07 Aug 2023 03:03:46 +0000 Date: Mon, 7 Aug 2023 04:03:46 +0100 From: Matthew Wilcox To: Mateusz Guzik Cc: akpm@linux-foundation.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] mm: move dummy_vm_ops out of a header Message-ID: References: <20230806231611.1395735-1-mjguzik@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230806231611.1395735-1-mjguzik@gmail.com> X-Rspam-User: X-Stat-Signature: 8u5bf9w5dsowp7k3cgk1oxzmrojbgqwn X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: C36C51C0017 X-HE-Tag: 1691377433-831363 X-HE-Meta: U2FsdGVkX1/YRF+JfKwUW7eSh1mEnjA9KGCRi4A5ehdDW9mxD9dow5//zaLO0Sh1ycjB/XsCVKL8U6Wr/csrxKoEj6kYCFmuYl5lQpoQqziU33dX3yj+jVn6pDLvcDPhKYeBImHZtUfctFmo9IAy+1f5fY+ZIXxBDT/pWimRXfUNwBIO3Vehu66Nc+VwpU77g0DEPZ3d0r+WjcaAEiZlXJuWUSamzj1411YpqxqOiSqqCvCH8UGjxWp0OjkTR+dWqSlclOXn/w5i3EhIXBl1OVdqliJzmMyDx4iOVMPDK78qTW2sPO4jjm4vTw7xFyBPjHraMryVB5LwtsD07jixmwf1U70oK+A4gl2Yh4KcT98Rx59RzTMBIVAkBPLfxvj/xxfACOIlUXFcZhkEWwG7djwpxocylHhoNxRMJ7tCt77K3GlTjcHTsjsME5n+ievCawQ33W9Ws45nrNmAak+ngUsyTS6KMQqOL8zaNMexVgF09T5vKglg5Xf1IaOVj+K7fDkDD4/EqVH6Vi8f2V+9a4wefweM56LEwurVxPwsj7CmKSyTWE/XMLoDFIWB8r1goIupr2k+jxR1xLeSmxALzI3P+jVaHGan2EJIlBx4FAKkVKUjkQyvIzYZuvk0QFUs3cr3P5PI5Hy3JMASkAKmEVIDL1Rg4I9ixC5c+qfZy4rbg5uWxSsAh0hqommiBnXTegp2SWW26r+IXGu0cEZyg1W0Dgl6P+mM9yVCRRC0M+ctr2ajEH7zeLrMDiO85bOJyp/Wufhx/5L+nLavoKYwGihD1XibPNYxrFDl4p+T01KvCq3FvYGbvrYLPC0D2gbgTT/X0/YWfhh4hhBeYHPTtfpPucmk8zheqvFYJCkNSXhjk4JfSf9Lhorl79P2WhsgWwx9rnzjXwt6/fOY0RCXXWJvYd/HcEPY3ZQRPLhvB5SdqLz2swheH26pq0lt/ryvpDKhVBzPISNHmPVMVoZ 1Y6nIRWb ElviGcLkqDiedgVENe8sIIVKX9eumvRbo0u/7ISNfAwm1sn3vYfzpegX4Z5C5NvGlimskZGGyb/A2iwKc2pIOVP8+KHlHBf+01CiLC2KPGxKMzmNkyes/9+lDkM67hT5MFXJ4GotyzN3vxzsyBYCpza3nXU77HmsWFk7ZhR7OfBOKnXmnTX+EtMJjDinnr466l++l3LN0/EJGw/w= 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: On Mon, Aug 07, 2023 at 01:16:11AM +0200, Mateusz Guzik wrote: > Otherwise the kernel ends up with multiple copies: > $ nm vmlinux | grep dummy_vm_ops > ffffffff81e4ea00 d dummy_vm_ops.2 > ffffffff81e11760 d dummy_vm_ops.254 > ffffffff81e406e0 d dummy_vm_ops.4 > ffffffff81e3c780 d dummy_vm_ops.7 > > While here prefix it with vma_. It really shouldn't be prefixed with vma. Other than that, I love this patch. > [if someone has better ideas where to put it, please move it] > > Signed-off-by: Mateusz Guzik > --- > include/linux/mm.h | 6 +++--- > mm/init-mm.c | 2 ++ > 2 files changed, 5 insertions(+), 3 deletions(-) > > diff --git a/include/linux/mm.h b/include/linux/mm.h > index 406ab9ea818f..14898e76bbf1 100644 > --- a/include/linux/mm.h > +++ b/include/linux/mm.h > @@ -756,17 +756,17 @@ static inline void vma_mark_detached(struct vm_area_struct *vma, > > #endif /* CONFIG_PER_VMA_LOCK */ > > +extern const struct vm_operations_struct vma_dummy_vm_ops; > + > /* > * WARNING: vma_init does not initialize vma->vm_lock. > * Use vm_area_alloc()/vm_area_free() if vma needs locking. > */ > static inline void vma_init(struct vm_area_struct *vma, struct mm_struct *mm) > { > - static const struct vm_operations_struct dummy_vm_ops = {}; > - > memset(vma, 0, sizeof(*vma)); > vma->vm_mm = mm; > - vma->vm_ops = &dummy_vm_ops; > + vma->vm_ops = &vma_dummy_vm_ops; > INIT_LIST_HEAD(&vma->anon_vma_chain); > vma_mark_detached(vma, false); > vma_numab_state_init(vma); > diff --git a/mm/init-mm.c b/mm/init-mm.c > index efa97b57acfd..cfd367822cdd 100644 > --- a/mm/init-mm.c > +++ b/mm/init-mm.c > @@ -17,6 +17,8 @@ > #define INIT_MM_CONTEXT(name) > #endif > > +const struct vm_operations_struct vma_dummy_vm_ops; > + > /* > * For dynamically allocated mm_structs, there is a dynamically sized cpumask > * at the end of the structure, the size of which depends on the maximum CPU > -- > 2.39.2 > >