From: Charlie Jenkins <charlie@rivosinc.com>
To: Paul Menzel <pmenzel@molgen.mpg.de>
Cc: Chunyan Zhang <zhangchunyan@iscas.ac.cn>,
Paul Walmsley <paul.walmsley@sifive.com>,
Palmer Dabbelt <palmer@dabbelt.com>,
Albert Ou <aou@eecs.berkeley.edu>, Song Liu <song@kernel.org>,
Yu Kuai <yukuai3@huawei.com>,
linux-riscv@lists.infradead.org, linux-raid@vger.kernel.org,
linux-kernel@vger.kernel.org,
Chunyan Zhang <zhang.lyra@gmail.com>
Subject: Re: [PATCH V2] raid6: Add RISC-V SIMD syndrome and recovery calculations
Date: Mon, 27 Jan 2025 14:34:07 -0800 [thread overview]
Message-ID: <Z5gJ35pXI2W41QDk@ghost> (raw)
In-Reply-To: <c0a2fbeb-9a0d-4b69-bc6b-e1652e13debf@molgen.mpg.de>
On Mon, Jan 27, 2025 at 09:39:11AM +0100, Paul Menzel wrote:
> Dear Chunyan,
>
>
> Thank you for the patch.
>
>
> Am 27.01.25 um 07:15 schrieb Chunyan Zhang:
> > The assembly is originally based on the ARM NEON and int.uc, but uses
> > RISC-V vector instructions to implement the RAID6 syndrome and
> > recovery calculations.
> >
> > Results on QEMU running with the option "-icount shift=0":
> >
> > raid6: rvvx1 gen() 1008 MB/s
> > raid6: rvvx2 gen() 1395 MB/s
> > raid6: rvvx4 gen() 1584 MB/s
> > raid6: rvvx8 gen() 1694 MB/s
> > raid6: int64x8 gen() 113 MB/s
> > raid6: int64x4 gen() 116 MB/s
> > raid6: int64x2 gen() 272 MB/s
> > raid6: int64x1 gen() 229 MB/s
> > raid6: using algorithm rvvx8 gen() 1694 MB/s
> > raid6: .... xor() 1000 MB/s, rmw enabled
> > raid6: using rvv recovery algorithm
>
> How did you start QEMU and on what host did you run it? Does it change
> between runs? (For me these benchmark values were very unreliable in the
> past on x86 hardware.)
I reported dramatic gains on vector as well in this response [1]. Note
that these gains are only present when using the QEMU option "-icount
shift=0" vector becomes dramatically more performant. Without this
option we do not see a performance gain on QEMU. However riscv vector is
known to not be less optimized on QEMU so having vector be less
performant on some QEMU configurations is not necessarily representative
of hardware implementations.
My full qemu command is (running on x86 host):
qemu-system-riscv64 -nographic -m 1G -machine virt -smp 1\
-kernel arch/riscv/boot/Image \
-append "root=/dev/vda rw earlycon console=ttyS0" \
-drive file=rootfs.ext2,format=raw,id=hd0,if=none \
-bios default -cpu rv64,v=true,vlen=256,vext_spec=v1.0 \
-device virtio-blk-device,drive=hd0
This is with version 9.2.0.
I am also facing this issue when executing this:
raid6: rvvx1 gen() 717 MB/s
raid6: rvvx2 gen() 734 MB/s
Unable to handle kernel NULL pointer dereference at virtual address 0000000000000020
Only rvvx4 is failing. I applied this patch to 6.13.
- Charlie
next prev parent reply other threads:[~2025-01-27 22:34 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-27 6:15 [PATCH V2] raid6: Add RISC-V SIMD syndrome and recovery calculations Chunyan Zhang
2025-01-27 8:39 ` Paul Menzel
2025-01-27 22:34 ` Charlie Jenkins [this message]
2025-02-11 9:59 ` Chunyan Zhang
2025-02-13 21:36 ` Charlie Jenkins
2025-02-14 8:57 ` Chunyan Zhang
2025-02-11 8:39 ` Chunyan Zhang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Z5gJ35pXI2W41QDk@ghost \
--to=charlie@rivosinc.com \
--cc=aou@eecs.berkeley.edu \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-raid@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=palmer@dabbelt.com \
--cc=paul.walmsley@sifive.com \
--cc=pmenzel@molgen.mpg.de \
--cc=song@kernel.org \
--cc=yukuai3@huawei.com \
--cc=zhang.lyra@gmail.com \
--cc=zhangchunyan@iscas.ac.cn \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).