Quoting r. Roland Dreier <[EMAIL PROTECTED]>: > Subject: Re: ipoib and core patches for 2.6.17 > > Michael> I wander why. However, since ipoib workqueue is > Michael> single-threaded, this gives us a drastically simple > Michael> solution to all synchronisation problems, good for > Michael> everything that isn't data-path. > > I guess the main thing that I don't like is this: > > > -int ipoib_ib_dev_down(struct net_device *dev); > > +int ipoib_ib_dev_down(struct net_device *dev, int flush); > > Now we have to worry about getting another flush flag correct, and I'd > like to avoid that.
I see. I wish workqueue could simply be changed to do nothing on flush if I'm running out of the same workqueue. I'm not sure setting this as default behaviour will fly, but maybe add an option for this? That would solve this problem, would it not? > Also, the more different things there are in the same workqueue, the > more we have to worry about deadlocks when flushing the workqueue. Actually, since we dont hold any locks when flushing the queue, we can't deadlock, can we? > Michael> Roland, how about adding a global, system-wide, single-threaded > Michael> wq to linux? We might not be the only ones that have a > Michael> problem with the default per-CPU workqueue. > > Not a bad idea to propose. There are about 20 other single-threaded > workqueues in the current tree, and some of them can probably be consolidated. Okay, I'll see if I have the time to prepare such a patch. -- Michael S. Tsirkin Staff Engineer, Mellanox Technologies _______________________________________________ openib-general mailing list [email protected] http://openib.org/mailman/listinfo/openib-general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
