[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 6/7] xen/evtch: use smp barriers for user event ring
On 08.02.2021 11:23, Andrew Cooper wrote: > On 08/02/2021 09:50, Jan Beulich wrote: >> On 08.02.2021 10:44, Andrew Cooper wrote: >>> On 06/02/2021 10:49, Juergen Gross wrote: >>>> The ring buffer for user events is used in the local system only, so >>>> smp barriers are fine for ensuring consistency. >>>> >>>> Reported-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> >>>> Signed-off-by: Juergen Gross <jgross@xxxxxxxx> >>> These need to be virt_* to not break in UP builds (on non-x86). >> Initially I though so, too, but isn't the sole vCPU of such a >> VM getting re-scheduled to a different pCPU in the hypervisor >> an implied barrier anyway? > > Yes, but that isn't relevant to why UP builds break. > > smp_*() degrade to compiler barriers in UP builds, and while that's > mostly fine for x86 read/write, its not fine for ARM barriers. Hmm, I may not know enough of Arm's memory model - are you saying Arm CPUs aren't even self-coherent, i.e. later operations (e.g. the consuming of ring contents) won't observe earlier ones (the updating of ring contents) when only a single physical CPU is involved in all of this? (I did mention the hypervisor level context switch simply because that's the only way multiple CPUs can get involved.) Jan
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |