mbox series

[v6,0/3] Add PMEM support for RISC-V

Message ID 20221114090536.1662624-1-apatel@ventanamicro.com (mailing list archive)
Headers show
Series Add PMEM support for RISC-V | expand

Message

Anup Patel Nov. 14, 2022, 9:05 a.m. UTC
The Linux NVDIMM PEM drivers require arch support to map and access the
persistent memory device. This series adds RISC-V PMEM support using
recently added Svpbmt and Zicbom support.

First two patches are fixes and remaining two patches add the required
PMEM support for Linux RISC-V.

These patches can also be found in riscv_pmem_v6 branch at:
https://github.com/avpatel/linux.git

Changes since v5:
 - Rebased on Linux-6.1-rc5
 - Directly add pmem.o in obj-y of PATCH3
 - Dropped PATCH1 since this is already merged.

Changes since v4:
 - Simplify PATCH2 by implementing RISC-V specific arch_memremap_wb()

Changes since v3:
 - Pickup correct version of Drew's patch as PATCH1

Changes since v2:
 - Rebased on Linux-6.1-rc1
 - Replaced PATCH1 with the patch proposed by Drew

Changes since v1:
 - Fix error reported by test bot
   https://lore.kernel.org/all/202208272028.IwrNZ0Ur-lkp@intel.com/

Anup Patel (3):
  RISC-V: Fix MEMREMAP_WB for systems with Svpbmt
  RISC-V: Implement arch specific PMEM APIs
  RISC-V: Enable PMEM drivers

 arch/riscv/Kconfig           |  1 +
 arch/riscv/configs/defconfig |  1 +
 arch/riscv/include/asm/io.h  |  5 +++++
 arch/riscv/mm/Makefile       |  1 +
 arch/riscv/mm/pmem.c         | 21 +++++++++++++++++++++
 5 files changed, 29 insertions(+)
 create mode 100644 arch/riscv/mm/pmem.c

Comments

Conor Dooley Nov. 14, 2022, 4:41 p.m. UTC | #1
Hey Anup,

Looks like patches 2 and 3 are failing for the nommu defconfigs:
https://patchwork.kernel.org/project/linux-riscv/list/?series=694995
Unfortunately, if the build fails NIPA doesn't appear to save a log.

In case it's relevant, should be gcc-11 & bintutils 2.37.

Thanks,
Conor.

On Mon, Nov 14, 2022 at 02:35:33PM +0530, Anup Patel wrote:
> The Linux NVDIMM PEM drivers require arch support to map and access the
> persistent memory device. This series adds RISC-V PMEM support using
> recently added Svpbmt and Zicbom support.
> 
> First two patches are fixes and remaining two patches add the required
> PMEM support for Linux RISC-V.
> 
> These patches can also be found in riscv_pmem_v6 branch at:
> https://github.com/avpatel/linux.git
> 
> Changes since v5:
>  - Rebased on Linux-6.1-rc5
>  - Directly add pmem.o in obj-y of PATCH3
>  - Dropped PATCH1 since this is already merged.
> 
> Changes since v4:
>  - Simplify PATCH2 by implementing RISC-V specific arch_memremap_wb()
> 
> Changes since v3:
>  - Pickup correct version of Drew's patch as PATCH1
> 
> Changes since v2:
>  - Rebased on Linux-6.1-rc1
>  - Replaced PATCH1 with the patch proposed by Drew
> 
> Changes since v1:
>  - Fix error reported by test bot
>    https://lore.kernel.org/all/202208272028.IwrNZ0Ur-lkp@intel.com/
> 
> Anup Patel (3):
>   RISC-V: Fix MEMREMAP_WB for systems with Svpbmt
>   RISC-V: Implement arch specific PMEM APIs
>   RISC-V: Enable PMEM drivers
> 
>  arch/riscv/Kconfig           |  1 +
>  arch/riscv/configs/defconfig |  1 +
>  arch/riscv/include/asm/io.h  |  5 +++++
>  arch/riscv/mm/Makefile       |  1 +
>  arch/riscv/mm/pmem.c         | 21 +++++++++++++++++++++
>  5 files changed, 29 insertions(+)
>  create mode 100644 arch/riscv/mm/pmem.c
> 
> -- 
> 2.34.1
>
Anup Patel Nov. 19, 2022, 12:41 p.m. UTC | #2
On Mon, Nov 14, 2022 at 10:11 PM Conor Dooley <conor@kernel.org> wrote:
>
> Hey Anup,
>
> Looks like patches 2 and 3 are failing for the nommu defconfigs:
> https://patchwork.kernel.org/project/linux-riscv/list/?series=694995
> Unfortunately, if the build fails NIPA doesn't appear to save a log.
>
> In case it's relevant, should be gcc-11 & bintutils 2.37.

