Re: character driver - poll() timeout

From: Muni Sekhar
Date: Wed Oct 28 2015 - 06:15:45 EST


On Wed, Oct 28, 2015 at 12:54 PM, Clemens Ladisch <clemens@xxxxxxxxxx> wrote:
> Muni Sekhar wrote:
>> On Tue, Oct 27, 2015 at 8:48 PM, Clemens Ladisch <clemens@xxxxxxxxxx> wrote:
>>> Muni Sekhar wrote:
>>>> I need to find out when exactly driver's poll callback returned timeout.
>>>
>>> Your poll callback _cannot_ return a timeout.
>>>
>>> Why do you think you need this information for?
>>
>> During stress test, my test application fails and throws poll() timeout error.
>>
>> I need to debug what is the state of my driver during that time. I
>> added prints in driver poll(), but I gets lots of debug prints if
>> poll() timeout is more.
>
> Your poll() callback does not really change the state of the driver.
> It just returns the wait queue and the current state of the device.
> (Which means it is likely to get called _twice_, before poll() goes
> to sleep, and just before it returns.)
>
> Your driver's state changes only when
> 1) you start some operation (such as read() or write()), or when
> 2) you finish some operation (which wakes up anyone waiting on
> that wait queue).
>
> If you time out, it means that some wake_up() happens too late or
> not at all, or that you do not return the correct state.
Thanks Clemens for the clarification.

>
>
> Regards,
> Clemens



--
Thanks,
Sekhar
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/