On Fri, Apr 03, 2015 at 05:33:55PM -0600, Hefty, Sean wrote:
> > /* Registration table sizes */
> > #define MAX_MGMT_CLASS 80
> > -#define MAX_MGMT_VERSION 8
> > +#define MAX_MGMT_VERSION 0x83
>
> It's unfortunate that this results in a big jump in used versions.
> Mad_priv.h defines this:
It is unfortunate.
>
> struct ib_mad_port_private {
> ...
> struct ib_mad_mgmt_version_table version[MAX_MGMT_VERSION];
>
> struct ib_mad_mgmt_version_table {
> struct ib_mad_mgmt_class_table *class;
> struct ib_mad_mgmt_vendor_class_table *vendor;
> };
>
> This ends up allocating about 2K of data per port of NULL pointers. Not a
> huge deal, but still.
I agree this is not ideal but this is not a large amount of space. Nor is this
something which is dynamically being allocated.
>
> I don't have a great fix here. Maybe the version[] array can be the
> necessary size, with some sort of simple mapping function from version to the
> index?
I did not have a great fix either. Hence the current implementation.
Frankly I don't know of many systems that have more than a few ports and at 2K
each this does not seem like a big deal.
Ira
--
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