[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