[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20190703201912.GB27910@ziepe.ca>
Date: Wed, 3 Jul 2019 17:19:12 -0300
From: Jason Gunthorpe <jgg@...pe.ca>
To: Leon Romanovsky <leon@...nel.org>
Cc: Doug Ledford <dledford@...hat.com>,
Leon Romanovsky <leonro@...lanox.com>,
RDMA mailing list <linux-rdma@...r.kernel.org>,
Saeed Mahameed <saeedm@...lanox.com>,
Yishai Hadas <yishaih@...lanox.com>,
linux-netdev <netdev@...r.kernel.org>
Subject: Re: [PATCH rdma-next v2 00/13] DEVX asynchronous events
On Sun, Jun 30, 2019 at 07:23:21PM +0300, Leon Romanovsky wrote:
> From: Leon Romanovsky <leonro@...lanox.com>
>
> Changelog:
> v1 -> v2:
> * Added Saeed's ack to net patches
> * Patch #2:
> * Fix to gather user asynchronous events on top of kernel events.
> * Patch #7:
> * Fix obj_id to be 32 bits.
> * Patch #8:
> * Inline async_event_queue applicable fields into devx_async_event_file.
> * Move to use bitfields in few places rather than flags.
> * Shorten name of UAPI attribute.
> * Patch #10:
> * Use explicitly 'struct file *' instead of void *
> * Store struct devx_async_event_file * instead of uobj * on the subscription.
> * Drop 'is_obj_related' and use list_empty instead.
> * Drop the temp arrays as part of the subscription API and move to simpler logic.
> * Revise devx_cleanup_subscription() to be success oriented without
> the is_close flag.
> * Leave key level 1 in the tree upon bad flow to prevent a race with IRQ flow.
> * Fix some styling notes.
> * Patch #11:
> * Use rcu read lock also for the un-affiliated event flow.
> * Improve locking scheme as part of read events.
> * Return -EIO as soon as destroyed occurred.
> * Use a better errno as part read event failure when the buffer size
> was too small.
> * Upon hot unplug call wake_up_interruptible() unconditionally.
> * Use eqe->data for affiliated events header.
> * Fix some styling notes.
> * Patch #12:
> * Use rcu read lock also for the first XA layer.
> * Patch #13:
> * A new patch to clean up mdev usage from devx code, it can be accessed
> from ib_dev now.
> v0 -> v1:
> * Fix the unbind / hot unplug flows to work properly.
> * Fix Ref count handling on the eventfd mode in some flow.
> * Rebased to latest rdma-next
>
> Thanks
>
> >From Yishai:
>
> This series enables RDMA applications that use the DEVX interface to
> subscribe and read device asynchronous events.
>
> The solution is designed to allow extension of events in the future
> without need to perform any changes in the driver code.
>
> To enable that few changes had been done in mlx5_core, it includes:
> * Reading device event capabilities that are user related
> (affiliated and un-affiliated) and set the matching mask upon
> creating the matching EQ.
> * Enable DEVX/mlx5_ib to register for ANY event instead of the option to
> get some hard-coded ones.
> * Enable DEVX/mlx5_ib to get the device raw data for CQ completion events.
> * Enhance mlx5_core_create/destroy CQ to enable DEVX using them so that CQ
> events will be reported as well.
>
> In mlx5_ib layer the below changes were done:
> * A new DEVX API was introduced to allocate an event channel by using
> the uverbs FD object type.
> * Implement the FD channel operations to enable read/poo/close over it.
> * A new DEVX API was introduced to subscribe for specific events over an
> event channel.
> * Manage an internal data structure over XA(s) to subscribe/dispatch events
> over the different event channels.
> * Use from DEVX the mlx5_core APIs to create/destroy a CQ to be able to
> get its relevant events.
Applied to for-next, thanks
Jason
Powered by blists - more mailing lists