RE: [PATCH] dmaengine: idxd: Change wmb() to smp_wmb() when copying completion record to user space
From: Rao, Nikhil
Date: Tue Jan 30 2024 - 23:18:59 EST
> -----Original Message-----
> From: Yu, Fenghua <fenghua.yu@xxxxxxxxx>
> Sent: Wednesday, January 31, 2024 2:12 AM
> To: Hansen, Dave <dave.hansen@xxxxxxxxx>; Boqun Feng
> <boqun.feng@xxxxxxxxx>; Mark Rutland <mark.rutland@xxxxxxx>
> Cc: Vinod Koul <vkoul@xxxxxxxxxx>; Jiang, Dave <dave.jiang@xxxxxxxxx>;
> dmaengine@xxxxxxxxxxxxxxx; linux-kernel <linux-kernel@xxxxxxxxxxxxxxx>; Rao,
> Nikhil <nikhil.rao@xxxxxxxxx>; Zhu, Tony <tony.zhu@xxxxxxxxx>; Mathieu
> Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx>; Thomas Gleixner
> <tglx@xxxxxxxxxxxxx>; Ingo Molnar <mingo@xxxxxxxxxx>; Borislav Petkov
> <bp@xxxxxxxxx>; Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>;
> x86@xxxxxxxxxx
> Subject: Re: [PATCH] dmaengine: idxd: Change wmb() to smp_wmb() when
> copying completion record to user space
>
> Hi, Dave, Boqun, and Mark,
>
> On 1/30/24 12:30, Dave Hansen wrote:
> > On 1/30/24 11:53, Boqun Feng wrote:
> >>>> Fixes: b022f59725f0 ("dmaengine: idxd: add idxd_copy_cr() to copy
> >>>> user completion record during page fault handling")
> >>>> Suggested-by: Nikhil Rao <nikhil.rao@xxxxxxxxx>
> >>>> Tested-by: Tony Zhu <tony.zhu@xxxxxxxxx>
> >> Since it has a "Fixes" tag and a "Tested-by" tag, I'd assume there
> >> has been a test w/ and w/o this patch showing it can resolve a real
> >> issue *constantly*? If so, I think x86 might be broken somewhere.
> >>
> >> [Cc x86 maintainers]
> >
> > Fenghua, could you perhaps explain how this problem affects end users?
> > What symptom was observed that made it obvious something was broken
> > and what changes with this patch?
>
> There is no issue found by any test. This wmb() code was reviewed and was
> "thought" that it may have a potential issue.
I had made this suggestion since the code only needed a smp_wmb(), If the review refers to my suggestion, sorry if my message indicated a potential issue, that certainly wasn't my intention.
memory-barriers.txt does say that mandatory barriers (of which wmb() is one) should not be used to control SMP effects.
Nikhil