> > On Thu, May 17, 2018 at 11:18:28AM +0530, Raju Rangoju wrote: > > > > + /* The support for new kernel mode SRQ extends the t4_cqe struct > > + * size to 64 Bytes from existing 32 Bytes. But, this change brings > > + * in the library/kernel ABI and 32/64 Byte CQE compatibility issues. > > + * > > + * To address these issues, the user <-> kernel response message > > + * c4iw_create_cq_resp's 'reserved' field has been renamed to 'flags'. > > + * > > + * Newer version of libcxgb4 can pre-initialize the 'flags' field in > > + * the request struct with the flag C4IW_64B_CQE. And a new > iw_cxgb4 > > + * can detect the new libcxgb4 by checking for the C4IW_64B_CQE > flag > > + * in the structure c4iw_create_cq received from userspace. > > + * New kernel driver can not work with older userspace library, > > + * c4iw_create_cq() will log a warning message to upgrade libcxgb4 > and > > + * aborts the cq creation in this case. > > + * > > + * Likewise, new iw_cxgb4 which supports 64B CQE will set the flag > > + * C4IW_64B_CQE in c4iw_create_cq_resp struct. So, if the response > > + * from the create_cq verb results in the flags field still being zero, > > + * libcxgb4 can destroy the cq and print a warning and fail the user > > + * create cq verb. > > + */ > > + > > + if (ib_context && udata->inlen < sizeof(ucmd)) { > > + pr_err_once("WARNING: Downlevel libcxgb4. RDMA cannot > be supported with this driver/lib combination. Please update libcxgb4.\n"); > > + return ERR_PTR(-EINVAL); > > + } > > Nope, hard NAK on this idea. > > The driver must continue to support current user space with full > compatibility. > > And user space must generally support all past kernels as well. > > Jason Hey Raju, please separate this cqe issue into its own patch series for both kernel and rdma-core. It will simplify reviewing and testing 32/64 support. Thanks! Steve. -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html