[openib-general] [PATCH 1/7] IB/ipath - performance improvements via mmap of queues
ralphc at pathscale.com
ralphc at pathscale.com
Mon Aug 14 10:14:37 PDT 2006
> > int ibv_cmd_resize_cq(struct ibv_cq *cq, int cqe,
> > - struct ibv_resize_cq *cmd, size_t cmd_size);
> > + struct ibv_resize_cq *cmd, size_t cmd_size,
> > + struct ibv_resize_cq_resp *resp, size_t resp_size);
>
> We can't make this change without a little more work -- as it stands
> this makes it impossible to have a low-level driver that works with
> both libibverbs 1.0 and 1.1, since there doesn't seem to be any
> autoconf way to check the number of parameters a function takes.
What we really need is a version number for the device library
plug-in to libibverbs.so interface verses the existing kernel
device driver to plug-in or application to libibverbs.so version.
> I see two ways forward: either at a new ibv_cmd_resize_cq_resp()
> function (as you did originally), or add something like
>
> #define IBV_CMD_RESIZE_CQ_HAS_RESP_PARAMS
>
> and test that in libmthca and libehca.
>
> Personally I lean towards the second solution, although neither is
> very elegant.
>
> - R.
A #define won't help the plug-in know what parameters to pass,
only a function name change will work if the semantics change.
I can add another version argument to ibv_driver_init() if you
agree. It seems to me that we have already made incompatible
changes by moving to libibverbs.so.2. Couldn't we include this
as part of the transition?
Otherwise, I would vote for ibv_cmd_resize_cq_resp().
More information about the general
mailing list