Re: wait_for_completion_timeout problem ???

From: Dmitry Adamushko
Date: Thu Mar 01 2007 - 10:14:51 EST


On 01/03/07, Eli Cohen <eli@xxxxxxxxxxxxxx> wrote:
>...
> wait_for_completion_timeout() should return something different that
> encodes the fact /event happened/ and not just /event happened _and_ a
> caller has got scheduled back earlier than timeout.
That possibility crossed my mind but I ruled it out since the the
timeout is 10 sec while completion arrived less then 4 msec after
calling wait_for_completion_timeout(). So it appears to me unlikely that
it will the task will be in the run list but will not get CPU time for
nearly 10 seconds. I will give it a try though. I will increase timeout
to 20 sec.


Mea culpa. Don't know why I took it as 10 ms.. Yep, in case of seconds
it rather becomes a mere theoretical possibility.

Are you sure there are no other "waiters" being blocked on the same
"completion" at the same time? complete_all()?

Anyway, do "cat /proc/your_task_pid/status" and look at the "State: "
field. It should be "R" in case wake_up_*() was called for this task.


--
Best regards,
Dmitry Adamushko
-
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/