Message ID | 20241014203646.1952505-1-surenb@google.com (mailing list archive) |
---|---|
Headers | show |
Series | page allocation tag compression | expand |
On Mon, 14 Oct 2024 13:36:41 -0700 Suren Baghdasaryan <surenb@google.com> wrote: > Patch #2 copies module tags into virtually contiguous memory which > serves two purposes: > - Lets us deal with the situation when module is unloaded while there > are still live allocations from that module. Since we are using a copy > version of the tags we can safely unload the module. Space and gaps in > this contiguous memory are managed using a maple tree. Does this make "lib: alloc_tag_module_unload must wait for pending kfree_rcu calls" unneeded? If so, that patch was cc:stable (justifyably), so what to do about that?
On Mon, Oct 14, 2024 at 4:32 PM Andrew Morton <akpm@linux-foundation.org> wrote: > > On Mon, 14 Oct 2024 13:36:41 -0700 Suren Baghdasaryan <surenb@google.com> wrote: > > > Patch #2 copies module tags into virtually contiguous memory which > > serves two purposes: > > - Lets us deal with the situation when module is unloaded while there > > are still live allocations from that module. Since we are using a copy > > version of the tags we can safely unload the module. Space and gaps in > > this contiguous memory are managed using a maple tree. > > Does this make "lib: alloc_tag_module_unload must wait for pending > kfree_rcu calls" unneeded? With this change we can unload a module even when tags from that module are still in use. However "lib: alloc_tag_module_unload must wait for pending kfree_rcu calls" would still be useful because it will allow us to release the memory occupied by module's tags and let other modules use that memory. > If so, that patch was cc:stable (justifyably), so what to do about that? Now that I posted this patchset I'll work on backporting "lib: alloc_tag_module_unload must wait for pending kfree_rcu calls" and its prerequisites to 6.10 and 6.11. I'll try to get backports out tomorrow. I don't think we need to backport this patchset to pre-6.12 kernels since this is an improvement and not a bug fix. But if it's needed I can backport it as well. Thanks, Suren.
On Mon, Oct 14, 2024 at 6:48 PM Suren Baghdasaryan <surenb@google.com> wrote: > > On Mon, Oct 14, 2024 at 4:32 PM Andrew Morton <akpm@linux-foundation.org> wrote: > > > > On Mon, 14 Oct 2024 13:36:41 -0700 Suren Baghdasaryan <surenb@google.com> wrote: > > > > > Patch #2 copies module tags into virtually contiguous memory which > > > serves two purposes: > > > - Lets us deal with the situation when module is unloaded while there > > > are still live allocations from that module. Since we are using a copy > > > version of the tags we can safely unload the module. Space and gaps in > > > this contiguous memory are managed using a maple tree. > > > > Does this make "lib: alloc_tag_module_unload must wait for pending > > kfree_rcu calls" unneeded? > > With this change we can unload a module even when tags from that > module are still in use. However "lib: alloc_tag_module_unload must > wait for pending kfree_rcu calls" would still be useful because it > will allow us to release the memory occupied by module's tags and let > other modules use that memory. > > > If so, that patch was cc:stable (justifyably), so what to do about that? > > Now that I posted this patchset I'll work on backporting "lib: > alloc_tag_module_unload must wait for pending kfree_rcu calls" and its > prerequisites to 6.10 and 6.11. I'll try to get backports out > tomorrow. I prepared 6.10 and 6.11 backports for https://lore.kernel.org/all/20241007205236.11847-1-fw@strlen.de but will wait for it to get merged into Linus' tree before posting them to stable. Thanks, Suren. > I don't think we need to backport this patchset to pre-6.12 kernels > since this is an improvement and not a bug fix. But if it's needed I > can backport it as well. > Thanks, > Suren.