[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAPhsuW6r=0r0dKfKxwPp9KXqLSKWw4x6RrbNBnS=1M1Y1sh5Ag@mail.gmail.com>
Date: Wed, 31 May 2023 10:03:58 -0700
From: Song Liu <song@...nel.org>
To: Mike Rapoport <rppt@...nel.org>
Cc: Kent Overstreet <kent.overstreet@...ux.dev>,
linux-kernel@...r.kernel.org, bpf@...r.kernel.org,
mcgrof@...nel.org, peterz@...radead.org, tglx@...utronix.de,
x86@...nel.org
Subject: Re: [PATCH 0/3] Type aware module allocator
On Wed, May 31, 2023 at 6:51 AM Mike Rapoport <rppt@...nel.org> wrote:
>
> On Tue, May 30, 2023 at 03:37:24PM -0700, Song Liu wrote:
> > On Mon, May 29, 2023 at 3:45 AM Mike Rapoport <rppt@...nel.org> wrote:
> > >
> > > On Sat, May 27, 2023 at 10:58:37PM -0700, Song Liu wrote:
> > > > On Sat, May 27, 2023 at 12:04 AM Kent Overstreet
> > > > <kent.overstreet@...ux.dev> wrote:
> > > > >
> > > > > I think this needs to back to the drawing board and we need something
> > > > > simpler just targeted at executable memory; architecture specific
> > > > > options should definitely _not_ be part of the exposed interface.
> > > >
> > > > I don't think we are exposing architecture specific options to users.
> > > > Some layer need to handle arch specifics. If the new allocator is
> > > > built on top of module_alloc, module_alloc is handling that. If the new
> > > > allocator is to replace module_alloc, it needs to handle arch specifics.
> > >
> > > I'm for creating a new allocator that will replace module_alloc(). This
> > > will give us a clean abstraction that modules and all the rest will use and
> > > it will make easier to plug binpack or another allocator instead of
> > > vmalloc.
> > >
> > > Another point is with a new allocator we won't have weird dependencies on
> > > CONFIG_MODULE in e.g. bpf and kprobes.
> > >
> > > I'll have something ready to post as an RFC in a few days.
> >
> > I guess this RFC is similar to unmapped_alloc()? If it replaces
> > vmalloc, we can probably trim this set down a bit (remove
> > mod_alloc_params and vmalloc_params, etc.).
>
> No, it's not a new allocator. I'm trying to create an API for code
> allocations that can accommodate all the architectures and it won't be a
> part of modules code. The modules will use the new API just like every
> other subsystem that needs to allocate code.
>
> I've got a core part of it here:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/rppt/linux.git/log/?h=jitalloc/v1
This branch looks like the same scope as this set (but with different
implementation). So it will still use vmalloc, right?
Thanks,
Song
Powered by blists - more mailing lists