[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZMxDe0gXKYbY5jgt@andrea>
Date: Fri, 4 Aug 2023 02:16:59 +0200
From: Andrea Parri <parri.andrea@...il.com>
To: Mathieu Desnoyers <mathieu.desnoyers@...icios.com>
Cc: paulmck@...nel.org, paul.walmsley@...ive.com, palmer@...belt.com,
aou@...s.berkeley.edu, linux-riscv@...ts.infradead.org,
linux-kernel@...r.kernel.org, mmaas@...gle.com, hboehm@...gle.com,
striker@...ibm.com
Subject: Re: [RFC PATCH] membarrier: riscv: Provide core serializing command
> Can you double-check that riscv switch_mm() implies a fence.i or equivalent
> on the CPU doing the switch_mm ?
AFAICT, (riscv) switch_mm() does not guarantee that.
> AFAIR membarrier use of sync_core_before_usermode relies on switch_mm
> issuing a core serializing instruction.
I see. Thanks for the clarification.
BTW, the comment in __schedule() suggests that membarrier also relies on
switch_mm() issuing a full memory barrier: I don't think this holds.
Removing the "deferred icache flush" logic in switch_mm() - in favour of
a "plain" MB; FENCE.I - would meet both of these requirements.
Other ideas?
Andrea
Powered by blists - more mailing lists