On Mon, May 28, 2018 at 11:27:52AM -0600, Jason Gunthorpe wrote: > On Sun, May 27, 2018 at 01:23:44PM +0300, Leon Romanovsky wrote: > > > + if (!mcounters->hw_cntrs_hndl) { > > + mcounters->hw_cntrs_hndl = > > + (void *)mlx5_fc_create(to_mdev(ibcounters->device)->mdev, > > + false); > > No unnecessary casts hw_cntrs_hndl was intended to be generic enough to be connected with different type of counters and not only mlx5_fc. However, i don't see any coming feature are using this generic interface, so I'll remove. > > > +struct mlx5_ib_flow_counters_data { > > + __aligned_u64 counters_data; > > I think this is supposed to use RDMA_UAPI_PTR() these days. It is a little bit problematic, 1. That RDMA_UAPI_PTR is declared in ib_user_ioctl_verbs.h, while mlx5_ib_flow_counters_data in mlx5-abi.h. 2. Other similar __aligned_u64 needs to be updated in other mlx5-abi.h structures. Thanks > > Jason