Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: [OMPI devel] btl_openib_receive_queues mca param not always taken into account
From: Nadia Derbey (Nadia.Derbey_at_[hidden])
Date: 2014-07-11 06:04:25


Hi,

I noticed that specifying the receive_queues through an mca param (-mca
btl_openib_receive_queues ....) doesn't always override the
mca-btl-openib-device-params.ini setting.

If for whatever reason we want to bypass the
mca-btl-openib-device-params.ini file setting for the receive_queues, we
should be able to specify a value through an mca param.
But if the string provided in the mca param is the same as the default
one (default_qps in btl_openib_register_mca_params()), this does not
work: we still get the receive_queues from the .ini file.

This is due to the way the
mca_btl_openib_component.receive_queues_source (where did we get the
receive_queues value from) is computed:

1) in btl_openib_register_mca_params() we register
btl_openib_receive_queues, providing default_qps as a default
    value.
2) mca_btl_openib_component.receive_queues_source is set to
BTL_OPENIB_RQ_SOURCE_MCA only if the registered string
    is different from default_qps
    (if both strings are equal, the source is set to
BTL_OPENIB_RQ_SOURCE_DEFAULT).
3) then, in init_one_device(),
mca_btl_openib_component.receive_queues_source is checked:
      . if its value is BTL_OPENIB_RQ_SOURCE_MCA, we bypass any other
setting (this is the behaviour I expected)
      . otherwise, we go on, getting the .ini file settings (this is the
behaviour I got)

I wanted to know if this behaviour is intentional and the reason for it.
If ever it is not, the attached trivial patch fixes it.

Regards,

-- 
Nadia Derbey