On Fri, Mar 27, 2015 at 6:49 PM, Jason Gunthorpe
[off-list ref] wrote:
On Fri, Mar 27, 2015 at 06:31:26PM +0100, Yun Wang wrote:
quoted
Maybe we can temporarily reserve the old logical, and gradually solve
these problems?
It is best to make behavioral changes in small patches, yes.
I think it is best to address these sorts of problems before trying to
tackle the driver interface side - that will avoid complexity.
ie how does a driver set has_ipoib? It isn't even a sensible question
when it is a per port capability.
I used to imaging it would like:
init_device_mgmt_attributs(device)
{
for_each_port(device)
if (port support XX) {
port.mgmt_attribute |= CAP_XX
if !(device.mgmt_attribute & HAS_XX)
device.mgmt_attribute |= HAS_XX
}
}
That is incase if a device got one port have some capability, the
device have it too, so has_XX() will check on device level that if it
has any port support XX, and cap_XX() to check on port level.
But if has_XX() is only for optimizing the init/exit path, then it
doesn't make sense to me any more...
Regards,
Michael Wang
Jason