[dpdk-dev] [PATCH 1/1] net/ixgbevf: fix stats update after a PF reset

Thierry Herbelot thierry.herbelot at 6wind.com
Mon Sep 30 13:06:28 CEST 2019


On 9/30/19 12:58 PM, Ye Xiaolong wrote:
> Hi, Thierry & Fengtian
> 
> Any update about this patch according to Qi's comment?

Hello, Xiaolong

I agreee with Qi's comment: this patch solves one issue, but causes 
another problem.

I am completely open to any suggestion about how to retrieve the PF 
status from the VF device.

	Regards

	Thierry

> 
> Thanks,
> Xiaolong
> 
> On 09/17, Zhang, Qi Z wrote:
>>
>>
>>> -----Original Message-----
>>> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Thierry Herbelot
>>> Sent: Thursday, September 12, 2019 12:01 AM
>>> To: dev at dpdk.org
>>> Cc: Guo Fengtian <fengtian.guo at 6wind.com>; Thomas Monjalon
>>> <thomas at monjalon.net>; stable at dpdk.org; Lu, Wenzhuo
>>> <wenzhuo.lu at intel.com>; Ananyev, Konstantin
>>> <konstantin.ananyev at intel.com>
>>> Subject: [dpdk-dev] [PATCH 1/1] net/ixgbevf: fix stats update after a PF reset
>>>
>>> From: Guo Fengtian <fengtian.guo at 6wind.com>
>>>
>>> When PF is set down, in VF, the value of stats register is zero.
>>> So only increase stats when it's non zero.
>>>
>>> Fixes: af75078fece3 ('first public release')
>>> Cc: stable at dpdk.org
>>> Cc: wenzhuo.lu at intel.com
>>> Cc: konstantin.ananyev at intel.com
>>>
>>> Signed-off-by: Guo Fengtian <fengtian.guo at 6wind.com>
>>> ---
>>>   drivers/net/ixgbe/ixgbe_ethdev.c | 6 ++++--
>>>   1 file changed, 4 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c
>>> b/drivers/net/ixgbe/ixgbe_ethdev.c
>>> index 7eb3d0567b58..27c540f60563 100644
>>> --- a/drivers/net/ixgbe/ixgbe_ethdev.c
>>> +++ b/drivers/net/ixgbe/ixgbe_ethdev.c
>>> @@ -385,7 +385,8 @@ static void ixgbe_l2_tunnel_conf(struct rte_eth_dev
>>> *dev);
>>>   #define UPDATE_VF_STAT(reg, last, cur)                          \
>>>   {                                                               \
>>>   	uint32_t latest = IXGBE_READ_REG(hw, reg);              \
>>> -	cur += (latest - last) & UINT_MAX;                      \
>>> +	if (latest)                                             \
>>> +		cur += (latest - last) & UINT_MAX;              \
>>
>> There is still a chance that PF is up but the latest reg read returns 0, since it's a cyclic counter, is any way to check the PF status directly?
>>
>>>   	last = latest;                                          \
>>>   }
>>>
>>> @@ -394,7 +395,8 @@ static void ixgbe_l2_tunnel_conf(struct rte_eth_dev
>>> *dev);
>>>   	u64 new_lsb = IXGBE_READ_REG(hw, lsb);                   \
>>>   	u64 new_msb = IXGBE_READ_REG(hw, msb);                   \
>>>   	u64 latest = ((new_msb << 32) | new_lsb);                \
>>> -	cur += (0x1000000000LL + latest - last) & 0xFFFFFFFFFLL; \
>>> +	if (latest)                                              \
>>> +		cur += (0x1000000000LL + latest - last) & 0xFFFFFFFFFLL;\
>>>   	last = latest;                                           \
>>>   }
>>>
>>> --
>>> 2.20.1
>>


-- 
Thierry Herbelot
6WIND
Senior Software Engineer

Tel: +33 1 39 30 92 61
Fax: +33 1 39 30 92 11
thierry.herbelot at 6wind.com
www.6wind.com
Immeuble Central Gare - Bât C 1, place Charles de Gaulle 78180 
Montigny-le-Bretonneux, France

Ce courriel ainsi que toutes les pièces jointes, est uniquement destiné 
à son ou ses destinataires. Il contient des informations confidentielles 
qui sont la propriété de 6WIND. Toute révélation, distribution ou copie 
des informations qu'il contient est strictement interdite. Si vous avez 
reçu ce message par erreur, veuillez immédiatement le signaler à 
l'émetteur et détruire toutes les données reçues

This e-mail message, including any attachments, is for the sole use of 
the intended recipient(s) and contains information that is confidential 
and proprietary to 6WIND. All unauthorized review, use, disclosure or 
distribution is prohibited. If you are not the intended recipient, 
please contact the sender by reply e-mail and destroy all copies of the 
original message.


More information about the dev mailing list