[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <EA913ED399BBA34AA4EAC2EDC24CDD009C1DDDA7@fmsmsx101.amr.corp.intel.com>
Date: Mon, 17 Sep 2018 23:14:33 +0000
From: "Howell, Seth" <seth.howell@...el.com>
To: Jason Gunthorpe <jgg@...pe.ca>
CC: "Walker, Benjamin" <benjamin.walker@...el.com>,
Doug Ledford <dledford@...hat.com>,
"linux-rdma@...r.kernel.org" <linux-rdma@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Moni Shoua <monis@...lanox.com>
Subject: RE: [PATCH] rdma: move the ib_wr_opcode enum to include/uapi
Thank you Jason!
-----Original Message-----
From: Jason Gunthorpe [mailto:jgg@...pe.ca]
Sent: Monday, September 17, 2018 4:08 PM
To: Howell, Seth <seth.howell@...el.com>
Cc: Walker, Benjamin <benjamin.walker@...el.com>; Doug Ledford <dledford@...hat.com>; linux-rdma@...r.kernel.org; linux-kernel@...r.kernel.org; Moni Shoua <monis@...lanox.com>
Subject: Re: [PATCH] rdma: move the ib_wr_opcode enum to include/uapi
> >From e3c1b1b81373601fa6cbad2ba5fadd2c8cfdfaed Mon Sep 17 00:00:00
> >2001
> From: Seth Howell <seth.howell@...el.com>
> Date: Tue, 14 Aug 2018 15:33:02 -0700
> Subject: [PATCH] IB/rxe: Revise the ib_wr_opcode enum
>
> This enum has become part of the uABI, as both RXE and the
> ib_uverbs_post_send() command expect userspace to supply values from
> this enum. So it should be properly placed in include/uapi/rdma.
>
> In userspace this enum is called 'enum ibv_wr_opcode' as part of
> libibverbs.h. That enum defines different values for IB_WR_LOCAL_INV,
> IB_WR_SEND_WITH_INV, and IB_WR_LSO. These were introduced
> (incorrectly, it turns out) into libiberbs in 2015.
>
> The kernel has changed its mind on the numbering for several of the
> IB_WC values over the years, but has remained stable on
> IB_WR_LOCAL_INV and below.
>
> Based on this we can conclude that there is no real user space user of
> the values beyond IB_WR_ATOMIC_FETCH_AND_ADD, as they have never
> worked via rdma-core. This is confirmed by inspection, only rxe uses
> the kernel enum and implements the latter operations. rxe has clearly
> never worked with these attributes from userspace. Other drivers that
> support these opcodes implement the functionality without calling out
> to the kernel.
>
> To make IB_WR_SEND_WITH_INV and related work for RXE in userspace we
> choose to renumber the IB_WR enum in the kernel to match the uABI that
> userspace has bee using since before Soft RoCE was merged. This is an
> overall simpler configuration for the whole software stack, and
> obviously can't break anything existing.
>
> Reported-by: Seth Howell <seth.howell@...el.com>
> Fixes: 8700e3e7c485 ("Soft RoCE driver")
> Cc: <stable@...r.kernel.org>
> Signed-off-by: Jason Gunthorpe <jgg@...lanox.com>
> include/rdma/ib_verbs.h | 34 ++++++++++++++++++-------------
> include/uapi/rdma/ib_user_verbs.h | 20 +++++++++++++++++-
> 2 files changed, 39 insertions(+), 15 deletions(-)
Applied to for-next
Thanks,
Jason
Powered by blists - more mailing lists