Re: [openib-general] Re: [PATCH 4/6 v2] IB: address translation to map IP toIB addresses (GIDs)

From: Roland Dreier
Date: Tue Mar 21 2006 - 17:37:38 EST


Sean> "This is simply an attempt to reduce/combine work queues
Sean> used by the Infiniband code. This keeps the threading a
Sean> little simpler in the rdma_cm, since all callbacks are
Sean> invoked using the same work queue. (I'm also using this
Sean> with the local SA/multicast code, but that's not ready for
Sean> merging.)"

How does it keep the threading model simpler? Is this an inter-module
dependency.

Sean> There's no specific ordering constraint that's required.
Sean> We're just ending up with several Infiniband modules
Sean> creating their own work queues (ib_mad, ib_cm, ib_addr,
Sean> rdma_cm, plus a couple more in modules under development),
Sean> and this is an attempt to reduce that. If having separate
Sean> work queues would work better, there shouldn't be anything
Sean> that prevents this.

It seems like it would be cleaner for each module to have its own
workqueue if it needs one. There's also schedule_work(), although
that goes to a multi-threaded workqueue. Michael Tsirkin has
suggested creating a system-wide single-threaded workqueue (ie
something like schedule_ordered_work()) for everyone that occasionally
needs a single-threaded workqueue.

- R.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/