lkml.org 
[lkml]   [2020]   [Apr]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [RFC PATCH v6 6/9] media: tegra: Add Tegra210 Video input driver
    From
    Date

    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 пишет:
    >>>>>>>> Am I understanding correctly that this thread will take 100% CPU,
    >>>>>>>> spinning here, if more than 2 frame-captures queued?
    >>>>>>> on more than 2 frames captures, it breaks thread and on next
    >>>>>>> wakeup it
    >>>>>>> continues
    >>>>>> The wait_event() won't wait if condition is true.
    >>>>> condition is checked when waitqueue is woken up
    >>>> https://elixir.bootlin.com/linux/v5.6.2/source/include/linux/wait.h#L462
    >>>>
    >>> process is put to sleep until the condition evaluates to true or signal
    >>> is received.
    >>>
    >>> condition is checked each time the waitqueue head is woken up.
    >> This is a wrong assumption in accordance to the code.
    >
    > 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.
    >
    Fixing typo.

    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.

    \
     
     \ /
      Last update: 2020-04-06 23:40    [W:4.429 / U:0.040 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site