On Tue, Jul 09, 2019 at 03:56:13PM -0500, Henry Orosco wrote: > On Mon, Jul 08, 2019 at 02:13:39PM +0000, Jason Gunthorpe wrote: > > On Sat, Jul 06, 2019 at 04:15:20PM +0000, Saleem, Shiraz wrote: > > > > Subject: Re: [rdma 14/16] RDMA/irdma: Add ABI definitions > > > > > > > > On Fri, Jul 05, 2019 at 04:42:19PM +0000, Saleem, Shiraz wrote: > > > > > > Subject: Re: [rdma 14/16] RDMA/irdma: Add ABI definitions > > > > > > > > > > > > On Thu, Jul 04, 2019 at 10:40:21AM +0300, Leon Romanovsky wrote: > > > > > > > On Wed, Jul 03, 2019 at 07:12:57PM -0700, Jeff Kirsher wrote: > > > > > > > > From: Mustafa Ismail <mustafa.ismail@xxxxxxxxx> > > > > > > > > > > > > > > > > Add ABI definitions for irdma. > > > > > > > > > > > > > > > > Signed-off-by: Mustafa Ismail <mustafa.ismail@xxxxxxxxx> > > > > > > > > Signed-off-by: Shiraz Saleem <shiraz.saleem@xxxxxxxxx> > > > > > > > > include/uapi/rdma/irdma-abi.h | 130 > > > > > > > > ++++++++++++++++++++++++++++++++++ > > > > > > > > 1 file changed, 130 insertions(+) create mode 100644 > > > > > > > > include/uapi/rdma/irdma-abi.h > > > > > > > > > > > > > > > > diff --git a/include/uapi/rdma/irdma-abi.h > > > > > > > > b/include/uapi/rdma/irdma-abi.h new file mode 100644 index > > > > > > > > 000000000000..bdfbda4c829e > > > > > > > > +++ b/include/uapi/rdma/irdma-abi.h > > > > > > > > @@ -0,0 +1,130 @@ > > > > > > > > +/* SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause */ > > > > > > > > +/* Copyright (c) 2006 - 2019 Intel Corporation. All rights reserved. > > > > > > > > + * Copyright (c) 2005 Topspin Communications. All rights reserved. > > > > > > > > + * Copyright (c) 2005 Cisco Systems. All rights reserved. > > > > > > > > + * Copyright (c) 2005 Open Grid Computing, Inc. All rights reserved. > > > > > > > > + */ > > > > > > > > + > > > > > > > > +#ifndef IRDMA_ABI_H > > > > > > > > +#define IRDMA_ABI_H > > > > > > > > + > > > > > > > > +#include <linux/types.h> > > > > > > > > + > > > > > > > > +/* irdma must support legacy GEN_1 i40iw kernel > > > > > > > > + * and user-space whose last ABI ver is 5 */ #define > > > > > > > > +IRDMA_ABI_VER > > > > > > > > +6 > > > > > > > > > > > > > > Can you please elaborate about it more? > > > > > > > There is no irdma code in RDMA yet, so it makes me wonder why new > > > > > > > define shouldn't start from 1. > > > > > > > > > > > > It is because they are ABI compatible with the current user space, > > > > > > which raises the question why we even have this confusing header file.. > > > > > > > > > > It is because we need to support current providers/i40iw user-space. > > > > > Our user-space patch series will introduce a new provider (irdma) > > > > > whose ABI ver. is also 6 (capable of supporting X722 and which will > > > > > work with i40iw driver on older kernels) and removes providers/i40iw from rdma- > > > > core. > > > > > > > > Why on earth would we do that? > > > > > > > A unified library providers/irdma to go in hand with the driver irdma and uses the ABI header. > > > It can support the new network device e810 and existing x722 iWARP device. It obsoletes > > > providers/i40iw and extends its ABI. So why keep providers/i40iw around in rdma-core? > > > > Why rewrite a perfectly good userspace that is compatible with the > > future and past kernels? > > > > Is there something so wrong with the userspace provider to need this? > > > > Yes, the issue is that providers/i40iw was never designed to work with a unified driver > which supports multiple hardware generations. But Shiraz said it works fine with the new kernel driver.. So what is actually the problem? Jason