Re: [PATCH rdma-next 1/6] IB/core: Save the device attributes on the device structure

Or Gerlitz
2015-12-20T17:05:27Z

On 12/18/2015 6:49 PM, Jason Gunthorpe wrote:
> On Fri, Dec 18, 2015 at 10:08:41AM +0200, Or Gerlitz wrote:
>> On 12/17/2015 7:41 PM, Jason Gunthorpe wrote:
>>> On Thu, Dec 17, 2015 at 03:44:19PM +0200, Sagi Grimberg wrote:
>>>>> + ret = ib_query_device(device, &device->attrs);
>>>>> + if (ret) {
>>>>> + printk(KERN_WARNING "Couldn't query the device attributes\n");
>>>>> + goto out;
>>>>> + }
>>>>> +
>>>> I thought we're all for removing the call altogether aren't we?
>>>>
>>>> I'd say just call device->query_device() instead.
>>> Christoph's patch even got rid of device->query_device(),
>> Wrong.
> Not really, lots of hunks in Christoph's patch are removing query_device ie:
>
> @@ -1305,7 +1299,6 @@ int mthca_register_device(struct mthca_dev *dev)
> dev->ib_dev.phys_port_cnt = dev->limits.num_ports;
> dev->ib_dev.num_comp_vectors = 1;
> dev->ib_dev.dma_device = &dev->pdev->dev;
> - dev->ib_dev.query_device = mthca_query_device;
> dev->ib_dev.query_port = mthca_query_port;

I know, I wanted to stress the point that under the udata architecture
the query_device callbacked can't be just deleted since drivers use that
to get/provide data to/from their user-space libraries.

> Sure, it sticks around in a couple places but it isn't 'query_device'
> anymore, it is 'query_device_udata' which is reasonable.
>

I see what you mean. But this involved somehow deeper patching to mlx4
which should be applied later on to any ll driver that would like to
expose udata for their query device entry (and return back that entry as
well after we delete it now in Christoph's patch).

Or.