[PW_SID:1080348] [V4] riscv: errata: Add ERRATA_THEAD_WRITE_ONCE fixup#1754
[PW_SID:1080348] [V4] riscv: errata: Add ERRATA_THEAD_WRITE_ONCE fixup#1754linux-riscv-bot wants to merge 1 commit into
Conversation
The early version of XuanTie C910 core has a store merge buffer delay problem. The store merge buffer could improve the store queue performance by merging multi-store requests, but when there are not continued store requests, the prior single store request would be waiting in the store queue for a long time. That would cause significant problems for communication between multi-cores. This problem was found on sg2042 & th1520 platforms with the qspinlock lock torture test. So appending a fence w.o could immediately flush the store merge buffer and let other cores see the write result. This will apply the WRITE_ONCE errata to handle the non-standard behavior via appending a fence w.o instruction for WRITE_ONCE(). This problem is only observed on the sg2042 hardware platform by running the lock_torture test program for half an hour. The problem was not found in the user space application, because interrupt can break the livelock. Reviewed-by: Leonardo Bras <leobras@redhat.com> Reviewed-by: Alexandre Ghiti <alexghiti@rivosinc.com> Tested-by: Han Gao <gaohan@iscas.ac.cn> Tested-by: Yao Zi <me@ziyao.cc> Cc: Chen Wang <unicorn_wang@outlook.com> Cc: Inochi Amaoto <inochiama@gmail.com> Cc: Xiaoguang Xing <xiaoguang.xing@sophgo.com> Cc: Paul Walmsley <pjw@kernel.org> Signed-off-by: Guo Ren (Alibaba DAMO Academy) <guoren@kernel.org> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
|
Patch 1: "[V4] riscv: errata: Add ERRATA_THEAD_WRITE_ONCE fixup" |
|
Patch 1: "[V4] riscv: errata: Add ERRATA_THEAD_WRITE_ONCE fixup" |
|
Patch 1: "[V4] riscv: errata: Add ERRATA_THEAD_WRITE_ONCE fixup" |
|
Patch 1: "[V4] riscv: errata: Add ERRATA_THEAD_WRITE_ONCE fixup" |
|
Patch 1: "[V4] riscv: errata: Add ERRATA_THEAD_WRITE_ONCE fixup" |
|
Patch 1: "[V4] riscv: errata: Add ERRATA_THEAD_WRITE_ONCE fixup" |
|
Patch 1: "[V4] riscv: errata: Add ERRATA_THEAD_WRITE_ONCE fixup" |
|
Patch 1: "[V4] riscv: errata: Add ERRATA_THEAD_WRITE_ONCE fixup" |
|
Patch 1: "[V4] riscv: errata: Add ERRATA_THEAD_WRITE_ONCE fixup" |
|
Patch 1: "[V4] riscv: errata: Add ERRATA_THEAD_WRITE_ONCE fixup" |
|
Patch 1: "[V4] riscv: errata: Add ERRATA_THEAD_WRITE_ONCE fixup" |
|
Patch 1: "[V4] riscv: errata: Add ERRATA_THEAD_WRITE_ONCE fixup" |
PR for series 1080348 applied to workflow__riscv__fixes
Name: [V4] riscv: errata: Add ERRATA_THEAD_WRITE_ONCE fixup
URL: https://patchwork.kernel.org/project/linux-riscv/list/?series=1080348
Version: 4