Quoting r. Sean Hefty <[EMAIL PROTECTED]>: > 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 _______________________________________________ openib-general mailing list [email protected] http://openib.org/mailman/listinfo/openib-general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
