[openib-general] Re: OpenIB Thread Usage

Roland Dreier roland at topspin.com
Fri Nov 19 08:28:33 PST 2004


    Hal> Hi Roland, I noticed that IPoIB uses a single thread whereas
    Hal> the MAD layer uses a thread (per port) per CPU. Could/should
    Hal> IPoIB be multithreaded and would that help performance on
    Hal> multiple processors ?

I doubt it.  The IPoIB workqueue is used for non-data path stuff like
starting multicast joins, which are very far from being CPU-bound.
All the data path stuff is run from interrupt context.  Of course
that's a theoretical argument, and if someone actually measures that
changing the create_singlethread_workqueue() to create_workqueue()
improves performance, I would have no problem making the change.

In fact I'm not sure that having some many MAD workqueue threads isn't
overkill that wastes resources, especially on machines with a lot of
CPUs.

 - Roland



More information about the general mailing list