diff mbox

[v2] IB/core: sysfs.c: Fix PerfMgt ClassPortInfo handling

Message ID 568263DF.6020505@dev.mellanox.co.il (mailing list archive)
State Accepted
Headers show

Commit Message

Hal Rosenstock Dec. 29, 2015, 10:43 a.m. UTC
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 <matanb@dev.mellanox.co.il>

Fixes: 145d9c541032 ('IB/core: Display extended counter set if available')

Signed-off-by: Hal Rosenstock <hal@mellanox.com>
Acked-by: Matan Barak <matanb@mellanox.com>
Acked-by: Ira Weiny <ira.weiny@intel.com>
---
Change from v1:
Added fixes line to description

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Or Gerlitz Dec. 29, 2015, 12:21 p.m. UTC | #1
On 12/29/2015 12:43 PM, Hal Rosenstock wrote:
> 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.

>
> 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 <matanb@dev.mellanox.co.il>
>
> Fixes: 145d9c541032 ('IB/core: Display extended counter set if available')
>
> Signed-off-by: Hal Rosenstock <hal@mellanox.com>
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.
> Acked-by: Matan Barak <matanb@mellanox.com>
> Acked-by: Ira Weiny <ira.weiny@intel.com>
> ---
> 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 majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Hal Rosenstock Dec. 29, 2015, 12:46 p.m. UTC | #2
On 12/29/2015 7:21 AM, Or Gerlitz wrote:
> On 12/29/2015 12:43 PM, Hal Rosenstock wrote:
>> This handles issue pointed out by Matan Barak <matanb@dev.mellanox.co.il>
>>
>> Fixes: 145d9c541032 ('IB/core: Display extended counter set if
>> available')
>>
>> Signed-off-by: Hal Rosenstock <hal@mellanox.com>
> 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 majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Christoph Lameter (Ampere) Dec. 29, 2015, 4:58 p.m. UTC | #3
Reviewed-by: Christoph Lameter <cl@linux.com>

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Doug Ledford Jan. 19, 2016, 9:20 p.m. UTC | #4
On 12/29/2015 07:46 AM, Hal Rosenstock wrote:
> On 12/29/2015 7:21 AM, Or Gerlitz wrote:
>> On 12/29/2015 12:43 PM, Hal Rosenstock wrote:
>>> This handles issue pointed out by Matan Barak <matanb@dev.mellanox.co.il>
>>>
>>> Fixes: 145d9c541032 ('IB/core: Display extended counter set if
>>> available')
>>>
>>> Signed-off-by: Hal Rosenstock <hal@mellanox.com>
>> 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 ?
> 

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).
Doug Ledford Jan. 19, 2016, 9:21 p.m. UTC | #5
On 01/19/2016 04:20 PM, Doug Ledford wrote:
> On 12/29/2015 07:46 AM, Hal Rosenstock wrote:
>> On 12/29/2015 7:21 AM, Or Gerlitz wrote:
>>> On 12/29/2015 12:43 PM, Hal Rosenstock wrote:
>>>> This handles issue pointed out by Matan Barak <matanb@dev.mellanox.co.il>
>>>>
>>>> Fixes: 145d9c541032 ('IB/core: Display extended counter set if
>>>> available')
>>>>
>>>> Signed-off-by: Hal Rosenstock <hal@mellanox.com>
>>> 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 ?
>>
> 
> 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.
diff mbox

Patch

diff --git a/drivers/infiniband/core/sysfs.c b/drivers/infiniband/core/sysfs.c
index 539040f..2daf832 100644
--- a/drivers/infiniband/core/sysfs.c
+++ b/drivers/infiniband/core/sysfs.c
@@ -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;