Re: [PATCH v3 4/4] membarrier: riscv: Provide core serializing command

From: Andrea Parri
Date: Wed Jan 24 2024 - 13:44:37 EST


> > +# riscv uses xRET as return from interrupt and to return to user-space.
> > +#
> > +# Given that xRET is not core serializing, we rely on FENCE.I for providing
> > +# core serialization:
> > +#
> > +# - by calling sync_core_before_usermode() on return from interrupt (cf.
> > +# ipi_sync_core()),
> > +#
> > +# - via switch_mm() and sync_core_before_usermode() (respectively, for
> > +# uthread->uthread and kthread->uthread transitions) to go back to
> > +# user-space.
>
> I don't quite get the meaning of the sentence above. There seems to be a
> missing marker before "to go back".

Let's see. Without the round brackets, the last part becomes:

- via switch_mm() and sync_core_before_usermode() to go back to
user-space.

This is indeed what I meant to say. What am I missing?

Andrea