patches for DPDK stable branches
 help / color / mirror / Atom feed
From: "lihuisong (C)" <lihuisong@huawei.com>
To: Stephen Hemminger <stephen@networkplumber.org>,
	Kaiwen Deng <kaiwenx.deng@intel.com>
Cc: <dev@dpdk.org>, <stable@dpdk.org>, <qiming.yang@intel.com>,
	<yidingx.zhou@intel.com>, Chas Williams <chas3@att.com>,
	"Min Hu (Connor)" <humin29@huawei.com>,
	Declan Doherty <declan.doherty@intel.com>,
	Daniel Mrzyglod <danielx.t.mrzyglod@intel.com>
Subject: Re: [PATCH] net/bonding: fix iavf bond device query stats
Date: Fri, 9 Jun 2023 09:38:50 +0800	[thread overview]
Message-ID: <595cbf81-d78a-a7f5-3c1b-7c1c70a05fd8@huawei.com> (raw)
In-Reply-To: <20230608084113.06e6594f@hermes.local>


在 2023/6/8 23:41, Stephen Hemminger 写道:
> On Thu,  8 Jun 2023 15:26:36 +0800
> Kaiwen Deng <kaiwenx.deng@intel.com> wrote:
>
>> If the rte_eth_stats_get function does not work properly,
>> the update function of the slave device does not work
>> properly When device is bonded as BONDING_MODE_TLB mode.
>>
>> This commit adds handling for functions that do not get
>> stats properly.
>>
>> Fixes: 7c76a747e68c ("bond: add mode 5")
>> Cc: stable@dpdk.org
>>
>> Signed-off-by: Kaiwen Deng <kaiwenx.deng@intel.com>
>> ---
>>   drivers/net/bonding/rte_eth_bond_pmd.c | 7 ++++++-
>>   1 file changed, 6 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
>> index f0c4f7d26b..edce621496 100644
>> --- a/drivers/net/bonding/rte_eth_bond_pmd.c
>> +++ b/drivers/net/bonding/rte_eth_bond_pmd.c
>> @@ -894,6 +894,7 @@ bond_ethdev_update_tlb_slave_cb(void *arg)
>>   	uint8_t update_stats = 0;
>>   	uint16_t slave_id;
>>   	uint16_t i;
>> +	int ret;
>>   
>>   	internals->slave_update_idx++;
>>   
>> @@ -903,7 +904,10 @@ bond_ethdev_update_tlb_slave_cb(void *arg)
>>   
>>   	for (i = 0; i < internals->active_slave_count; i++) {
>>   		slave_id = internals->active_slaves[i];
>> -		rte_eth_stats_get(slave_id, &slave_stats);
>> +		ret = rte_eth_stats_get(slave_id, &slave_stats);
>> +		if (ret)
>> +			goto OUT;
>> +
>>   		tx_bytes = slave_stats.obytes - tlb_last_obytets[slave_id];
>>   		bandwidth_left(slave_id, tx_bytes,
>>   				internals->slave_update_idx, &bwg_array[i]);
>> @@ -922,6 +926,7 @@ bond_ethdev_update_tlb_slave_cb(void *arg)
>>   	for (i = 0; i < slave_count; i++)
>>   		internals->tlb_slaves_order[i] = bwg_array[i].slave;
>>   
>> +OUT:
>>   	rte_eal_alarm_set(REORDER_PERIOD_MS * 1000, bond_ethdev_update_tlb_slave_cb,
>>   			(struct bond_dev_private *)internals);
>>   }
> Why is stats get failing on a device, looks like the real bug is there?
> Better to fix the buggy driver. Other usages might already be affected.
I think this is the case if the driver happens to have an abnormal event 
and do reset.
So here need to handle this fairlure.
Additionally, suggest that this API in bond_ethdev_stats_get should do 
the same things.
> Silently ignoring the error without logging is also not good.
> Lastly, DPDK coding style is to use lower case for goto labels.
+1
> .

  reply	other threads:[~2023-06-09  1:38 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-08  7:26 Kaiwen Deng
2023-06-08 15:41 ` Stephen Hemminger
2023-06-09  1:38   ` lihuisong (C) [this message]
2023-06-23 13:13     ` Ferruh Yigit

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=595cbf81-d78a-a7f5-3c1b-7c1c70a05fd8@huawei.com \
    --to=lihuisong@huawei.com \
    --cc=chas3@att.com \
    --cc=danielx.t.mrzyglod@intel.com \
    --cc=declan.doherty@intel.com \
    --cc=dev@dpdk.org \
    --cc=humin29@huawei.com \
    --cc=kaiwenx.deng@intel.com \
    --cc=qiming.yang@intel.com \
    --cc=stable@dpdk.org \
    --cc=stephen@networkplumber.org \
    --cc=yidingx.zhou@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).