* [dpdk-dev] [PATCH 1/1] net/ixgbevf: fix stats update after a PF reset
[not found] <cover.1568216743.git.thierry.herbelot@6wind.com>
@ 2019-09-11 16:00 ` Thierry Herbelot
2019-09-17 3:16 ` Zhang, Qi Z
0 siblings, 1 reply; 4+ messages in thread
From: Thierry Herbelot @ 2019-09-11 16:00 UTC (permalink / raw)
To: dev; +Cc: Guo Fengtian, Thomas Monjalon, stable, wenzhuo.lu, konstantin.ananyev
From: Guo Fengtian <fengtian.guo@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@dpdk.org
Cc: wenzhuo.lu@intel.com
Cc: konstantin.ananyev@intel.com
Signed-off-by: Guo Fengtian <fengtian.guo@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; \
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
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [dpdk-dev] [PATCH 1/1] net/ixgbevf: fix stats update after a PF reset
2019-09-11 16:00 ` [dpdk-dev] [PATCH 1/1] net/ixgbevf: fix stats update after a PF reset Thierry Herbelot
@ 2019-09-17 3:16 ` Zhang, Qi Z
2019-09-30 10:58 ` Ye Xiaolong
0 siblings, 1 reply; 4+ messages in thread
From: Zhang, Qi Z @ 2019-09-17 3:16 UTC (permalink / raw)
To: Thierry Herbelot, dev
Cc: Guo Fengtian, Thomas Monjalon, stable, Lu, Wenzhuo, Ananyev, Konstantin
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Thierry Herbelot
> Sent: Thursday, September 12, 2019 12:01 AM
> To: dev@dpdk.org
> Cc: Guo Fengtian <fengtian.guo@6wind.com>; Thomas Monjalon
> <thomas@monjalon.net>; stable@dpdk.org; Lu, Wenzhuo
> <wenzhuo.lu@intel.com>; Ananyev, Konstantin
> <konstantin.ananyev@intel.com>
> Subject: [dpdk-dev] [PATCH 1/1] net/ixgbevf: fix stats update after a PF reset
>
> From: Guo Fengtian <fengtian.guo@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@dpdk.org
> Cc: wenzhuo.lu@intel.com
> Cc: konstantin.ananyev@intel.com
>
> Signed-off-by: Guo Fengtian <fengtian.guo@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
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [dpdk-dev] [PATCH 1/1] net/ixgbevf: fix stats update after a PF reset
2019-09-17 3:16 ` Zhang, Qi Z
@ 2019-09-30 10:58 ` Ye Xiaolong
2019-09-30 11:06 ` Thierry Herbelot
0 siblings, 1 reply; 4+ messages in thread
From: Ye Xiaolong @ 2019-09-30 10:58 UTC (permalink / raw)
To: Zhang, Qi Z
Cc: Thierry Herbelot, dev, Guo Fengtian, Thomas Monjalon, stable, Lu,
Wenzhuo, Ananyev, Konstantin
Hi, Thierry & Fengtian
Any update about this patch according to Qi's comment?
Thanks,
Xiaolong
On 09/17, Zhang, Qi Z wrote:
>
>
>> -----Original Message-----
>> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Thierry Herbelot
>> Sent: Thursday, September 12, 2019 12:01 AM
>> To: dev@dpdk.org
>> Cc: Guo Fengtian <fengtian.guo@6wind.com>; Thomas Monjalon
>> <thomas@monjalon.net>; stable@dpdk.org; Lu, Wenzhuo
>> <wenzhuo.lu@intel.com>; Ananyev, Konstantin
>> <konstantin.ananyev@intel.com>
>> Subject: [dpdk-dev] [PATCH 1/1] net/ixgbevf: fix stats update after a PF reset
>>
>> From: Guo Fengtian <fengtian.guo@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@dpdk.org
>> Cc: wenzhuo.lu@intel.com
>> Cc: konstantin.ananyev@intel.com
>>
>> Signed-off-by: Guo Fengtian <fengtian.guo@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
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [dpdk-dev] [PATCH 1/1] net/ixgbevf: fix stats update after a PF reset
2019-09-30 10:58 ` Ye Xiaolong
@ 2019-09-30 11:06 ` Thierry Herbelot
0 siblings, 0 replies; 4+ messages in thread
From: Thierry Herbelot @ 2019-09-30 11:06 UTC (permalink / raw)
To: Ye Xiaolong, Zhang, Qi Z
Cc: dev, Guo Fengtian, Thomas Monjalon, stable, Lu, Wenzhuo, Ananyev,
Konstantin
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@dpdk.org] On Behalf Of Thierry Herbelot
>>> Sent: Thursday, September 12, 2019 12:01 AM
>>> To: dev@dpdk.org
>>> Cc: Guo Fengtian <fengtian.guo@6wind.com>; Thomas Monjalon
>>> <thomas@monjalon.net>; stable@dpdk.org; Lu, Wenzhuo
>>> <wenzhuo.lu@intel.com>; Ananyev, Konstantin
>>> <konstantin.ananyev@intel.com>
>>> Subject: [dpdk-dev] [PATCH 1/1] net/ixgbevf: fix stats update after a PF reset
>>>
>>> From: Guo Fengtian <fengtian.guo@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@dpdk.org
>>> Cc: wenzhuo.lu@intel.com
>>> Cc: konstantin.ananyev@intel.com
>>>
>>> Signed-off-by: Guo Fengtian <fengtian.guo@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@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.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2019-09-30 11:06 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <cover.1568216743.git.thierry.herbelot@6wind.com>
2019-09-11 16:00 ` [dpdk-dev] [PATCH 1/1] net/ixgbevf: fix stats update after a PF reset Thierry Herbelot
2019-09-17 3:16 ` Zhang, Qi Z
2019-09-30 10:58 ` Ye Xiaolong
2019-09-30 11:06 ` Thierry Herbelot
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).