Re: [PATCH v11 0/9] riscv: add SBI Supervisor Software Events support

From: Zhanpeng Zhang

Date: Wed Oct 28 2026 - 23:07:04 EST


Hi Anup, Paul, Himanshu,

On 10/29/26 12:55 AM, Anup Patel wrote:

> [...]
>
> Changes in v11
> ==============
>
> Rebased on latest for-next branch of linux-riscv tree (commit a5ae1bf65cee).
> Also, tested PMU driver with both PMU irqs and PMU SSE events.
>

Thanks for rebasing and testing the series. I was a little surprised
to see v11 posted, as I am still working through Himanshu's v10 review
and validating the fixes on hardware. It would have been helpful to
coordinate before reposting so that those changes could be included.

I guess this follows Paul's request to rebase onto riscv/for-next.
However, there is one change beyond the rebase that I would like to
clarify: why does patch 4 remove the scoped_guard(preempt) sections
from the CPU hotplug paths? These were present in v10 RESEND, and
the local helpers still retain their preemption-disabled assertions.
Is there a reason this protection is no longer needed?

The changes discussed on the v10 threads are still outstanding in
this posting:

- Preserve TASK_TI_A0/A1/A2 across nested exceptions.
- Replace the temporary GUP-based perf user-stack copy with nofault
uaccess, following the x86 approach.
- Address the per-CPU initialization/preemption concern.
- Split the MAINTAINERS updates into a separate patch.

Additional fixes from Sashiko review, the kernel test robot report,
and our follow-up debugging are also being consolidated:

- NMI-safe entry and lockdep irqflags tracking.
- The unused-function warning reported by the kernel test robot.
- RV32 vmalloc synchronization before nofault fixup.
- Faulting-PC validation in the kprobe single-step fault path.
- Per-counter STOP handling in SSE error paths.
- Ordinary IRQ CPU-PM notifier ordering and IRQ cleanup tracking.

In particular, Himanshu identified the missing preservation of
TASK_TI_A0/A1/A2 across nested exceptions [1]. Following his review,
I validated the fix with hardware A/B testing: removing it reproduced
corruption, while the fixed kernel completed the same test sequence.
This also gives us a solid basis for replacing the temporary GUP
workaround with nofault uaccess.

Paul, please hold off on taking this version into for-next until
these fixes are included. The rebase and PMU testing are useful, but
there are still outstanding correctness issues.

I will consolidate the changes and post v12 against riscv/for-next,
with an updated changelog and validation results. Let's coordinate
the next posting to keep everything together.

Thanks,
Zhanpeng

[1] https://lore.kernel.org/r/as79MHtNYd-VbUug@xxxxxxxxxxxxxxxxxxxxxxxxxxx/