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 themHow 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