I tried nommu defconfigs with gcc-12.1.0 and binutils-2.39 and I did
not see any failure.

Regards,
Anup

>
> Thanks,
> Conor.
>
> On Mon, Nov 14, 2022 at 02:35:33PM +0530, Anup Patel wrote:
> > The Linux NVDIMM PEM drivers require arch support to map and access the
> > persistent memory device. This series adds RISC-V PMEM support using
> > recently added Svpbmt and Zicbom support.
> >
> > First two patches are fixes and remaining two patches add the required
> > PMEM support for Linux RISC-V.
> >
> > These patches can also be found in riscv_pmem_v6 branch at:
> > https://github.com/avpatel/linux.git
> >
> > Changes since v5:
> >  - Rebased on Linux-6.1-rc5
> >  - Directly add pmem.o in obj-y of PATCH3
> >  - Dropped PATCH1 since this is already merged.
> >
> > Changes since v4:
> >  - Simplify PATCH2 by implementing RISC-V specific arch_memremap_wb()
> >
> > Changes since v3:
> >  - Pickup correct version of Drew's patch as PATCH1
> >
> > Changes since v2:
> >  - Rebased on Linux-6.1-rc1
> >  - Replaced PATCH1 with the patch proposed by Drew
> >
> > Changes since v1:
> >  - Fix error reported by test bot
> >    https://lore.kernel.org/all/202208272028.IwrNZ0Ur-lkp@intel.com/
> >
> > Anup Patel (3):
> >   RISC-V: Fix MEMREMAP_WB for systems with Svpbmt
> >   RISC-V: Implement arch specific PMEM APIs
> >   RISC-V: Enable PMEM drivers
> >
> >  arch/riscv/Kconfig           |  1 +
> >  arch/riscv/configs/defconfig |  1 +
> >  arch/riscv/include/asm/io.h  |  5 +++++
> >  arch/riscv/mm/Makefile       |  1 +
> >  arch/riscv/mm/pmem.c         | 21 +++++++++++++++++++++
> >  5 files changed, 29 insertions(+)
> >  create mode 100644 arch/riscv/mm/pmem.c
> >
> > --
> > 2.34.1
> >
Conor Dooley Nov. 19, 2022, 12:59 p.m. UTC | #3
On Sat, Nov 19, 2022 at 06:11:08PM +0530, Anup Patel wrote:
> On Mon, Nov 14, 2022 at 10:11 PM Conor Dooley <conor@kernel.org> wrote:
> >
> > Hey Anup,
> >
> > Looks like patches 2 and 3 are failing for the nommu defconfigs:
> > https://patchwork.kernel.org/project/linux-riscv/list/?series=694995
> > Unfortunately, if the build fails NIPA doesn't appear to save a log.
> >
> > In case it's relevant, should be gcc-11 & bintutils 2.37.
> 
> I tried nommu defconfigs with gcc-12.1.0 and binutils-2.39 and I did
> not see any failure.

In the interim, I got my new machine set up properly and have gcc-11
locally now (11.1.0) with binutils 2.37. I just gave the series a try
and I cannot see the failure either but I am not using tuxmake.

Apologies for the noise Anup!
FWIW:
Acked-by: Conor Dooley <conor.dooley@microchip.com>

> 
> Regards,
> Anup
> 
> >
> > Thanks,
> > Conor.
> >
> > On Mon, Nov 14, 2022 at 02:35:33PM +0530, Anup Patel wrote:
> > > The Linux NVDIMM PEM drivers require arch support to map and access the
> > > persistent memory device. This series adds RISC-V PMEM support using
> > > recently added Svpbmt and Zicbom support.
> > >
> > > First two patches are fixes and remaining two patches add the required
> > > PMEM support for Linux RISC-V.
> > >
> > > These patches can also be found in riscv_pmem_v6 branch at:
> > > https://github.com/avpatel/linux.git
> > >
> > > Changes since v5:
> > >  - Rebased on Linux-6.1-rc5
> > >  - Directly add pmem.o in obj-y of PATCH3
> > >  - Dropped PATCH1 since this is already merged.
> > >
> > > Changes since v4:
> > >  - Simplify PATCH2 by implementing RISC-V specific arch_memremap_wb()
> > >
> > > Changes since v3:
> > >  - Pickup correct version of Drew's patch as PATCH1
> > >
> > > Changes since v2:
> > >  - Rebased on Linux-6.1-rc1
> > >  - Replaced PATCH1 with the patch proposed by Drew
> > >
> > > Changes since v1:
> > >  - Fix error reported by test bot
> > >    https://lore.kernel.org/all/202208272028.IwrNZ0Ur-lkp@intel.com/
> > >
> > > Anup Patel (3):
> > >   RISC-V: Fix MEMREMAP_WB for systems with Svpbmt
> > >   RISC-V: Implement arch specific PMEM APIs
> > >   RISC-V: Enable PMEM drivers
> > >
> > >  arch/riscv/Kconfig           |  1 +
> > >  arch/riscv/configs/defconfig |  1 +
> > >  arch/riscv/include/asm/io.h  |  5 +++++
> > >  arch/riscv/mm/Makefile       |  1 +
> > >  arch/riscv/mm/pmem.c         | 21 +++++++++++++++++++++
> > >  5 files changed, 29 insertions(+)
> > >  create mode 100644 arch/riscv/mm/pmem.c
> > >
> > > --
> > > 2.34.1
> > >
Anup Patel Dec. 3, 2022, 6:12 a.m. UTC | #4
Hi Palmer,

On Mon, Nov 14, 2022 at 2:36 PM Anup Patel <apatel@ventanamicro.com> wrote:
>
> The Linux NVDIMM PEM drivers require arch support to map and access the
> persistent memory device. This series adds RISC-V PMEM support using
> recently added Svpbmt and Zicbom support.
>
> First two patches are fixes and remaining two patches add the required
> PMEM support for Linux RISC-V.
>
> These patches can also be found in riscv_pmem_v6 branch at:
> https://github.com/avpatel/linux.git
>
> Changes since v5:
>  - Rebased on Linux-6.1-rc5
>  - Directly add pmem.o in obj-y of PATCH3
>  - Dropped PATCH1 since this is already merged.
>
> Changes since v4:
>  - Simplify PATCH2 by implementing RISC-V specific arch_memremap_wb()
>
> Changes since v3:
>  - Pickup correct version of Drew's patch as PATCH1
>
> Changes since v2:
>  - Rebased on Linux-6.1-rc1
>  - Replaced PATCH1 with the patch proposed by Drew
>
> Changes since v1:
>  - Fix error reported by test bot
>    https://lore.kernel.org/all/202208272028.IwrNZ0Ur-lkp@intel.com/
>
> Anup Patel (3):
>   RISC-V: Fix MEMREMAP_WB for systems with Svpbmt
>   RISC-V: Implement arch specific PMEM APIs
>   RISC-V: Enable PMEM drivers

Can this series be considered for Linux-6.2 ?

Regards,
Anup

>
>  arch/riscv/Kconfig           |  1 +
>  arch/riscv/configs/defconfig |  1 +
>  arch/riscv/include/asm/io.h  |  5 +++++
>  arch/riscv/mm/Makefile       |  1 +
>  arch/riscv/mm/pmem.c         | 21 +++++++++++++++++++++
>  5 files changed, 29 insertions(+)
>  create mode 100644 arch/riscv/mm/pmem.c
>
> --
> 2.34.1
>
Palmer Dabbelt Dec. 8, 2022, 11:47 p.m. UTC | #5
On Mon, 14 Nov 2022 14:35:33 +0530, Anup Patel wrote:
> The Linux NVDIMM PEM drivers require arch support to map and access the
> persistent memory device. This series adds RISC-V PMEM support using
> recently added Svpbmt and Zicbom support.
> 
> First two patches are fixes and remaining two patches add the required
> PMEM support for Linux RISC-V.
> 
> [...]

Applied, thanks!

[1/3] RISC-V: Fix MEMREMAP_WB for systems with Svpbmt
      https://git.kernel.org/palmer/c/b91676fc16cd
[2/3] RISC-V: Implement arch specific PMEM APIs
      https://git.kernel.org/palmer/c/a49ab905a1fc
[3/3] RISC-V: Enable PMEM drivers
      https://git.kernel.org/palmer/c/497bcbe3ce04

Best regards,
patchwork-bot+linux-riscv@kernel.org Dec. 9, 2022, 1:30 a.m. UTC | #6
Hello:

This series was applied to riscv/linux.git (for-next)
by Palmer Dabbelt <palmer@rivosinc.com>:

On Mon, 14 Nov 2022 14:35:33 +0530 you wrote:
> The Linux NVDIMM PEM drivers require arch support to map and access the
> persistent memory device. This series adds RISC-V PMEM support using
> recently added Svpbmt and Zicbom support.
> 
> First two patches are fixes and remaining two patches add the required
> PMEM support for Linux RISC-V.
> 
> [...]

Here is the summary with links:
  - [v6,1/3] RISC-V: Fix MEMREMAP_WB for systems with Svpbmt
    https://git.kernel.org/riscv/c/b91676fc16cd
  - [v6,2/3] RISC-V: Implement arch specific PMEM APIs
    https://git.kernel.org/riscv/c/a49ab905a1fc
  - [v6,3/3] RISC-V: Enable PMEM drivers
    https://git.kernel.org/riscv/c/497bcbe3ce04

You are awesome, thank you!