On 4/6/20 2:15 PM, Sowjanya Komatineni wrote:
On 4/6/20 2:11 PM, Dmitry Osipenko wrote:
External email: Use caution opening links or attachments
07.04.2020 00:02, Sowjanya Komatineni ÐÐÑÐÑ:
This is a wrong assumption in accordance to the code.process is put to sleep until the condition evaluates to true or signalhttps://elixir.bootlin.com/linux/v5.6.2/source/include/linux/wait.h#L462condition is checked when waitqueue is woken upThe wait_event() won't wait if condition is true.Am I understanding correctly that this thread will take 100% CPU,on more than 2 frames captures, it breaks thread and on next wakeup it
spinning here, if more than 2 frame-captures queued?
continues
is received.
condition is checked each time the waitqueue head is woken up.
Fixing typo.
when every buffer is available as long as we are in streaming, we should process it.
So if wake up happens when list has buffer, it will be processed but at a time we limit processing 2 simultaneous buffer capture starts only.
I meant when ever buffer is available as long as we are in streaming, we should process it.
So capture thread processes as long as buffers are available from user space limiting 2 simultaneous trigger of captures and thread will be in sleep when capture buffers list is empty or no stop thread is signaled.