[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160906114937.GM10153@twins.programming.kicks-ass.net>
Date: Tue, 6 Sep 2016 13:49:37 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Felipe Balbi <felipe.balbi@...ux.intel.com>
Cc: Alan Stern <stern@...land.harvard.edu>,
"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>,
Ingo Molnar <mingo@...hat.com>,
USB list <linux-usb@...r.kernel.org>,
Kernel development list <linux-kernel@...r.kernel.org>,
Will Deacon <will.deacon@....com>
Subject: Re: Memory barrier needed with wake_up_process()?
On Tue, Sep 06, 2016 at 02:43:39PM +0300, Felipe Balbi wrote:
> > Could you confirm that bulk_{in,out}_complete() work on different
> > usb_request structures, and they can not, at any time, get called on the
> > _same_ request?
>
> usb_requests are allocated for a specific endpoint and USB Device
> Controller (UDC) drivers refuse to queue requests allocated for epX to
> epY, so this really can never happen.
Good, thanks!
> My fear now, however, is that changing smp_[rw]mb() to smp_mb() just
> adds extra overhead which makes the problem much, much less likely to
> happen. Does that sound plausible to you?
I did consider that, but I've not sufficiently grokked the code to rule
out actual fail. So let me stare at this a bit more.
Powered by blists - more mailing lists