[openib-general] Re: RFC: revert module ref counting patches (was Re: [PATCH] ipoib_flush_paths)

Michael S. Tsirkin mst at mellanox.co.il
Mon Apr 10 12:41:43 PDT 2006


Quoting r. Sean Hefty <sean.hefty at intel.com>:
> Subject: RE: RFC: revert module ref counting patches (was Re: [PATCH] ipoib_flush_paths)
> 
> >In our example its clear that A has to wait for its callback to run to
> >complete.
> >If B and A callbacks are running on the same WQ, this means A
> >must wait for B's callack to complete if it gets placed in in WQ
> >before A callback.
> 
> You're assuming a single-threaded work queue.  With a multi-threaded work queue,
> A must wait for callbacks to all modules to complete.

By multi-threaded workqueue you mean a per-cpu one?
But all core components use single-threaded workqueues now.

Anyway,I think its a matter of luck whether things get queued in separate CPUs
in parallel, or on the same one serially: you can't solve deadlocks this way.

> Maybe this isn't a big deal, and if we would deadlock using flush, we would
> deadlock using an alternate method.

Exactly, that's what I'm saying.

-- 
MST



More information about the general mailing list