2023-12-06 10:08:39

by Alexandre Ghiti

[permalink] [raw]
Subject: Re: [PATCH 0/2] riscv: Enable percpu page first chunk allocator

Hi Tejun,

On 10/11/2023 15:07, Alexandre Ghiti wrote:
> While working with pcpu variables, I noticed that riscv did not support
> first chunk allocation in the vmalloc area which may be needed as a fallback
> in case of a sparse NUMA configuration.
>
> patch 1 starts by introducing a new function flush_cache_vmap_early() which
> is needed since a new vmalloc mapping is established and directly accessed:
> on riscv, this would likely fail in case of a reordered access or if the
> uarch caches invalid entries in TLB.
>
> patch 2 simply enables the page percpu first chunk allocator in riscv.
>
> Alexandre Ghiti (2):
> mm: Introduce flush_cache_vmap_early() and its riscv implementation
> riscv: Enable pcpu page first chunk allocator
>
> arch/riscv/Kconfig | 2 ++
> arch/riscv/include/asm/cacheflush.h | 3 ++-
> arch/riscv/include/asm/tlbflush.h | 2 ++
> arch/riscv/mm/kasan_init.c | 8 ++++++++
> arch/riscv/mm/tlbflush.c | 5 +++++
> include/asm-generic/cacheflush.h | 6 ++++++
> mm/percpu.c | 8 +-------
> 7 files changed, 26 insertions(+), 8 deletions(-)
>

Any feedback regarding this?

Thanks,

Alex


2023-12-06 19:01:06

by Tejun Heo

[permalink] [raw]
Subject: Re: [PATCH 0/2] riscv: Enable percpu page first chunk allocator

On Wed, Dec 06, 2023 at 11:08:20AM +0100, Alexandre Ghiti wrote:
> Hi Tejun,
>
> On 10/11/2023 15:07, Alexandre Ghiti wrote:
> > While working with pcpu variables, I noticed that riscv did not support
> > first chunk allocation in the vmalloc area which may be needed as a fallback
> > in case of a sparse NUMA configuration.
> >
> > patch 1 starts by introducing a new function flush_cache_vmap_early() which
> > is needed since a new vmalloc mapping is established and directly accessed:
> > on riscv, this would likely fail in case of a reordered access or if the
> > uarch caches invalid entries in TLB.
> >
> > patch 2 simply enables the page percpu first chunk allocator in riscv.
> >
> > Alexandre Ghiti (2):
> > mm: Introduce flush_cache_vmap_early() and its riscv implementation
> > riscv: Enable pcpu page first chunk allocator
> >
> > arch/riscv/Kconfig | 2 ++
> > arch/riscv/include/asm/cacheflush.h | 3 ++-
> > arch/riscv/include/asm/tlbflush.h | 2 ++
> > arch/riscv/mm/kasan_init.c | 8 ++++++++
> > arch/riscv/mm/tlbflush.c | 5 +++++
> > include/asm-generic/cacheflush.h | 6 ++++++
> > mm/percpu.c | 8 +-------
> > 7 files changed, 26 insertions(+), 8 deletions(-)
> >
>
> Any feedback regarding this?

On cursory look, it looked fine to me but Dennis is maintaining the percpu
tree now. Dennis?

Thanks.

--
tejun

2023-12-07 05:47:08

by Dennis Zhou

[permalink] [raw]
Subject: Re: [PATCH 0/2] riscv: Enable percpu page first chunk allocator

Hello,

On Wed, Dec 06, 2023 at 09:00:27AM -1000, Tejun Heo wrote:
> On Wed, Dec 06, 2023 at 11:08:20AM +0100, Alexandre Ghiti wrote:
> > Hi Tejun,
> >
> > On 10/11/2023 15:07, Alexandre Ghiti wrote:
> > > While working with pcpu variables, I noticed that riscv did not support
> > > first chunk allocation in the vmalloc area which may be needed as a fallback
> > > in case of a sparse NUMA configuration.
> > >
> > > patch 1 starts by introducing a new function flush_cache_vmap_early() which
> > > is needed since a new vmalloc mapping is established and directly accessed:
> > > on riscv, this would likely fail in case of a reordered access or if the
> > > uarch caches invalid entries in TLB.
> > >
> > > patch 2 simply enables the page percpu first chunk allocator in riscv.
> > >
> > > Alexandre Ghiti (2):
> > > mm: Introduce flush_cache_vmap_early() and its riscv implementation
> > > riscv: Enable pcpu page first chunk allocator
> > >
> > > arch/riscv/Kconfig | 2 ++
> > > arch/riscv/include/asm/cacheflush.h | 3 ++-
> > > arch/riscv/include/asm/tlbflush.h | 2 ++
> > > arch/riscv/mm/kasan_init.c | 8 ++++++++
> > > arch/riscv/mm/tlbflush.c | 5 +++++
> > > include/asm-generic/cacheflush.h | 6 ++++++
> > > mm/percpu.c | 8 +-------
> > > 7 files changed, 26 insertions(+), 8 deletions(-)
> > >
> >
> > Any feedback regarding this?
>
> On cursory look, it looked fine to me but Dennis is maintaining the percpu
> tree now. Dennis?
>

Ah I wasn't sure at the time if we needed this to go through percpu vs
risc v. I need to poke tglx and potentially pull some more stuff so I
can take it.

I regrettably got both the covid and flu vaccines today and feel like a
truck hit me. I'll review this tomorrow and make sure it's taken care
of for the next merge window.

Thanks,
Dennis

> Thanks.
>
> --
> tejun