Thread (4 messages) 4 messages, 3 authors, 2015-08-26

Re: [PATCHv2] Input: xpad - Fix double URB submission races

flat view

From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: 2015-08-26 17:19:19
Also in: lkml

On Mon, Aug 24, 2015 at 9:22 PM, Laura Abbott [off-list ref] wrote:
On 08/21/2015 09:50 AM, Dmitry Torokhov wrote:
quoted
Hi Laura,

On Mon, Aug 10, 2015 at 05:26:12PM -0700, Laura Abbott wrote:
quoted
v2: Created a proper queue for events instead of just dropping them

How long does it take for the queue to exhaust your memory if you keep
bombarding the driver with requests?
My script which changes the LEDs as fast as possible ran for 7+ hours on
my machine with 16GB of RAM without exhausting all of it. This is also a
very extreme case as almost any kind of delay between sending
commands will drain the queue.
Hmm, that means the device is able to process requests pretty fast;
I'm impressed.
quoted
I do not think you need a queue. I believe the nature of LEDs and rumble
force feedback effect is such that you can discard all requests but the
latest that arrived between the moment you submitted a request to the
device and the moment you are ready submit a new one.

So your suggestion is to only keep a single item in the queue?
That would not be a queue anymore, but essentially yes. Store pending
brightness and FF effect in the driver structure and simply replace it
with the latest requests until the device is ready to process next
request. You need to take care alternating serving LED vs FF requests
to make sure one does not starve another.

Thanks!

-- 
Dmitry
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help