From patchwork Sun Aug 6 23:16:11 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mateusz Guzik X-Patchwork-Id: 13342910 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 C4382C0015E for ; Sun, 6 Aug 2023 23:16:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C28E96B0072; Sun, 6 Aug 2023 19:16:20 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BB2006B0074; Sun, 6 Aug 2023 19:16:20 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A52556B0075; Sun, 6 Aug 2023 19:16:20 -0400 (EDT) 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 920186B0072 for ; Sun, 6 Aug 2023 19:16:20 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 38879C054D for ; Sun, 6 Aug 2023 23:16:20 +0000 (UTC) X-FDA: 81095240520.03.E923816 Received: from mail-lf1-f47.google.com (mail-lf1-f47.google.com [209.85.167.47]) by imf20.hostedemail.com (Postfix) with ESMTP id 6BBBC1C001A for ; Sun, 6 Aug 2023 23:16:18 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b="q5/30O30"; spf=pass (imf20.hostedemail.com: domain of mjguzik@gmail.com designates 209.85.167.47 as permitted sender) smtp.mailfrom=mjguzik@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1691363778; 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:references:dkim-signature; bh=iEbIB04Iy3FmDryo9/HW6q1xbIuRl/P3QhBN14yV5sg=; b=nw4d/BGPQDkb40vitIcA271s08r95NyUftHXYQbNAbHCJ+fpVPXvQVpmEXzzQuD4N0xewu DJUgSdKeUl+3UYVh0c1dWFFRJsmahhfjjcohEm/g65d10+iV7Ksxs6lT3g1N5fIsjt0WCi 1IuItLoPC/7wKNEXuDhyl9Ged0dx690= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b="q5/30O30"; spf=pass (imf20.hostedemail.com: domain of mjguzik@gmail.com designates 209.85.167.47 as permitted sender) smtp.mailfrom=mjguzik@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1691363778; a=rsa-sha256; cv=none; b=aG7LrK2paROkGaFwix6wIk2dLD6Uw0fIKqHRBLvqA+sE3YpCegQiNrVBeUJ+mzg+DQSwp6 4EgHXoqCCgRNLRRJmTuJKBJml0lTyiteYHuVOwY4Pt7Fl8oUWRuFI3N5NuWnmJMlntw9yl GTDWQdzw7LdSneZg7t3sv/7aw81nnlo= Received: by mail-lf1-f47.google.com with SMTP id 2adb3069b0e04-4fe28f92d8eso6153292e87.1 for ; Sun, 06 Aug 2023 16:16:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1691363776; x=1691968576; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=iEbIB04Iy3FmDryo9/HW6q1xbIuRl/P3QhBN14yV5sg=; b=q5/30O30q4Bup1+Nynv0E/0oPlPnyiyZAJMEQLopNYUDrkqh6wUXcfRIibwjceqtiq 5XD0GDNC4EUWsDhgoqccCkptC6CZRzhqbjApu3BBjDZQkAj+b4lu6Ybi0saI7Qj3tAIw 6lVFfHRaT5ApkR3AsJTaWarE7dpHpXG25az1hHh03pHXDYM3z6iu60sddloDJEPBUJHU 2FcEYHi2R47NBQG3xlD0xiFokEnCKHAanzT7kpZa2J1iPEMT9DA6p3J0uXFNbUUYLIPM G76zlS2clXd2vfbPdrMB7nlm4gUi3/UGaSGOBcoG6bAYi4t9ghNZSng2U8MqYq9CYEXT Xxkw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691363776; x=1691968576; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=iEbIB04Iy3FmDryo9/HW6q1xbIuRl/P3QhBN14yV5sg=; b=c74k/PuorvFHA/E0D8t5qW6PX/chcHf8WvFQQ59nEY6/MCZyFJueSs6362/PnYUCuX tzh/sz1a0KC4erx0EACibEmyjGJ0ue/ZWkxw3wxzYkUEU2/EAPM1lO6uTEKwO1etjkIC BBR4MbU9OH8NeoWvvwHdH/+dG3AG9PDGS4OXz31f31e7KkHNQTKSePea3TupGcz7mCNg I9K8l159yufvV6f49RZ5jkwhPj7nLIvrjNCP589yR15zvg8OGhtARRLtBwnx6eMQXVvT hO5zGhERpQHgpYSaf67ZXzplIPADBW2Azvy1h9lStvcVUfOnVnmPsPx3Dk5h0klcdGN5 RCPw== X-Gm-Message-State: AOJu0Ywp8Ze6C7dzEOIxMGhjeyxmzOEUf61mEcw58Yhg7js+dfsYnajf TxiS3meqw5tfwm/2LZfD+CA= X-Google-Smtp-Source: AGHT+IGQbjNV9d6hSYsijupuW3EegD/POMMX6qQqj7V7KTAqW0tWlh5mx2ysU9V/bUZXqEXVRxiYPQ== X-Received: by 2002:a05:6512:401b:b0:4fd:c785:58b with SMTP id br27-20020a056512401b00b004fdc785058bmr5022776lfb.4.1691363776275; Sun, 06 Aug 2023 16:16:16 -0700 (PDT) Received: from f.. (cst-prg-21-219.cust.vodafone.cz. [46.135.21.219]) by smtp.gmail.com with ESMTPSA id bt16-20020a0564020a5000b005226f9d6055sm4337575edb.61.2023.08.06.16.16.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 06 Aug 2023 16:16:15 -0700 (PDT) From: Mateusz Guzik To: akpm@linux-foundation.org Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Mateusz Guzik Subject: [PATCH] mm: move dummy_vm_ops out of a header Date: Mon, 7 Aug 2023 01:16:11 +0200 Message-Id: <20230806231611.1395735-1-mjguzik@gmail.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Rspamd-Queue-Id: 6BBBC1C001A X-Rspam-User: X-Stat-Signature: asef3rkt4mk8icaygew4rcohjfmbqtzd X-Rspamd-Server: rspam01 X-HE-Tag: 1691363778-198341 X-HE-Meta: U2FsdGVkX18gGr8OQGrqvmOYKvHqknuKjli/LWhXGvf6EhhoDd4vOJ28/EQFvQtZNL/KCXfz6EXRx3FSNllibJp6qPiFLfbDSWcgHP10eD/+lcgt/dmCR/6Gu2fESmkQ6uFyZSr7Awn6qWA8i9Z36GwKzz+w1zqxPZYiJCDxUDNNinXZs8fILIsN+MtmzSrgppF5scFCz+DNOqLF/JgLESJOoJw6PU+XCTvnsCB7Hbd7t/7RYHqsgZebJnaTCZNM+5eYXPnGJDOSwjABpq80xlsNEtcvnQBLthfcNQzfF0YvbMpxrqk6APODrjzS2JLfLK5KiMF5UhcALnj7clD3ZZVNCgtM76sPjwrayL0fiqvzkByPurRggXhcQEyrLR5Z1Z6JGoWFe9PP+CpNRKOpYkGlZJ2plx+8ueamn1/Wp3+tfZsOuin6PYHQZbNtEqVTHEz/eFb9MLPkgfGc/4KibyO3/+q/6+oO/F+cyFtrOGSHb0n5Pp3AT4CaWAIWTc4aJhCLD0r4e9AMlRgTW9HrgBFLKjIKhF+MMGwGXxHu0Exny5P4kDXvXA1o1EuYHiFrZ61ZRsZAAbmoFF4i/bEoSq9ty8fvKztyRqobPnDO7HuJzZNtYruEc9tLBWNkrzeMoO/175p5kLnoSIl3D4YBeRIPduE+5eVxCkquwhfnO/mvk8AKma9q0VrzQ3ZhYqAo1995ODzRZqU6VvqnpezZVA8w48lra9VfQVkbIdjr//sQwB2ztnDGf98jhFaZn4u+4FVSXsEO+w8xkB9555DYXjI2ozx/5/DRnKjWniNa23Cw5D5yvoD2vpZ0JWVD2zhe3PwiMcnWdBSdUTD/Mic58KC8DBKun3d9nTEriyTK8eCZdLcagah6k8OxCoKyRCM7tVlmkzdCAxyCFlBT80J94AXUaIm0Wazz8KiPrT1hgTkR3OK2ligMts8hBTFD2JwVM1YB/qLz2IhZiIanIUs Ih/Pdc30 LbFIF5mfvARNIZovYh6QcIzfh90X2zHu9OsSDIS5ZdTQf4ES0Qlr5UmC8Ry7qJkwIEhceBQxTjml9bJYxSqlkbmB13oMfMPL0BulMIuaQCaljimWn17QierUvpJzwY3hAHBjg1SV/5/Hiu+ajhKxbBLBoStbxUdrKB6zR2fmox9X3zMTbJ+Lg5oQXMQ0MCd3MpA6CulCdZ8pVyLbxyN5kL5soeXr+HOHM9ujsnsWsvoJLGsCV4AS/DXAQv8ipV8wGnIBUI1Z1lzCQ68xLyxoy8sjMqYSuQBqg/KY6ymxa755nytLt2/jqA7m5+Q/l1J2KbXr/ZV19YOMHdbzUx7kB7hqCzlWo2kUWpHRAP8Ib6su+nKvCkUum7jjkm7l6HelUGi/4Ly6QwQz8lY3UhEQzRK5P444Nb64dJIzOOgveFb442hh6e/TvA+ykmJV8fIYSbGSjxR35Wz31IWNrYYB3St77oxd89WUeuDyCleXt9D0zBVc= 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: 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_. [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