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 1FD65EB64DD for ; Fri, 16 Jun 2023 20:19:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 951A68E0005; Fri, 16 Jun 2023 16:19:06 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 901C08E0001; Fri, 16 Jun 2023 16:19:06 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7F1828E0005; Fri, 16 Jun 2023 16:19:06 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 7110E8E0001 for ; Fri, 16 Jun 2023 16:19:06 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 3A9CF8012A for ; Fri, 16 Jun 2023 20:19:06 +0000 (UTC) X-FDA: 80909725092.24.95C26E5 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf08.hostedemail.com (Postfix) with ESMTP id 365F916001E for ; Fri, 16 Jun 2023 20:19:03 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=UDI57R+A; spf=pass (imf08.hostedemail.com: domain of song@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=song@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686946744; 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=mPk+YmdkjAXT446J9wCNsj4Bx0z9i9STp2EZDzxbvBY=; b=54N3N6puel/3XfhADuqvXXZidWwZsmFWilXaDaufJV0RxUXrSjGI3gh9CUYatk77k9uFLk f4Xfihog2x6MMFRY41r5YNJxOctATDZ/7EbWKmBPJIH5ltL9fJQ0gCPLKZ0TuuopxWUsCI 1AaSEiIqtWm6LQLOrBLk7zNmUXgGP7A= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=UDI57R+A; spf=pass (imf08.hostedemail.com: domain of song@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=song@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686946744; a=rsa-sha256; cv=none; b=8JHG8g6Y4gfXp0M/MZ0mmeI+p+qSUAhDw0Ifo7zYDXVWSHNfL3Ip7GqLWxew7uHNAYcASP svFVuAjfgkpXFSxD1FNwfkGoUMTdqOQJCaqqqoNTdB4L2ui7yw20p6kYKQxB0u1IHPVSDY 8KkSFJfp2rC+hrftiv9AQPKdW1ZCkII= 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 72C3163F28 for ; Fri, 16 Jun 2023 20:19:03 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4E2D3C433AB for ; Fri, 16 Jun 2023 20:19:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1686946742; bh=2gFsvIXhZCi6KoizK2mVR8ubH1d6zKHpuStaPaewE2c=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=UDI57R+Ac8F87HdvmrIejvjCHM49LTC4REb6jwcTgaWly1GGKsFbDi3ghmDp0sH5F dyADcSB+eIU3pbcZs4WY9WOy0Qfue9ZKueQFrHo6+fN0pFBb6x0I9BFxnKIQnZ0f6m zoeRxS58zso8o8K5cKrj75Ci+DjJ2i0NK5f/ruazAus2+TOpX2RWJhZX7p+ZAwMaoZ 7/IjfjgHld/4MT6CtRzHW+8wrzT/BS827SmRNHxio26g9lEtfuPfj6kxYVksHyp6iy q4wBjLvMwutEo9bQbQ0iSwXG+SX0mZCYXiK84cI+EMmphh55ZOB3JRt4P0s1ApMmst 2YeyFD5vvx/Xg== Received: by mail-lf1-f49.google.com with SMTP id 2adb3069b0e04-4f7677a94d1so1610743e87.0 for ; Fri, 16 Jun 2023 13:19:02 -0700 (PDT) X-Gm-Message-State: AC+VfDz7d3hfXpq5pD/0PTkANrZRO2nD4IYYiljS3SrQlbl1aWmgZzvz Vhd0P+rnLQ+wkm6eH59NPJqVf3lIsfo18QXd//Q= X-Google-Smtp-Source: ACHHUZ4xCjWLdj6bUZgrYEqyfT0+mWbIpLp7dl+h+OA2H/SetbsgMpyruMyrfqh6ldv/ey70g6BKmUQ4Jmh+AiNCLf0= X-Received: by 2002:a19:5e02:0:b0:4f7:69b9:fa07 with SMTP id s2-20020a195e02000000b004f769b9fa07mr2191315lfb.45.1686946740318; Fri, 16 Jun 2023 13:19:00 -0700 (PDT) MIME-Version: 1.0 References: <20230616085038.4121892-1-rppt@kernel.org> <20230616085038.4121892-12-rppt@kernel.org> In-Reply-To: <20230616085038.4121892-12-rppt@kernel.org> From: Song Liu Date: Fri, 16 Jun 2023 13:18:48 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v2 11/12] x86/ftrace: enable dynamic ftrace without CONFIG_MODULES 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-Rspamd-Queue-Id: 365F916001E X-Rspam-User: X-Stat-Signature: hzaw11pca7agpdj1h71upos9dmujf14s X-Rspamd-Server: rspam01 X-HE-Tag: 1686946743-427503 X-HE-Meta: U2FsdGVkX1+BkOetvjaz0bqnXpb1Hfp/fikqTL4vBw9+NdP+WgTWp1AKggnZ35P2c+9aJuQIpMfA6LrlOQdwxHOiQMzwwzLV+tF8a0z5GfLGbPkBpgULBG8TJehAHmMyLJT8hf51832LewLh5mDkojpxX4WGOeQuTM2wWZI+chXcAT5g1ouKWgEdlN6HA2ezXOeYmWYgP/jT1aTQxj83uUvwQPdz8XWaa8vlw9uJWFZIn0sBaQIEsJ8Odec/bCbl4AzpJRhsJno/H8PfODFKGD84fjoFpUCBWMn7WBVt+uPibh7XE7mY9YIP8oCQJzc76mKnHfzpP+SpcAOSM86OmHTyP2f+OkLYW8SEALT4KaVj1bbpUqTLDUSOS0wJ0Ci0qb6LSe9/LUKCsLi6tYN2HCiMzgMlxL2pK+Uc1sqCxhAqaZjZjkNpz7Y59JV2vp8MhIQigtTk6p1T/V2v1KTFbh+VbVLA7NPozhcn1WOx8sv9ShfyLOe1mYmipgC1YvAxbQCiW6AbJ4XGLJ3tvH8V1fCDu/nG3+FULbMWpEDl1WyPni9e8sylYlHve2Hh8AWO+KXgdN3+l6pB0gjksczp9BeVCQKdaDfRxewO1C5YWFuqR6HQXNnyLjVT7tWAjAGKRYcmEu4E7Upw7c13LAvSFjiBr4nOdOb393EOAqQ+qnt4WWLcPFVAiQyC474IB25f+5J+ZRnjWRHpC/xL2Lgqr8f+A8wgpJcwZ9LnWMY3IkB+hKWmBcnlMUvuzELWgzNJEmM4HAjeusmG0QFCM5mT6O5GC1n357L87lqnTmdRcTvBRG/7WOCk/khk3Xc4htOSrzeSnyHu8D+gH/geX02jB9EQW5zwA2TAjrhQwCTlb30uyc37rFE4THNvuC8mHnMq9mManaSTKM6El+QsZ1fnJZ16NmVBo/3t4AhSULzsLCgeVzaR6+Z4PUM0cH3bvuaOShnH0gROkBqn0mJ33hi JfAIMhIH oPg/k2j6M8Dm+qZ8UWgtD5YFNmwnzTCTp9ECybVWoPDiZQQszNOtL3unYehWY/2CIOmQCqPL6w+iqyAmcuxsK/+hglMpFnMPaPWGc/oDs352bKXtDOWJfhq8QGPJq9fsQFGwhOqg5eusvr3doS+hSIgxlUPjYiDi2J0z6VFeFWvqga9MM3vkHgshcSWMvg3gxPwzwQY9MHYxEkAopm0V57lkiEatWBrvigZg6lOi4X+b7gCwheuaPmXlmj8CubXeMDNgEtJ2DHsbviFdcV43vfgO3sBg5RYjr/teoAT5s5LtJfvdkaKr1kfDb0Uj5bbDADH2BYiLdRbjr5fDnJ52t9gn5yRj0BO9/tL3K/mpqLxktgDHcT1VZlpHWfZnNqeJADqZjuHro/kbqbYmPnFMKaYZWM6XekDjWQCBuraKtq9CzsC7qa+ChRSrGaOC8457WJUR87LvA9CEydudPeJXf/mGElZLuQ0iGIDC5dDf4hhyaZn5BMLvBWRPclA== 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:52=E2=80=AFAM Mike Rapoport wro= te: > > From: "Mike Rapoport (IBM)" > > Dynamic ftrace must allocate memory for code and this was impossible > without CONFIG_MODULES. > > With execmem separated from the modules code, execmem_text_alloc() is > available regardless of CONFIG_MODULES. > > Remove dependency of dynamic ftrace on CONFIG_MODULES and make > CONFIG_DYNAMIC_FTRACE select CONFIG_EXECMEM in Kconfig. > > Signed-off-by: Mike Rapoport (IBM) Acked-by: Song Liu > --- > arch/x86/Kconfig | 1 + > arch/x86/kernel/ftrace.c | 10 ---------- > 2 files changed, 1 insertion(+), 10 deletions(-) > > diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig > index 53bab123a8ee..ab64bbef9e50 100644 > --- a/arch/x86/Kconfig > +++ b/arch/x86/Kconfig > @@ -35,6 +35,7 @@ config X86_64 > select SWIOTLB > select ARCH_HAS_ELFCORE_COMPAT > select ZONE_DMA32 > + select EXECMEM if DYNAMIC_FTRACE > > config FORCE_DYNAMIC_FTRACE > def_bool y > diff --git a/arch/x86/kernel/ftrace.c b/arch/x86/kernel/ftrace.c > index f77c63bb3203..a824a5d3b129 100644 > --- a/arch/x86/kernel/ftrace.c > +++ b/arch/x86/kernel/ftrace.c > @@ -261,8 +261,6 @@ void arch_ftrace_update_code(int command) > /* Currently only x86_64 supports dynamic trampolines */ > #ifdef CONFIG_X86_64 > > -#ifdef CONFIG_MODULES > -/* Module allocation simplifies allocating memory for code */ > static inline void *alloc_tramp(unsigned long size) > { > return execmem_text_alloc(size); > @@ -271,14 +269,6 @@ static inline void tramp_free(void *tramp) > { > execmem_free(tramp); > } > -#else > -/* Trampolines can only be created if modules are supported */ > -static inline void *alloc_tramp(unsigned long size) > -{ > - return NULL; > -} > -static inline void tramp_free(void *tramp) { } > -#endif > > /* Defined as markers to the end of the ftrace default trampolines */ > extern void ftrace_regs_caller_end(void); > -- > 2.35.1 >