Re: [PATCH rdma-next v3 00/19] Provide per-ID access to restrack objects

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jan 30, 2019 at 12:48:52PM +0200, Leon Romanovsky wrote:
> From: Leon Romanovsky <leonro@xxxxxxxxxxxx>
> 
> Hi,
> 
> In order to remove ambiguity on the order of series, I combined three
> series into one, which does from the beginning (nldev and restrack
> refactoring through IDs exposure upto initial object cleanup).
> 
> No change to userspace posted earlier.
> 
> Thanks
> Changelog:
> v2->v3:
>  * Rebased on to -rc4
>  * Removed special XA markings (RES_VISIBLE)
>  * Dropped HW ID allocator for now.
>  * Removed xa_is_err() check in *_byid() function
>  * Reworded commit messages to reflect changes
>  * Fixed compilation warning due to my changes to rdmavt
> v1->v2:
>  * Added "Fortify .." atch, it helps to find uninitialized paths
>  * Rewrote ".doit" patch
> v0->v1:
>  * Don't set mark in case restrack entry failed to be added
>  * Fix typos
>  * Move kdoc comments from restrack.h to restrack.c
>  * Rewrote user/kernel marking patch to drop xa_set_mark in favour
>    of "user" field
>  * Fixed two panics with uninitialized values, one for QPs and
>    another for ibdev in CM_ID
> 
> 1. Refactoring and ID exposure parts:
> This part converts internal restrack DB implementation from hash-based
> to be XArray-based. Such change is needed to allow access per specific
> index for .doit callbacks. In addition, such index will provide ability
> to bind/unbind counters to specific QPs, provide valuable debug
> information about parent object (e.g. PD of specific QP, or context
> of specific PD) and get list of objects connected to specific context.
> 2. PD cleanup:
> In this part, I converted all drivers to use IB/core ib_pd allocation
> to ensure that ib_device pointer is valid.
> 3. Parent ID exposure:
> This small part exposes IDs and parent IDs to use to query specific objects.
> An example of how it can be extended to support multiple contexts for PD
> was posted to the ML in previous discussions.
> 
> Thanks
> 
> Leon Romanovsky (19):
>   RDMA/nldev: Dynamically generate restrack dumpit callbacks
>   RDMA/nldev: Refactor out PID namespace check
>   RDMA/nldev: Prepare CAP_NET_ADMIN checks for .doit callbacks
>   RDMA/core: Simplify restrack interface
>   RDMA/core: Use ops infrastructure to keep all callbacks in one place
>   RDMA/restrack: Refactor user/kernel restrack additions
>   RDMA: Provide safe ib_alloc_device() function

I applied these cleanup patches to for-next

>   RDMA/nldev: Prepare code for per-port/per-device separation
>   RDMA/restrack: Convert internal DB from hash to XArray
>   RDMA/restrack: Translate from ID to restrack object
>   RDMA/nldev: Add resource tracker doit callback
>   RDMA/restrack: Reduce scope of synchronization lock while updating DB
>   RDMA/restrack: Hide restrack DB from IB/core
>   RDMA/restrack: Prepare restrack_root to addition of extra fields
>     per-type
>   RDMA/restrack: Add restrack wrappers to get ID and type
>   RDMA/nldev: Share with user-space object IDs
>   RDMA/nldev: Provide parent IDs for PD, MR and QP objects
>   RDMA/core: Share driver structure size with core
>   RDMA: Handle PD allocations by IB/core

These need resending, the PD allocation change should remain as a
different series..

Also, is there some easy way to fix things with the LPQN in this
series so QP can be ready as well?

Jason



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux