IB/core: sysfs.c: Fix PerfMgt ClassPortInfo handling
PATCH v2 1/1 IB/core: sysfs.c: Fix PerfMgt ClassPortInfo handling
Port number is not part of ClassPortInfo attribute but is still needed as a parameter when invoking process_mad.
To properly handle this attribute, port_num is added as a parameter to get_counter_table and get_perf_mad was changed not to store port_num in the attribute itself when it's querying the ClassPortInfo attribute.
This handles issue pointed out by Matan Barak <[email protected]>
---
Change from v1:
Added fixes line to description
drivers/infiniband/core/sysfs.c +6 -4
@@ -438,7 +438,8 @@ static int get_perf_mad(struct ib_device *dev, int port_num, int attr, in_mad->mad_hdr.method =IB_MGMT_METHOD_GET ; in_mad->mad_hdr.attr_id = attr; - in_mad->data[41 ] = port_num;/* PortSelect field */ +if (attr !=IB_PMA_CLASS_PORT_INFO ) + in_mad->data[41 ] = port_num;/* PortSelect field */ if ((dev->process_mad(dev, IB_MAD_IGNORE_MKEY, port_num, NULL, NULL,
@@ -714,11 +715,12 @@ err:* Figure out which counter table to use depending on * the device capabilities. */ -static struct attribute_group *get_counter_table (struct ib_device *dev) +static struct attribute_group *get_counter_table (struct ib_device *dev, +int port_num) {struct ib_class_port_info cpi; -if (get_perf_mad (dev,0 ,IB_PMA_CLASS_PORT_INFO , +if (get_perf_mad (dev, port_num,IB_PMA_CLASS_PORT_INFO , &cpi,40 ,sizeof (cpi)) >=0 ) {if (cpi.capability_mask &&IB_PMA_CLASS_CAP_EXT_WIDTH )
@@ -776,7 +778,7 @@ static int add_port(struct ib_device *device, int port_num, goto err_put; } - p->pma_table =get_counter_table (device); + p->pma_table =get_counter_table (device, port_num); ret =sysfs_create_group (&p->kobj, p->pma_table);if (ret) goto err_put_gid_attrs;
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
A message that is not in the archive (sent off-list or not yet received): 568263DF.6020505-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org
Quoted 2 lines · Hal Rosenstock
Port number is not part of ClassPortInfo attribute but is still needed as a parameter when invoking
process_mad.
Please remove the blank line above your 1st sentence.
Quoted 11 lines
To properly handle this attribute,
port_numis added as a parameter toget_counter_tableandget_perf_madwas changed not to storeport_numin the attribute itself when it's querying the ClassPortInfo attribute.This handles issue pointed out by Matan Barak <[email protected]>
Fixes 145d9c541032 ('IB/core: Display extended counter set if available')
again, remove the blank line after the fixes tag.
Also, I am not that the way Doug is setting the branch for pull would preserve commit IDs when the offending patch landed in Linus tree. If this is the case, we should put your patch in 2nd pull request and have the right commit ID there. Please check with Doug.
Quoted 5 lines
Acked-by Ira Weiny <[email protected]>---
Change from v1:
Added fixes line to description
So this patch makes mlx4 IB driver on Eth ports workable with the 4.5-rc1 proposed bits?
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
A message that is not in the archive (sent off-list or not yet received): 56827AB7.50508-VPRAkNaXOzVWk0Htik3J/[email protected]
Quoted 6 lines · Or Gerlitz
Quoted 5 lines · Hal Rosenstock
This handles issue pointed out by Matan Barak <[email protected]>
Fixes 145d9c541032 ('IB/core: Display extended counter set ifavailable')
Quoted 8 lines
Quoted 1 line
again, remove the blank line after the fixes tag.
Also, I am not that the way Doug is setting the branch for pull would preserve commit IDs when
the offending patch landed in Linus tree. If this is the case, we should put your patch in 2nd pull
request and have the right commit ID there. Please check with Doug.
Doug ?
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
A message that is not in the archive (sent off-list or not yet received): 568280BE.8030005-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org
Quoted 10 lines · Hal Rosenstock
Quoted 9 lines · Or Gerlitz
Quoted 6 lines · Hal Rosenstock
This handles issue pointed out by Matan Barak <[email protected]>
Fixes 145d9c541032 ('IB/core: Display extended counter set ifavailable')
again, remove the blank line after the fixes tag.
Quoted 8 lines
Quoted 5 lines
Also, I am not that the way Doug is setting the branch for pull would preserve commit IDs when
the offending patch landed in Linus tree. If this is the case, we should put your patch in 2nd pull
request and have the right commit ID there. Please check with Doug.Doug ?
The commit id should be preserved as long as the commit ID you reference is from my k.o tree and a k.o/ branch. It only changes if I rebase, and I don't do that on k.o branches that I've pushed to k.o (I have, however, once rebased a k.o/ branch that I had only pushed to github...and I try not to do that and will try even harder in the future not to, but I did do it once).
Signature · 2 lines
Doug Ledford <[email protected]> GPG KeyID: 0E572FDD
A message that is not in the archive (sent off-list or not yet received): [email protected]
Quoted 20 lines · Doug Ledford
Quoted 10 lines · Hal Rosenstock
Quoted 9 lines · Or Gerlitz
Quoted 6 lines · Hal Rosenstock
This handles issue pointed out by Matan Barak <[email protected]>
Fixes 145d9c541032 ('IB/core: Display extended counter set ifavailable')
again, remove the blank line after the fixes tag.
Quoted 8 lines
Quoted 5 lines
Also, I am not that the way Doug is setting the branch for pull would preserve commit IDs when
the offending patch landed in Linus tree. If this is the case, we should put your patch in 2nd pull
request and have the right commit ID there. Please check with Doug.Doug ?
Quoted 7 lines
The commit id should be preserved as long as the commit ID you reference is from my k.o tree and a k.o/ branch. It only changes if I rebase, and I don't do that on k.o branches that I've pushed to k.o (I have, however, once rebased a k.o/ branch that I had only pushed to github...and I try not to do that and will try even harder in the future not to, but I did do it once).
Oh, and I picked this up. Thanks.
Signature · 2 lines
Doug Ledford <[email protected]> GPG KeyID: 0E572FDD
Christoph Lameter
Reviewed-by--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html