On Tue, Nov 15, 2022 at 2:14 PM Edgecombe, Rick P <rick.p.edgecombe@xxxxxxxxx> wrote: > > On Tue, 2022-11-15 at 13:54 -0800, Song Liu wrote: > > On Tue, Nov 15, 2022 at 9:34 AM Edgecombe, Rick P > > <rick.p.edgecombe@xxxxxxxxx> wrote: > > > > > > On Mon, 2022-11-14 at 17:30 -0800, Song Liu wrote: > > > > Currently, I have got the following action items for v3: > > > > 1. Add unify API to allocate text memory to motivation; > > > > 2. Update Documentation/x86/x86_64/mm.rst; > > > > 3. Allow none PMD_SIZE allocation for powerpc. > > > > > > So what do we think about supporting the fallback mechanism for the > > > first version, like: > > > > > > > https://lore.kernel.org/all/9e59a4e8b6f071cf380b9843cdf1e9160f798255.camel@xxxxxxxxx/ > > > > > > It helps the (1) story by actually being usable by non-text_poke() > > > architectures. > > > > I personally think this might be a good idea. We will need this when > > we use > > execmem_alloc for modules. But I haven't got a chance to look at > > module code in > > great detail. I was thinking of adding this logic with changes in > > module code. > > BPF used to have a generic allocator that just called module_alloc(). > If you had a fallback method could you unify all of BPF to use > execmem()? To clarify, are you suggesting we need this logic in this set? I would rather wait until we handle module code. This is because BPF JIT uses module_alloc() for archs other than x86_64. So the fall back of execmem_alloc() for these archs would be module_alloc() or something similar. I think it is really weird to do something like void *execmem_alloc(size_t size) { #ifdef CONFIG_SUPPORT_EXECMEM_ALLOC ... #else return module_alloc(size); #endif } WDYT? Thanks, Song