On Wed, Oct 20, 2010 at 10:38 AM, Tejun Heo <[email protected]> wrote: > Hello, > > On 10/19/2010 08:40 PM, Bart Van Assche wrote: >> On Tue, Oct 19, 2010 at 5:24 PM, Tejun Heo <[email protected]> wrote: >>> [ ... ] >>> This is to prepare for deprecation of flush_scheduled_work(). >>> [ ... ] >>> Index: work/include/rdma/ib_verbs.h >>> [ ... ] >>> +extern struct workqueue_struct *ib_wq; >>> [ ... ] >> >> This patch adds a declaration of a global variable to a public header >> file. That might be unavoidable, but it doesn't make me happy. > > Hmm... that's one very interesting reason to be unhappy. Can you > please elaborate why addition of a global variable doesn't make you > happy?
In the past every time I saw a global variable being added in a software project that meant that some software concept was not being abstracted properly. Which does not necessarily mean that that is the case with this patch. With the posted patch, just like with the current implementation, e.g. the flush_workqueue() call in the ipath driver will make that driver wait until work scheduled by the core/sa_query.c code finished and vice versa. Is that necessary ? If not, using multiple work queues for IB instead of one would allow to get rid of that global ib_wq declaration. Bart. -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
