From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E8AA02906; Tue, 26 Sep 2023 08:05:24 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id DEB07C433C7; Tue, 26 Sep 2023 08:05:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1695715524; bh=+Amk36a0CBOiKu5+FtjGQvFX395/lzfG991XVrUkCKk=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=RLx2TLWKtN7VAMAOy6Z+yt+5L2H3WvCxgk6fo3xEAFTVDZv0mPqQm9oryMdet+1qZ obrB5TY2nE/qbUSfaI1uId3y2yRK2qnxEYYQpqf8IMXRqLpaWcyp6r1h8W5YGqDDxg /Ipk9rb4CjRrT7bowSHMduOUAEuaFMTD7nXxu83iUI+O1xmmOj2PJsMoiGARKNDMsM m8lXDTJPRNGVXjXTr34wm+BzlG4p+UzrUM7cd5TVxTprWIBaR+mK3IXevwTFE0yWC2 SIHL7mRKLFjL2iR5rLVY4OdrYFjdV9kMecllhx3OCPX+UXN+tAGab3AHw/soEZdxZb tvxNd43ZGN+BA== Date: Tue, 26 Sep 2023 11:04:22 +0300 From: Mike Rapoport To: Song Liu Cc: linux-kernel@vger.kernel.org, Andrew Morton , =?iso-8859-1?Q?Bj=F6rn_T=F6pel?= , 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 Subject: Re: [PATCH v3 02/13] mm: introduce execmem_text_alloc() and execmem_free() Message-ID: <20230926080422.GP3303@kernel.org> References: <20230918072955.2507221-1-rppt@kernel.org> <20230918072955.2507221-3-rppt@kernel.org> <20230923153808.GI3303@kernel.org> Precedence: bulk X-Mailing-List: bpf@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: On Sat, Sep 23, 2023 at 03:36:01PM -0700, Song Liu wrote: > On Sat, Sep 23, 2023 at 8:39 AM Mike Rapoport wrote: > > > > On Thu, Sep 21, 2023 at 03:34:18PM -0700, Song Liu wrote: > > > On Mon, Sep 18, 2023 at 12:30 AM Mike Rapoport wrote: > > > > > > > > > > [...] > > > > > > > diff --git a/arch/s390/kernel/module.c b/arch/s390/kernel/module.c > > > > index 42215f9404af..db5561d0c233 100644 > > > > --- a/arch/s390/kernel/module.c > > > > +++ b/arch/s390/kernel/module.c > > > > @@ -21,6 +21,7 @@ > > > > #include > > > > #include > > > > #include > > > > +#include > > > > #include > > > > #include > > > > #include > > > > @@ -76,7 +77,7 @@ void *module_alloc(unsigned long size) > > > > #ifdef CONFIG_FUNCTION_TRACER > > > > void module_arch_cleanup(struct module *mod) > > > > { > > > > - module_memfree(mod->arch.trampolines_start); > > > > + execmem_free(mod->arch.trampolines_start); > > > > } > > > > #endif > > > > > > > > @@ -510,7 +511,7 @@ static int module_alloc_ftrace_hotpatch_trampolines(struct module *me, > > > > > > > > size = FTRACE_HOTPATCH_TRAMPOLINES_SIZE(s->sh_size); > > > > numpages = DIV_ROUND_UP(size, PAGE_SIZE); > > > > - start = module_alloc(numpages * PAGE_SIZE); > > > > + start = execmem_text_alloc(EXECMEM_FTRACE, numpages * PAGE_SIZE); > > > > > > This should be EXECMEM_MODULE_TEXT? > > > > This is an ftrace trampoline, so I think it should be FTRACE type of > > allocation. > > Yeah, I was aware of the ftrace trampoline. My point was, ftrace trampoline > doesn't seem to have any special requirements. Therefore, it is probably not > necessary to have a separate type just for it. Since ftrace trampolines are currently used only on s390 and x86 which enforce the same range for all executable allocations there are no special requirements indeed. But I think that explicitly marking these allocations as FTRACE makes it clearer what are they used for and I don't see downsides to having a type for FTRACE. > AFAICT, kprobe, ftrace, and BPF (JIT and trampoline) can share the same > execmem_type. We may need some work for some archs, but nothing is > fundamentally different among these. Using the same type for all generated code implies that all types of the generated code must live in the same range and I don't think we want to impose this limitation on architectures. For example, RISC-V deliberately added a range for BPF code to allow relative addressing, see commit 7f3631e88ee6 ("riscv, bpf: Provide RISC-V specific JIT image alloc/free"). > Thanks, > Song -- Sincerely yours, Mike. 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 8B99CE7D24B for ; Tue, 26 Sep 2023 08:05:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=Loq/h9Qd8RyqwEFD76iJhhwLAMAvo3A+9KxgOk4J50s=; b=P35vUWiihybOAL /+BOyqE/6OQUJtIoEPZScPdzwWDzmMJkr1AxhZdO5mBO/03ZljvF3lmu9XmaiV6BNtpBzfWVawCHm bHfLJDrSwS7DdW824CCrFrg4yXmdnbelmLBQBJox6ZWwnwZnfa4Oo8HSZbsWp6Acgi0cvTSZn8DWz 3KWE/XSGLbtsSHbQYKml4H72SoHz8soWUSb/wEyFO1WrDj3AWjoBNN1MPELoz5jn1+gRZcYyTgbbA cOaHrQoaxSVxPIClbXTbZEegTR1fHcUJM69RkyTTtVhN6Ths8YmmnzyTZ5nEKRzyS6+qgy3esVLym rLGrKEgbeTEiPH0oBUFA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1ql34X-00FqLy-0F; Tue, 26 Sep 2023 08:05:33 +0000 Received: from sin.source.kernel.org ([2604:1380:40e1:4800::1]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1ql34R-00FqHw-2w; Tue, 26 Sep 2023 08:05:30 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id 2B0B9CE12BF; Tue, 26 Sep 2023 08:05:25 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id DEB07C433C7; Tue, 26 Sep 2023 08:05:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1695715524; bh=+Amk36a0CBOiKu5+FtjGQvFX395/lzfG991XVrUkCKk=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=RLx2TLWKtN7VAMAOy6Z+yt+5L2H3WvCxgk6fo3xEAFTVDZv0mPqQm9oryMdet+1qZ obrB5TY2nE/qbUSfaI1uId3y2yRK2qnxEYYQpqf8IMXRqLpaWcyp6r1h8W5YGqDDxg /Ipk9rb4CjRrT7bowSHMduOUAEuaFMTD7nXxu83iUI+O1xmmOj2PJsMoiGARKNDMsM m8lXDTJPRNGVXjXTr34wm+BzlG4p+UzrUM7cd5TVxTprWIBaR+mK3IXevwTFE0yWC2 SIHL7mRKLFjL2iR5rLVY4OdrYFjdV9kMecllhx3OCPX+UXN+tAGab3AHw/soEZdxZb tvxNd43ZGN+BA== Date: Tue, 26 Sep 2023 11:04:22 +0300 From: Mike Rapoport To: Song Liu Cc: linux-kernel@vger.kernel.org, Andrew Morton , =?iso-8859-1?Q?Bj=F6rn_T=F6pel?= , 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 Subject: Re: [PATCH v3 02/13] mm: introduce execmem_text_alloc() and execmem_free() Message-ID: <20230926080422.GP3303@kernel.org> References: <20230918072955.2507221-1-rppt@kernel.org> <20230918072955.2507221-3-rppt@kernel.org> <20230923153808.GI3303@kernel.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230926_010528_391180_8C75E231 X-CRM114-Status: GOOD ( 26.21 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org T24gU2F0LCBTZXAgMjMsIDIwMjMgYXQgMDM6MzY6MDFQTSAtMDcwMCwgU29uZyBMaXUgd3JvdGU6 Cj4gT24gU2F0LCBTZXAgMjMsIDIwMjMgYXQgODozOeKAr0FNIE1pa2UgUmFwb3BvcnQgPHJwcHRA a2VybmVsLm9yZz4gd3JvdGU6Cj4gPgo+ID4gT24gVGh1LCBTZXAgMjEsIDIwMjMgYXQgMDM6MzQ6 MThQTSAtMDcwMCwgU29uZyBMaXUgd3JvdGU6Cj4gPiA+IE9uIE1vbiwgU2VwIDE4LCAyMDIzIGF0 IDEyOjMw4oCvQU0gTWlrZSBSYXBvcG9ydCA8cnBwdEBrZXJuZWwub3JnPiB3cm90ZToKPiA+ID4g Pgo+ID4gPgo+ID4gPiBbLi4uXQo+ID4gPgo+ID4gPiA+IGRpZmYgLS1naXQgYS9hcmNoL3MzOTAv a2VybmVsL21vZHVsZS5jIGIvYXJjaC9zMzkwL2tlcm5lbC9tb2R1bGUuYwo+ID4gPiA+IGluZGV4 IDQyMjE1Zjk0MDRhZi4uZGI1NTYxZDBjMjMzIDEwMDY0NAo+ID4gPiA+IC0tLSBhL2FyY2gvczM5 MC9rZXJuZWwvbW9kdWxlLmMKPiA+ID4gPiArKysgYi9hcmNoL3MzOTAva2VybmVsL21vZHVsZS5j Cj4gPiA+ID4gQEAgLTIxLDYgKzIxLDcgQEAKPiA+ID4gPiAgI2luY2x1ZGUgPGxpbnV4L21vZHVs ZWxvYWRlci5oPgo+ID4gPiA+ICAjaW5jbHVkZSA8bGludXgvYnVnLmg+Cj4gPiA+ID4gICNpbmNs dWRlIDxsaW51eC9tZW1vcnkuaD4KPiA+ID4gPiArI2luY2x1ZGUgPGxpbnV4L2V4ZWNtZW0uaD4K PiA+ID4gPiAgI2luY2x1ZGUgPGFzbS9hbHRlcm5hdGl2ZS5oPgo+ID4gPiA+ICAjaW5jbHVkZSA8 YXNtL25vc3BlYy1icmFuY2guaD4KPiA+ID4gPiAgI2luY2x1ZGUgPGFzbS9mYWNpbGl0eS5oPgo+ ID4gPiA+IEBAIC03Niw3ICs3Nyw3IEBAIHZvaWQgKm1vZHVsZV9hbGxvYyh1bnNpZ25lZCBsb25n IHNpemUpCj4gPiA+ID4gICNpZmRlZiBDT05GSUdfRlVOQ1RJT05fVFJBQ0VSCj4gPiA+ID4gIHZv aWQgbW9kdWxlX2FyY2hfY2xlYW51cChzdHJ1Y3QgbW9kdWxlICptb2QpCj4gPiA+ID4gIHsKPiA+ ID4gPiAtICAgICAgIG1vZHVsZV9tZW1mcmVlKG1vZC0+YXJjaC50cmFtcG9saW5lc19zdGFydCk7 Cj4gPiA+ID4gKyAgICAgICBleGVjbWVtX2ZyZWUobW9kLT5hcmNoLnRyYW1wb2xpbmVzX3N0YXJ0 KTsKPiA+ID4gPiAgfQo+ID4gPiA+ICAjZW5kaWYKPiA+ID4gPgo+ID4gPiA+IEBAIC01MTAsNyAr NTExLDcgQEAgc3RhdGljIGludCBtb2R1bGVfYWxsb2NfZnRyYWNlX2hvdHBhdGNoX3RyYW1wb2xp bmVzKHN0cnVjdCBtb2R1bGUgKm1lLAo+ID4gPiA+Cj4gPiA+ID4gICAgICAgICBzaXplID0gRlRS QUNFX0hPVFBBVENIX1RSQU1QT0xJTkVTX1NJWkUocy0+c2hfc2l6ZSk7Cj4gPiA+ID4gICAgICAg ICBudW1wYWdlcyA9IERJVl9ST1VORF9VUChzaXplLCBQQUdFX1NJWkUpOwo+ID4gPiA+IC0gICAg ICAgc3RhcnQgPSBtb2R1bGVfYWxsb2MobnVtcGFnZXMgKiBQQUdFX1NJWkUpOwo+ID4gPiA+ICsg ICAgICAgc3RhcnQgPSBleGVjbWVtX3RleHRfYWxsb2MoRVhFQ01FTV9GVFJBQ0UsIG51bXBhZ2Vz ICogUEFHRV9TSVpFKTsKPiA+ID4KPiA+ID4gVGhpcyBzaG91bGQgYmUgRVhFQ01FTV9NT0RVTEVf VEVYVD8KPiA+Cj4gPiBUaGlzIGlzIGFuIGZ0cmFjZSB0cmFtcG9saW5lLCBzbyBJIHRoaW5rIGl0 IHNob3VsZCBiZSBGVFJBQ0UgdHlwZSBvZgo+ID4gYWxsb2NhdGlvbi4KPiAKPiBZZWFoLCBJIHdh cyBhd2FyZSBvZiB0aGUgZnRyYWNlIHRyYW1wb2xpbmUuIE15IHBvaW50IHdhcywgZnRyYWNlIHRy YW1wb2xpbmUKPiBkb2Vzbid0IHNlZW0gdG8gaGF2ZSBhbnkgc3BlY2lhbCByZXF1aXJlbWVudHMu IFRoZXJlZm9yZSwgaXQgaXMgcHJvYmFibHkgbm90Cj4gbmVjZXNzYXJ5IHRvIGhhdmUgYSBzZXBh cmF0ZSB0eXBlIGp1c3QgZm9yIGl0LgoKU2luY2UgZnRyYWNlIHRyYW1wb2xpbmVzIGFyZSBjdXJy ZW50bHkgdXNlZCBvbmx5IG9uIHMzOTAgYW5kIHg4NiB3aGljaAplbmZvcmNlIHRoZSBzYW1lIHJh bmdlIGZvciBhbGwgZXhlY3V0YWJsZSBhbGxvY2F0aW9ucyB0aGVyZSBhcmUgbm8gc3BlY2lhbApy ZXF1aXJlbWVudHMgaW5kZWVkLiBCdXQgSSB0aGluayB0aGF0IGV4cGxpY2l0bHkgbWFya2luZyB0 aGVzZSBhbGxvY2F0aW9ucwphcyBGVFJBQ0UgbWFrZXMgaXQgY2xlYXJlciB3aGF0IGFyZSB0aGV5 IHVzZWQgZm9yIGFuZCBJIGRvbid0IHNlZSBkb3duc2lkZXMKdG8gaGF2aW5nIGEgdHlwZSBmb3Ig RlRSQUNFLgogCj4gQUZBSUNULCBrcHJvYmUsIGZ0cmFjZSwgYW5kIEJQRiAoSklUIGFuZCB0cmFt cG9saW5lKSBjYW4gc2hhcmUgdGhlIHNhbWUKPiBleGVjbWVtX3R5cGUuIFdlIG1heSBuZWVkIHNv bWUgd29yayBmb3Igc29tZSBhcmNocywgYnV0IG5vdGhpbmcgaXMKPiBmdW5kYW1lbnRhbGx5IGRp ZmZlcmVudCBhbW9uZyB0aGVzZS4KClVzaW5nIHRoZSBzYW1lIHR5cGUgZm9yIGFsbCBnZW5lcmF0 ZWQgY29kZSBpbXBsaWVzIHRoYXQgYWxsIHR5cGVzIG9mIHRoZQpnZW5lcmF0ZWQgY29kZSBtdXN0 IGxpdmUgaW4gdGhlIHNhbWUgcmFuZ2UgYW5kIEkgZG9uJ3QgdGhpbmsgd2Ugd2FudCB0bwppbXBv c2UgdGhpcyBsaW1pdGF0aW9uIG9uIGFyY2hpdGVjdHVyZXMuCgpGb3IgZXhhbXBsZSwgUklTQy1W IGRlbGliZXJhdGVseSBhZGRlZCBhIHJhbmdlIGZvciBCUEYgY29kZSB0byBhbGxvdwpyZWxhdGl2 ZSBhZGRyZXNzaW5nLCBzZWUgY29tbWl0IDdmMzYzMWU4OGVlNiAoInJpc2N2LCBicGY6IFByb3Zp ZGUgUklTQy1WCnNwZWNpZmljIEpJVCBpbWFnZSBhbGxvYy9mcmVlIikuCiAKPiBUaGFua3MsCj4g U29uZwoKLS0gClNpbmNlcmVseSB5b3VycywKTWlrZS4KCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LXJpc2N2IG1haWxpbmcgbGlzdApsaW51eC1y aXNjdkBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxt YW4vbGlzdGluZm8vbGludXgtcmlzY3YK 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 lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 9F439E7D24B for ; Tue, 26 Sep 2023 08:06:20 +0000 (UTC) Authentication-Results: lists.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20201202 header.b=RLx2TLWK; dkim-atps=neutral Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4Rvskz0rTdz3cmB for ; Tue, 26 Sep 2023 18:06:19 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20201202 header.b=RLx2TLWK; dkim-atps=neutral Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=kernel.org (client-ip=2604:1380:40e1:4800::1; helo=sin.source.kernel.org; envelope-from=rppt@kernel.org; receiver=lists.ozlabs.org) Received: from sin.source.kernel.org (sin.source.kernel.org [IPv6:2604:1380:40e1:4800::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4Rvsk10v68z3ckl for ; Tue, 26 Sep 2023 18:05:29 +1000 (AEST) Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id 2B0B9CE12BF; Tue, 26 Sep 2023 08:05:25 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id DEB07C433C7; Tue, 26 Sep 2023 08:05:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1695715524; bh=+Amk36a0CBOiKu5+FtjGQvFX395/lzfG991XVrUkCKk=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=RLx2TLWKtN7VAMAOy6Z+yt+5L2H3WvCxgk6fo3xEAFTVDZv0mPqQm9oryMdet+1qZ obrB5TY2nE/qbUSfaI1uId3y2yRK2qnxEYYQpqf8IMXRqLpaWcyp6r1h8W5YGqDDxg /Ipk9rb4CjRrT7bowSHMduOUAEuaFMTD7nXxu83iUI+O1xmmOj2PJsMoiGARKNDMsM m8lXDTJPRNGVXjXTr34wm+BzlG4p+UzrUM7cd5TVxTprWIBaR+mK3IXevwTFE0yWC2 SIHL7mRKLFjL2iR5rLVY4OdrYFjdV9kMecllhx3OCPX+UXN+tAGab3AHw/soEZdxZb tvxNd43ZGN+BA== Date: Tue, 26 Sep 2023 11:04:22 +0300 From: Mike Rapoport To: Song Liu Subject: Re: [PATCH v3 02/13] mm: introduce execmem_text_alloc() and execmem_free() Message-ID: <20230926080422.GP3303@kernel.org> References: <20230918072955.2507221-1-rppt@kernel.org> <20230918072955.2507221-3-rppt@kernel.org> <20230923153808.GI3303@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , x86@kernel.org, Catalin Marinas , linux-mips@vger.kernel.org, linux-mm@kvack.org, Luis Chamberlain , sparclinux@vger.kernel.org, linux-riscv@lists.infradead.org, Nadav Amit , linux-s390@vger.kernel.org, Helge Deller , Huacai Chen , Russell King , "Naveen N. Rao" , linux-trace-kernel@vger.kernel.org, Will Deacon , Heiko Carstens , Steven Rostedt , loongarch@lists.linux.dev, Thomas Gleixner , bpf@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Thomas Bogendoerfer , linux-parisc@vger.kernel.org, Puranjay Mohan , netdev@vger.kernel.org, Kent Overstreet , linux-kernel@vger.kernel.org, Dinh Nguyen , =?iso-8859-1?Q?Bj=F6 rn_T=F6pel?= , Palmer Dabbelt , Andrew Morton , Rick Edgecombe , linuxppc-dev@lists.ozlabs.org, "David S. Miller" , linux-modules@vger.kernel.org Errors-To: linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Sender: "Linuxppc-dev" On Sat, Sep 23, 2023 at 03:36:01PM -0700, Song Liu wrote: > On Sat, Sep 23, 2023 at 8:39 AM Mike Rapoport wrote: > > > > On Thu, Sep 21, 2023 at 03:34:18PM -0700, Song Liu wrote: > > > On Mon, Sep 18, 2023 at 12:30 AM Mike Rapoport wrote: > > > > > > > > > > [...] > > > > > > > diff --git a/arch/s390/kernel/module.c b/arch/s390/kernel/module.c > > > > index 42215f9404af..db5561d0c233 100644 > > > > --- a/arch/s390/kernel/module.c > > > > +++ b/arch/s390/kernel/module.c > > > > @@ -21,6 +21,7 @@ > > > > #include > > > > #include > > > > #include > > > > +#include > > > > #include > > > > #include > > > > #include > > > > @@ -76,7 +77,7 @@ void *module_alloc(unsigned long size) > > > > #ifdef CONFIG_FUNCTION_TRACER > > > > void module_arch_cleanup(struct module *mod) > > > > { > > > > - module_memfree(mod->arch.trampolines_start); > > > > + execmem_free(mod->arch.trampolines_start); > > > > } > > > > #endif > > > > > > > > @@ -510,7 +511,7 @@ static int module_alloc_ftrace_hotpatch_trampolines(struct module *me, > > > > > > > > size = FTRACE_HOTPATCH_TRAMPOLINES_SIZE(s->sh_size); > > > > numpages = DIV_ROUND_UP(size, PAGE_SIZE); > > > > - start = module_alloc(numpages * PAGE_SIZE); > > > > + start = execmem_text_alloc(EXECMEM_FTRACE, numpages * PAGE_SIZE); > > > > > > This should be EXECMEM_MODULE_TEXT? > > > > This is an ftrace trampoline, so I think it should be FTRACE type of > > allocation. > > Yeah, I was aware of the ftrace trampoline. My point was, ftrace trampoline > doesn't seem to have any special requirements. Therefore, it is probably not > necessary to have a separate type just for it. Since ftrace trampolines are currently used only on s390 and x86 which enforce the same range for all executable allocations there are no special requirements indeed. But I think that explicitly marking these allocations as FTRACE makes it clearer what are they used for and I don't see downsides to having a type for FTRACE. > AFAICT, kprobe, ftrace, and BPF (JIT and trampoline) can share the same > execmem_type. We may need some work for some archs, but nothing is > fundamentally different among these. Using the same type for all generated code implies that all types of the generated code must live in the same range and I don't think we want to impose this limitation on architectures. For example, RISC-V deliberately added a range for BPF code to allow relative addressing, see commit 7f3631e88ee6 ("riscv, bpf: Provide RISC-V specific JIT image alloc/free"). > Thanks, > Song -- Sincerely yours, Mike. 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id C5B12E7D24C for ; Tue, 26 Sep 2023 08:05:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=Z9IyHC9al4Ie1uiQd1fJqVpS1arzPsgf2dD5K7CoTc8=; b=YEC8gnnV0R6UW9 Zt+hI1fe7etJu1B02SOTcjobp2eF3TaXWiNkDCCQ8EaLYRW3AzmqNGBCIjL6oADS734pVsvhu1QnN p/M850Ih2kVsWOiPG1IF+ihX3SfhIMY5jd40LGfoyW2kA9XTMNUHA+6sqL804gYCWM0IEGjU4Xd6u S0mW3iW726VuG9KAUJykihKhUQPSieYivqD9n3IVS2NOuLRS2DcRsznfxIM2038KnXlVoxBj8pPgm WbkWnFNZjK2z/PrISB441ZJUg6SKVLUnvESc0aErOW5EbjSCaaX9neN3AnGtPpbAoZH0hhMSdu1aJ Cto7WUIRs1Xlz4cPcxYA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1ql34W-00FqLU-1g; Tue, 26 Sep 2023 08:05:32 +0000 Received: from sin.source.kernel.org ([2604:1380:40e1:4800::1]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1ql34R-00FqHw-2w; Tue, 26 Sep 2023 08:05:30 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id 2B0B9CE12BF; Tue, 26 Sep 2023 08:05:25 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id DEB07C433C7; Tue, 26 Sep 2023 08:05:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1695715524; bh=+Amk36a0CBOiKu5+FtjGQvFX395/lzfG991XVrUkCKk=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=RLx2TLWKtN7VAMAOy6Z+yt+5L2H3WvCxgk6fo3xEAFTVDZv0mPqQm9oryMdet+1qZ obrB5TY2nE/qbUSfaI1uId3y2yRK2qnxEYYQpqf8IMXRqLpaWcyp6r1h8W5YGqDDxg /Ipk9rb4CjRrT7bowSHMduOUAEuaFMTD7nXxu83iUI+O1xmmOj2PJsMoiGARKNDMsM m8lXDTJPRNGVXjXTr34wm+BzlG4p+UzrUM7cd5TVxTprWIBaR+mK3IXevwTFE0yWC2 SIHL7mRKLFjL2iR5rLVY4OdrYFjdV9kMecllhx3OCPX+UXN+tAGab3AHw/soEZdxZb tvxNd43ZGN+BA== Date: Tue, 26 Sep 2023 11:04:22 +0300 From: Mike Rapoport To: Song Liu Cc: linux-kernel@vger.kernel.org, Andrew Morton , =?iso-8859-1?Q?Bj=F6rn_T=F6pel?= , 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 Subject: Re: [PATCH v3 02/13] mm: introduce execmem_text_alloc() and execmem_free() Message-ID: <20230926080422.GP3303@kernel.org> References: <20230918072955.2507221-1-rppt@kernel.org> <20230918072955.2507221-3-rppt@kernel.org> <20230923153808.GI3303@kernel.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230926_010528_391180_8C75E231 X-CRM114-Status: GOOD ( 26.21 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gU2F0LCBTZXAgMjMsIDIwMjMgYXQgMDM6MzY6MDFQTSAtMDcwMCwgU29uZyBMaXUgd3JvdGU6 Cj4gT24gU2F0LCBTZXAgMjMsIDIwMjMgYXQgODozOeKAr0FNIE1pa2UgUmFwb3BvcnQgPHJwcHRA a2VybmVsLm9yZz4gd3JvdGU6Cj4gPgo+ID4gT24gVGh1LCBTZXAgMjEsIDIwMjMgYXQgMDM6MzQ6 MThQTSAtMDcwMCwgU29uZyBMaXUgd3JvdGU6Cj4gPiA+IE9uIE1vbiwgU2VwIDE4LCAyMDIzIGF0 IDEyOjMw4oCvQU0gTWlrZSBSYXBvcG9ydCA8cnBwdEBrZXJuZWwub3JnPiB3cm90ZToKPiA+ID4g Pgo+ID4gPgo+ID4gPiBbLi4uXQo+ID4gPgo+ID4gPiA+IGRpZmYgLS1naXQgYS9hcmNoL3MzOTAv a2VybmVsL21vZHVsZS5jIGIvYXJjaC9zMzkwL2tlcm5lbC9tb2R1bGUuYwo+ID4gPiA+IGluZGV4 IDQyMjE1Zjk0MDRhZi4uZGI1NTYxZDBjMjMzIDEwMDY0NAo+ID4gPiA+IC0tLSBhL2FyY2gvczM5 MC9rZXJuZWwvbW9kdWxlLmMKPiA+ID4gPiArKysgYi9hcmNoL3MzOTAva2VybmVsL21vZHVsZS5j Cj4gPiA+ID4gQEAgLTIxLDYgKzIxLDcgQEAKPiA+ID4gPiAgI2luY2x1ZGUgPGxpbnV4L21vZHVs ZWxvYWRlci5oPgo+ID4gPiA+ICAjaW5jbHVkZSA8bGludXgvYnVnLmg+Cj4gPiA+ID4gICNpbmNs dWRlIDxsaW51eC9tZW1vcnkuaD4KPiA+ID4gPiArI2luY2x1ZGUgPGxpbnV4L2V4ZWNtZW0uaD4K PiA+ID4gPiAgI2luY2x1ZGUgPGFzbS9hbHRlcm5hdGl2ZS5oPgo+ID4gPiA+ICAjaW5jbHVkZSA8 YXNtL25vc3BlYy1icmFuY2guaD4KPiA+ID4gPiAgI2luY2x1ZGUgPGFzbS9mYWNpbGl0eS5oPgo+ ID4gPiA+IEBAIC03Niw3ICs3Nyw3IEBAIHZvaWQgKm1vZHVsZV9hbGxvYyh1bnNpZ25lZCBsb25n IHNpemUpCj4gPiA+ID4gICNpZmRlZiBDT05GSUdfRlVOQ1RJT05fVFJBQ0VSCj4gPiA+ID4gIHZv aWQgbW9kdWxlX2FyY2hfY2xlYW51cChzdHJ1Y3QgbW9kdWxlICptb2QpCj4gPiA+ID4gIHsKPiA+ ID4gPiAtICAgICAgIG1vZHVsZV9tZW1mcmVlKG1vZC0+YXJjaC50cmFtcG9saW5lc19zdGFydCk7 Cj4gPiA+ID4gKyAgICAgICBleGVjbWVtX2ZyZWUobW9kLT5hcmNoLnRyYW1wb2xpbmVzX3N0YXJ0 KTsKPiA+ID4gPiAgfQo+ID4gPiA+ICAjZW5kaWYKPiA+ID4gPgo+ID4gPiA+IEBAIC01MTAsNyAr NTExLDcgQEAgc3RhdGljIGludCBtb2R1bGVfYWxsb2NfZnRyYWNlX2hvdHBhdGNoX3RyYW1wb2xp bmVzKHN0cnVjdCBtb2R1bGUgKm1lLAo+ID4gPiA+Cj4gPiA+ID4gICAgICAgICBzaXplID0gRlRS QUNFX0hPVFBBVENIX1RSQU1QT0xJTkVTX1NJWkUocy0+c2hfc2l6ZSk7Cj4gPiA+ID4gICAgICAg ICBudW1wYWdlcyA9IERJVl9ST1VORF9VUChzaXplLCBQQUdFX1NJWkUpOwo+ID4gPiA+IC0gICAg ICAgc3RhcnQgPSBtb2R1bGVfYWxsb2MobnVtcGFnZXMgKiBQQUdFX1NJWkUpOwo+ID4gPiA+ICsg ICAgICAgc3RhcnQgPSBleGVjbWVtX3RleHRfYWxsb2MoRVhFQ01FTV9GVFJBQ0UsIG51bXBhZ2Vz ICogUEFHRV9TSVpFKTsKPiA+ID4KPiA+ID4gVGhpcyBzaG91bGQgYmUgRVhFQ01FTV9NT0RVTEVf VEVYVD8KPiA+Cj4gPiBUaGlzIGlzIGFuIGZ0cmFjZSB0cmFtcG9saW5lLCBzbyBJIHRoaW5rIGl0 IHNob3VsZCBiZSBGVFJBQ0UgdHlwZSBvZgo+ID4gYWxsb2NhdGlvbi4KPiAKPiBZZWFoLCBJIHdh cyBhd2FyZSBvZiB0aGUgZnRyYWNlIHRyYW1wb2xpbmUuIE15IHBvaW50IHdhcywgZnRyYWNlIHRy YW1wb2xpbmUKPiBkb2Vzbid0IHNlZW0gdG8gaGF2ZSBhbnkgc3BlY2lhbCByZXF1aXJlbWVudHMu IFRoZXJlZm9yZSwgaXQgaXMgcHJvYmFibHkgbm90Cj4gbmVjZXNzYXJ5IHRvIGhhdmUgYSBzZXBh cmF0ZSB0eXBlIGp1c3QgZm9yIGl0LgoKU2luY2UgZnRyYWNlIHRyYW1wb2xpbmVzIGFyZSBjdXJy ZW50bHkgdXNlZCBvbmx5IG9uIHMzOTAgYW5kIHg4NiB3aGljaAplbmZvcmNlIHRoZSBzYW1lIHJh bmdlIGZvciBhbGwgZXhlY3V0YWJsZSBhbGxvY2F0aW9ucyB0aGVyZSBhcmUgbm8gc3BlY2lhbApy ZXF1aXJlbWVudHMgaW5kZWVkLiBCdXQgSSB0aGluayB0aGF0IGV4cGxpY2l0bHkgbWFya2luZyB0 aGVzZSBhbGxvY2F0aW9ucwphcyBGVFJBQ0UgbWFrZXMgaXQgY2xlYXJlciB3aGF0IGFyZSB0aGV5 IHVzZWQgZm9yIGFuZCBJIGRvbid0IHNlZSBkb3duc2lkZXMKdG8gaGF2aW5nIGEgdHlwZSBmb3Ig RlRSQUNFLgogCj4gQUZBSUNULCBrcHJvYmUsIGZ0cmFjZSwgYW5kIEJQRiAoSklUIGFuZCB0cmFt cG9saW5lKSBjYW4gc2hhcmUgdGhlIHNhbWUKPiBleGVjbWVtX3R5cGUuIFdlIG1heSBuZWVkIHNv bWUgd29yayBmb3Igc29tZSBhcmNocywgYnV0IG5vdGhpbmcgaXMKPiBmdW5kYW1lbnRhbGx5IGRp ZmZlcmVudCBhbW9uZyB0aGVzZS4KClVzaW5nIHRoZSBzYW1lIHR5cGUgZm9yIGFsbCBnZW5lcmF0 ZWQgY29kZSBpbXBsaWVzIHRoYXQgYWxsIHR5cGVzIG9mIHRoZQpnZW5lcmF0ZWQgY29kZSBtdXN0 IGxpdmUgaW4gdGhlIHNhbWUgcmFuZ2UgYW5kIEkgZG9uJ3QgdGhpbmsgd2Ugd2FudCB0bwppbXBv c2UgdGhpcyBsaW1pdGF0aW9uIG9uIGFyY2hpdGVjdHVyZXMuCgpGb3IgZXhhbXBsZSwgUklTQy1W IGRlbGliZXJhdGVseSBhZGRlZCBhIHJhbmdlIGZvciBCUEYgY29kZSB0byBhbGxvdwpyZWxhdGl2 ZSBhZGRyZXNzaW5nLCBzZWUgY29tbWl0IDdmMzYzMWU4OGVlNiAoInJpc2N2LCBicGY6IFByb3Zp ZGUgUklTQy1WCnNwZWNpZmljIEpJVCBpbWFnZSBhbGxvYy9mcmVlIikuCiAKPiBUaGFua3MsCj4g U29uZwoKLS0gClNpbmNlcmVseSB5b3VycywKTWlrZS4KCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0Cmxp bnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFk Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK