lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJve8onUQTL2C5m4WQqkvFcANEiv+gzMBfmmJnRA1REE5XFgbw@mail.gmail.com>
Date: Wed, 27 Mar 2024 20:37:45 +0800
From: Haibo Xu <xiaobo55x@...il.com>
To: Haibo Xu <haibo1.xu@...el.com>
Cc: ajones@...tanamicro.com, sunilvl@...tanamicro.com, 
	Paul Walmsley <paul.walmsley@...ive.com>, Palmer Dabbelt <palmer@...belt.com>, 
	Albert Ou <aou@...s.berkeley.edu>, "Rafael J. Wysocki" <rafael@...nel.org>, Len Brown <lenb@...nel.org>, 
	Robert Moore <robert.moore@...el.com>, Conor Dooley <conor.dooley@...rochip.com>, 
	Guo Ren <guoren@...nel.org>, Björn Töpel <bjorn@...osinc.com>, 
	Alexandre Ghiti <alexghiti@...osinc.com>, Greentime Hu <greentime.hu@...ive.com>, 
	Baoquan He <bhe@...hat.com>, Evan Green <evan@...osinc.com>, Zong Li <zong.li@...ive.com>, 
	Sami Tolvanen <samitolvanen@...gle.com>, Jisheng Zhang <jszhang@...nel.org>, 
	Clément Léger <cleger@...osinc.com>, 
	Greg Kroah-Hartman <gregkh@...uxfoundation.org>, Chen Jiahao <chenjiahao16@...wei.com>, 
	Arnd Bergmann <arnd@...db.de>, James Morse <james.morse@....com>, 
	Samuel Holland <samuel.holland@...ive.com>, Anup Patel <apatel@...tanamicro.com>, 
	Ard Biesheuvel <ardb@...nel.org>, Tony Luck <tony.luck@...el.com>, Yuntao Wang <ytcoode@...il.com>, 
	Dan Williams <dan.j.williams@...el.com>, Dave Hansen <dave.hansen@...ux.intel.com>, 
	Alison Schofield <alison.schofield@...el.com>, linux-riscv@...ts.infradead.org, 
	linux-kernel@...r.kernel.org, linux-acpi@...r.kernel.org, 
	acpica-devel@...ts.linux.dev
Subject: Re: [PATCH v2 0/6] Add ACPI NUMA support for RISC-V

Hi @Sunil V L,

Could you please have a review on this patch set?

Thanks,
Haibo

On Thu, Mar 7, 2024 at 4:34 PM Haibo Xu <haibo1.xu@...el.com> wrote:
>
> This patch series enable RISC-V ACPI NUMA support which was based on
> the recently approved ACPI ECR[1].
>
> Patch 1/6 is generated from the acpica PR[2] and should be merged through
> the acpica project. Due to this dependency, other 5 patches can only be
> merged after the corresponding ACPICA patch was pulled into linux.
>
> Patch 2/6 add RISC-V specific acpi_numa.c file to parse NUMA information
> from SRAT and SLIT ACPI tables.
> Patch 3/6 add the common SRAT RINTC affinity structure handler.
> Patch 4/6 remove the '#if defined(CONFIG_ARCH)' condition to make some NUMA
> related parse functions common for all current architectures that support
> ACPI_NUMA
> Patch 5/6 remove ARCH depends option in ACPI_NUMA Kconfig which was no
> longer needed since all the current architectures that support ACPI would
> select ACPI_NUMA by default.
> Patch 6/6 add corresponding ACPI_NUMA config for RISC-V Kconfig.
>
> Based-on: https://github.com/linux-riscv/linux-riscv/tree/for-next
>
> [1] https://drive.google.com/file/d/1YTdDx2IPm5IeZjAW932EYU-tUtgS08tX/view?usp=sharing
> [2] https://github.com/acpica/acpica/pull/926
>
> Testing:
> Since the ACPI AIA/PLIC support patch set is still under upstream review,
> hence it is tested using the poll based HVC SBI console and RAM disk.
> 1) Build latest Qemu with the following patch backported
>    https://lore.kernel.org/all/20240129094200.3581037-1-haibo1.xu@intel.com/
>    https://github.com/vlsunil/qemu/commit/42bd4eeefd5d4410a68f02d54fee406d8a1269b0
>
> 2) Build latest EDK-II
>    https://github.com/tianocore/edk2/blob/master/OvmfPkg/RiscVVirt/READMEmd
>
> 3) Build Linux with the following configs enabled
>    CONFIG_RISCV_SBI_V01=y
>    CONFIG_SERIAL_EARLYCON_RISCV_SBI=y
>    CONFIG_HVC_RISCV_SBI=y
>    CONFIG_NUMA=y
>    CONFIG_ACPI_NUMA=y
>
> 4) Build buildroot rootfs.cpio
>
> 5) Launch the Qemu machine
>    qemu-system-riscv64 -nographic \
>    -machine virt,pflash0=pflash0,pflash1=pflash1 -smp 4 -m 8G \
>    -blockdev node-name=pflash0,driver=file,read-only=on,filename=RISCV_VIRT_CODE.fd \
>    -blockdev node-name=pflash1,driver=file,filename=RISCV_VIRT_VARSfd \
>    -object memory-backend-ram,size=4G,id=m0 \
>    -object memory-backend-ram,size=4G,id=m1 \
>    -numa node,memdev=m0,cpus=0-1,nodeid=0 \
>    -numa node,memdev=m1,cpus=2-3,nodeid=1 \
>    -numa dist,src=0,dst=1,val=30 \
>    -kernel linux/arch/riscv/boot/Image \
>    -initrd buildroot/output/images/rootfs.cpio \
>    -append "root=/dev/ram ro console=hvc0 earlycon=sbi"
>
> [    0.000000] ACPI: SRAT: Node 0 PXM 0 [mem 0x80000000-0x17fffffff]
> [    0.000000] ACPI: SRAT: Node 1 PXM 1 [mem 0x180000000-0x27fffffff]
> [    0.000000] NUMA: NODE_DATA [mem 0x17fe3bc40-0x17fe3cfff]
> [    0.000000] NUMA: NODE_DATA [mem 0x27fff4c40-0x27fff5fff]
> ...
> [    0.000000] ACPI: NUMA: SRAT: PXM 0 -> HARTID 0x0 -> Node 0
> [    0.000000] ACPI: NUMA: SRAT: PXM 0 -> HARTID 0x1 -> Node 0
> [    0.000000] ACPI: NUMA: SRAT: PXM 1 -> HARTID 0x2 -> Node 1
> [    0.000000] ACPI: NUMA: SRAT: PXM 1 -> HARTID 0x3 -> Node 1
>
> ---
> Changes since v1
>   - Switch the order of patch 2/4 and 3/4 - Per Sunil's suggestion
>   - Add a new patch 4/6 to make some NUMA related parse functions common
>     for all the architectures that support ACPI NUMA - Per Sunil's suggestion
>   - Add a new patch 5/6 to remove ARCH depends option in ACPI_NUMA
>     Kconfig since all the current architectures that support ACPI
>     would select ACPI_NUMA by default - Per Arnd and Sunil's suggestion
>   - Other minor fix for code format - Per Sunil's comments
>
> Haibo Xu (6):
>   ACPICA: SRAT: Add RISC-V RINTC affinity structure
>   ACPI: RISCV: Add NUMA support based on SRAT and SLIT
>   ACPI: NUMA: Add handler for SRAT RINTC affinity structure
>   ACPI: NUMA: Make some NUMA related parse functions common
>   ACPI: NUMA: Remove ARCH depends option in ACPI_NUMA Kconfig
>   ACPI: RISCV: Enable ACPI based NUMA
>
>  arch/riscv/Kconfig            |   1 +
>  arch/riscv/include/asm/acpi.h |  15 +++-
>  arch/riscv/kernel/Makefile    |   1 +
>  arch/riscv/kernel/acpi.c      |   5 --
>  arch/riscv/kernel/acpi_numa.c | 131 ++++++++++++++++++++++++++++++++++
>  arch/riscv/kernel/setup.c     |   4 +-
>  arch/riscv/kernel/smpboot.c   |   2 -
>  drivers/acpi/numa/Kconfig     |   1 -
>  drivers/acpi/numa/srat.c      |  40 ++++++++---
>  include/acpi/actbl3.h         |  18 ++++-
>  include/linux/acpi.h          |   6 ++
>  11 files changed, 203 insertions(+), 21 deletions(-)
>  create mode 100644 arch/riscv/kernel/acpi_numa.c
>
> --
> 2.34.1
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