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 EDE9EC0015E for ; Fri, 16 Jun 2023 18:36:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3D1A28E0001; Fri, 16 Jun 2023 14:36:51 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 383216B0075; Fri, 16 Jun 2023 14:36:51 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 249A08E0001; Fri, 16 Jun 2023 14:36:51 -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 13EC76B0074 for ; Fri, 16 Jun 2023 14:36:51 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id C748C8016E for ; Fri, 16 Jun 2023 18:36:50 +0000 (UTC) X-FDA: 80909467380.25.299F314 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf27.hostedemail.com (Postfix) with ESMTP id CA1A74000A for ; Fri, 16 Jun 2023 18:36:48 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b="SeXeGZ/w"; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf27.hostedemail.com: domain of song@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=song@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686940608; a=rsa-sha256; cv=none; b=wt/E8HkIuuxTPOhBPtQTYrrP3ODgM00RvaJpEKGYmO+iVlAHqydLcoalr8jf//MA28ubCX Ohe8v0JUIcvxY0m/CFLU996CbKfoYoEICojJCdkN4rq0zzDeYVmLWKBMqqTMBTRLa2yhCC Ye+p4tQbm+xW+ZGB7+/X8Bj4FFkrgz0= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b="SeXeGZ/w"; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf27.hostedemail.com: domain of song@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=song@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686940608; 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=JGylOLwsDlnOC/7zFFXP8rSDvCyOTlCYNV6rWd4f8mw=; b=wJagJyWEYcS0sLmpF5EmN4lNZZK3tGUext4y2alFAHWUGepkr23oWY8YePoMutDrGss9i5 /jWkVUWynw7laatVbxfj8sq+dC8VdahaWLlpxdi4IvlIQIHherN7w0yiKHsEtvCN+D+CNA /7CpFMakuDzgBp8xtVsjrUXI4LXm5UA= Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id D7F856355B for ; Fri, 16 Jun 2023 18:36:47 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id ACADDC43391 for ; Fri, 16 Jun 2023 18:36:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1686940606; bh=JGylOLwsDlnOC/7zFFXP8rSDvCyOTlCYNV6rWd4f8mw=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=SeXeGZ/w86KmlurMiVm4UIF69ZGzlkmxJdFe2QmV6PX8IW+hDhUbuFBav3t/B8pWZ vEzDIgk/zKEW5stVwEtyb8WYKsD74Cn5N7O03rsyRz3LX2xGotPEbMmsM7IV3g9Dxd h5Uh6GrvB3LrnxzUUDOGdAi+YQl7sfLX58PmPPi1I/7ju04tDqO1xvj3P1oQrQvlEn mq1rf5Tcp0oheWCmaw6RaW+tUKVhYkG7a6qCHK2MLKMhdZ/TjBbzmfPfgUfEdkhdA/ QK30NJOharxczGBPm79t0v2LgrZqJ5TBlW/fXRzSrlgo6PvG8f6QCwr2oWnE+7+dKS y4wFdRFTvaw9Q== Received: by mail-lf1-f46.google.com with SMTP id 2adb3069b0e04-4f84d70bf96so1327931e87.0 for ; Fri, 16 Jun 2023 11:36:46 -0700 (PDT) X-Gm-Message-State: AC+VfDxIoobaWzrCzcqFM78IDGVTe9+/wtulV/rwxzKUJbQ/Ngjml0CF OBQs+Pw6nkfuy0+TzRTp7tAnK7b9Xsxii2DO99o= X-Google-Smtp-Source: ACHHUZ7VgWfSxd734IfkdiKrgB+GJm0nBxE0sk2dQ8TAn5f7aSo4Y23dXvE8MnzKke3G84UjJ1bhxQV9PGC+v71U+NE= X-Received: by 2002:a19:7913:0:b0:4f3:aa81:2a6e with SMTP id u19-20020a197913000000b004f3aa812a6emr797084lfc.19.1686940604495; Fri, 16 Jun 2023 11:36:44 -0700 (PDT) MIME-Version: 1.0 References: <20230616085038.4121892-1-rppt@kernel.org> <20230616085038.4121892-4-rppt@kernel.org> In-Reply-To: <20230616085038.4121892-4-rppt@kernel.org> From: Song Liu Date: Fri, 16 Jun 2023 11:36:32 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v2 03/12] mm/execmem, arch: convert simple overrides of module_alloc to execmem To: Mike Rapoport Cc: linux-kernel@vger.kernel.org, Andrew Morton , Catalin Marinas , Christophe Leroy , "David S. Miller" , Dinh Nguyen , Heiko Carstens , Helge Deller , Huacai Chen , Kent Overstreet , Luis Chamberlain , Mark Rutland , Michael Ellerman , Nadav Amit , "Naveen N. Rao" , Palmer Dabbelt , Puranjay Mohan , Rick Edgecombe , Russell King , Steven Rostedt , Thomas Bogendoerfer , Thomas Gleixner , Will Deacon , bpf@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org, linux-mm@kvack.org, linux-modules@vger.kernel.org, linux-parisc@vger.kernel.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-trace-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, loongarch@lists.linux.dev, netdev@vger.kernel.org, sparclinux@vger.kernel.org, x86@kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: CA1A74000A X-Stat-Signature: 58xdxg1dtcha8wms9ykbujmrwe6qk5z7 X-HE-Tag: 1686940608-706530 X-HE-Meta: U2FsdGVkX19VQA87nV6lTdsHUGIxWbb5/suBHYIULRdHeOrybVswTyFwUoSCffaCS1wO6QdRUJXl9HoCIDC1IfwkNSKnkm7FTajoIE07FYVEHTJcu0G7bKvdoXUDzbzqSC45dIHnM39aUe7VDPQKtWTlQYlkTxDifBXUBEpXWNaaUEWN3IpDcIZYqy5HeAZqx5qqnCVkBtrz0ogzBq05zULgvGpwfDBilJdRQA82ubpAUuNTthdd0Ff0Yet++Ona3yZSKHpOtIRG0tUZPwYbLO4XK5efsOfLRASO8cuVsuhoaks120DSueXiiH9S7bqyl1kXftosFk91qt6pVt274Izs/hc+wae13mSyhtGtrvFBu80Zt5UVHYEnQm3OHITg/WT9vRsYt3+y4LurBS1ssCoqk60kBfBjyci3IPQXakoo4umEdSawfoPwJYMWIRXiEcHoOPjh2zdk7dAKVlJJdqIpdwoUBeh7JCWyy2k5PFDFK89CZMfnlHTVZjBWHy6epFGTL44kBHsTDJdXU3Sz0kkK2wleO9clPalZ5QLfJzDYcIDdmgdz2zVZXhjFMeIc0VPc66n4nNR7jLfUPEq8kGy3fLPPlUqPDgzpJR2pIQPKVx87u42/6sdj/UHdEPwYSsPyn/8gcUCCIyKBZEddTD1bUXvSoBfCgZkarsW8dQnh7lE6PDMrR/BvSKW2aoESrIKH6arJsJjC8ZENSFSqPQmsOqEzUpOlYOcRwFGY60hFGtsm2fomFdfn78uDcDmX+qmyhwi52MBLDpGyJa19Sa0530ynPtyaKzWM4LKzbmj5tZJWHVk70DNMRY93Qmp9+PLA6O7Qv4RwVyHWawd4OLi2/Q0UB387bb0wYRic4H3YpomEsCem12JRh/bAwF4dZVZPtqpwZib2XEXtTwPAG03vfhJqivkhU5yLHCqnH6GBQ6/s0CxeD2JpkVGC+SipuxbPGbu6QvDlxNkjY69 p16xV2KA aHydnPJOYJwYaw4upsmNy2WXQRatLwKb6x3by+Zf8DZaNgswrHjvf1qjdkZr5vXqJNa9ksLQwUmPvw+Y6nDCl2Icr/5QZ5qP6wyf+GnkBgwpUKB6JVVnqq0qigKwZ2T1/czL2A4uBuvXu8XeWVs4GLSVAJwBgguwh1/9v3uhvKSRKMAAAPz4NE9ZQqZaKLaRrybfehXXUPdYKcYPVRm35QhYWX7lcK4QH3n5Y5vX8e8TQGm1TIhkObCZ2QTMViPcTkia1TFDuS3AaV++D9CUD+JLjjxQSKEa2TGMVj24JqNN+bqC6nivgoO2GxqdBZEW03ZPyMyfJXJg9Wi5NLu7tGlQ8Wq8vfbMgdRSwgPK41lqCBM1bJvq0GlngQLJBbLu/UO4BNFedgMh9oB+vkXSQl93vgX315GjEQQG/HKUPAOYhsaeNjiXeT4qknQBK5EoP5Ou9BnSmRoyUbu/SvKlNVuTyunWUQDgC8BGe2iYmXKH5/RE= 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 Fri, Jun 16, 2023 at 1:51=E2=80=AFAM Mike Rapoport wro= te: > > From: "Mike Rapoport (IBM)" > > Several architectures override module_alloc() only to define address > range for code allocations different than VMALLOC address space. > > Provide a generic implementation in execmem that uses the parameters > for address space ranges, required alignment and page protections > provided by architectures. > > The architecures must fill execmem_params structure and implement > execmem_arch_params() that returns a pointer to that structure. This > way the execmem initialization won't be called from every architecure, > but rather from a central place, namely initialization of the core > memory management. > > The execmem provides execmem_text_alloc() API that wraps > __vmalloc_node_range() with the parameters defined by the architecures. > If an architeture does not implement execmem_arch_params(), > execmem_text_alloc() will fall back to module_alloc(). > > The name execmem_text_alloc() emphasizes that the allocated memory is > for executable code, the allocations of the associated data, like data > sections of a module will use execmem_data_alloc() interface that will > be added later. > > Signed-off-by: Mike Rapoport (IBM) Acked-by: Song Liu