[PATCH 6.6] membarrier: riscv: Add full memory barrier in switch_mm()

Alexandre Ghiti alex at ghiti.fr
Tue Sep 10 04:31:04 PDT 2024


Hi Greg,

On 10/09/2024 09:32, Greg KH wrote:
> On Mon, Sep 09, 2024 at 10:57:01AM +0800, WangYuli wrote:
>> From: Andrea Parri <parri.andrea at gmail.com>
>>
>> [ Upstream commit d6cfd1770f20392d7009ae1fdb04733794514fa9 ]
>>
>> The membarrier system call requires a full memory barrier after storing
>> to rq->curr, before going back to user-space.  The barrier is only
>> needed when switching between processes: the barrier is implied by
>> mmdrop() when switching from kernel to userspace, and it's not needed
>> when switching from userspace to kernel.
>>
>> Rely on the feature/mechanism ARCH_HAS_MEMBARRIER_CALLBACKS and on the
>> primitive membarrier_arch_switch_mm(), already adopted by the PowerPC
>> architecture, to insert the required barrier.
>>
>> Fixes: fab957c11efe2f ("RISC-V: Atomic and Locking Code")
>> Signed-off-by: Andrea Parri <parri.andrea at gmail.com>
>> Reviewed-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
>> Link: https://lore.kernel.org/r/20240131144936.29190-2-parri.andrea@gmail.com
>> Signed-off-by: Palmer Dabbelt <palmer at rivosinc.com>
>> Signed-off-by: WangYuli <wangyuli at uniontech.com>
>> ---
>>   MAINTAINERS                         |  2 +-
>>   arch/riscv/Kconfig                  |  1 +
>>   arch/riscv/include/asm/membarrier.h | 31 +++++++++++++++++++++++++++++
>>   arch/riscv/mm/context.c             |  2 ++
>>   kernel/sched/core.c                 |  5 +++--
>>   5 files changed, 38 insertions(+), 3 deletions(-)
>>   create mode 100644 arch/riscv/include/asm/membarrier.h
> Now queued up, thanks.


The original patch was merged in 6.9 and the Fixes tag points to a 
commit introduced in v4.15. So IIUC, this patch should have been 
backported "automatically" to the releases < 6.9 right? As stated in the 
documentation (process/stable-kernel-rules.html):

"Note, such tagging is unnecessary if the stable team can derive the 
appropriate versions from Fixes: tags."

Or did we miss something?

Thanks,

Alex


>
> greg k-h
>
> _______________________________________________
> linux-riscv mailing list
> linux-riscv at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-riscv



More information about the linux-riscv mailing list