[ofa-general] Re: [PATCH] IB/mlx4 mlx4_ib: commands timeout
Eli Cohen
eli at mellanox.co.il
Mon May 7 07:22:50 PDT 2007
On Mon, 2007-05-07 at 07:12 -0700, Roland Dreier wrote:
> > When the system is busy it may happen that the command actually
> > completed but it took more than the specified timeout till the
> > task executing the command was actually given CPU time. This test
> > checks that the completion is really missing before failing.
>
> > + if (!wait_for_completion_timeout(&context->done, msecs_to_jiffies(timeout)))
> > + if (!context->done.done) {
> > + err = -EBUSY;
> > + goto out;
> > + }
>
> This seems more like a bug in wait_for_completion_timeout(). Anyway,
> it's definitely not OK to poke inside the definition of struct
> completion in driver code, so we need to find a different way to solve
> this.
>
I agree that wait_for_completion_timeout() would better give an
indication of this special case but it does not. The only we can now of
such a situation is by poking into done or poking into the EQ which is
worst.
> BTW the same completion handling code is in mthca -- is this also a
> problem there?
>
We saw this with the mthca port for connectx.
> - R.
>
More information about the general
mailing list