[PATCH v3 2/2] riscv: Fix text patching when IPI are used

Anup Patel apatel at ventanamicro.com
Mon Mar 4 19:03:30 PST 2024


On Tue, Mar 5, 2024 at 1:54 AM Björn Töpel <bjorn at kernel.org> wrote:
>
> Conor Dooley <conor at kernel.org> writes:
>
> > On Thu, Feb 29, 2024 at 01:10:56PM +0100, Alexandre Ghiti wrote:
> >> For now, we use stop_machine() to patch the text and when we use IPIs for
> >> remote icache flushes (which is emitted in patch_text_nosync()), the system
> >> hangs.
> >>
> >> So instead, make sure every CPU executes the stop_machine() patching
> >> function and emit a local icache flush there.
> >>
> >> Co-developed-by: Björn Töpel <bjorn at rivosinc.com>
> >> Signed-off-by: Björn Töpel <bjorn at rivosinc.com>
> >> Signed-off-by: Alexandre Ghiti <alexghiti at rivosinc.com>
> >> Reviewed-by: Andrea Parri <parri.andrea at gmail.com>
> >
> > What commit does this fix?
>
> Hmm. The bug is exposed when the AIA IPI are introduced, and used
> (instead of the firmware-based).
>
> I'm not sure this is something we'd like backported, but rather a
> prerequisite to AIA.
>
> @Anup @Alex WDYT?
>

The current text patching never considered IPIs being injected
directly in S-mode from hart to another so we are seeing this
issue now with AIA IPIs.

We certainly don't need to backport this fix since it's more
of a preparatory fix for AIA IPIs.

Regards,
Anup



More information about the linux-riscv mailing list