Re: [PATCH v4 0/4] figure uverbs/kernel ib_pd w/o using ib_pd uobject

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

 



On Wed, Dec 19, 2018 at 05:45:35PM +0200, Leon Romanovsky wrote:
> On Wed, Dec 19, 2018 at 01:58:46PM +0200, Shamir Rabinovitch wrote:
> > On Wed, Dec 19, 2018 at 08:46:48AM +0200, Leon Romanovsky wrote:
> > > On Tue, Dec 18, 2018 at 09:58:44PM -0700, Jason Gunthorpe wrote:
> > > > On Mon, Dec 17, 2018 at 05:15:15PM +0200, Shamir Rabinovitch wrote:
> > > > > This change has 2 steps. First step is to change the resource tracker
> > > > > so it will not use ib_x uobject pointer to figure if ib_x object was
> > > > > created by uverbs/kernel. The second step is to use the resource
> > > > > tracker ability to tell if ib_pd was created by uverbs/kernel and
> > > > > replace every place in the code where the code test for valid ib_pd
> > > > > uobject pointer just to tell if the ib_pd was created by uverbs/kernel.
> > > > >
> > > > > This series is the first step toward releasing the code from the dependency
> > > > > in the uobject pointer in the ib_pd. This change is required before we can
> > > > > move to shared ib_pd model.
> > > > >
> > > > > Changelog:
> > > > > v2:
> > > > >   * Patch 1: Comments from Jason & Leon
> > > > >    - Fix bool assign
> > > > >    - Add rdma_restrack_kadd, rdma_restrack_uadd
> > > > >    - Remove res_is_user
> > > > >    - Fix rdma_is_kernel_res
> > > > >   * Patch 2: Comments from Jason
> > > > >    - Fix rdma_is_user_pd
> > > > >   * Patch 3: Comments from Jason to add cleanup patch
> > > > >   * Patch 4: Comments from Jason which include the missing patch 3
> > > > > v3:
> > > > >   * Patch 1: Add patch to fix mlx5_core issue where restrack was not
> > > > >      initialized for some ib_x objects allocated by the driver.
> > > > >   * Patch 5: Fixed hns build issue reported by kbuild
> > > > > v4:
> > > > >   * Patch 3: Extend the use of udata follow comments from Jason
> > > > >      on patch 4
> > > > >   * Patch 4: Follow the change in patch 3, this now became more
> > > > >      focused on the ib_x destroy where udata is not available.
> > > > >
> > > > > Shamir Rabinovitch (4):
> > > > >   RDMA/restrack: resource-tracker should not use uobject pointers
> > > > >   IB/hw: cleanup of incorrect pd->uobject usage
> > > >
> > > > I've applied these two to for-next, with the below modifications.
> > > >
> > >
> > > Don't we learn lately that bool in struct is not cool anymore?
> > >
> > > Thanks,
> >
> > Leon sorry for the dumb questions but can you elaborate a bit about the
> > above statement you made ?
> 
> Linus said no to bool in structs :)
> https://lkml.org/lkml/2017/11/21/384

I still think this is primarily about bitfields & bool. The patch
which sparked the comment was about converting :1 to bool which
greatly increased the struct size.

In this case swapping bool for int isn't going to make things smaller
or clearer..

But if we had multiple flags then it should go to an unsigned int
bitfield rather than a long list of bool..

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