[openib-general] Re: recursion depth exceeded in ipoib_workqueue

Michael S. Tsirkin mst at mellanox.co.il
Mon Sep 19 13:14:17 PDT 2005


Quoting r. Roland Dreier <rolandd at cisco.com>:
> Subject: Re: recursion depth exceeded in ipoib_workqueue
> 
>     Michael> It seems that wait_for_completion can now deadlock, since
>     Michael> it is waiting for a work queued on ipoib_workqueue.
> 
> I don't think so -- all the complete() calls are in functions called
> from the SA module's context.  Am I wrong?
> 
>  - R.
> 

What about this:

        down(&mcast_mutex);
        if (test_bit(IPOIB_MCAST_RUN, &priv->flags)) {
                if (status == -ETIMEDOUT)
                        queue_work(ipoib_workqueue, &priv->mcast_task);
                else
                        queue_delayed_work(ipoib_workqueue, &priv->mcast_task,
                                           mcast->backoff * HZ);
        } else
                complete(&mcast->done);
        up(&mcast_mutex);


Can we get to this code?

-- 
MST



More information about the general mailing list