[00/20] Upgrade HAL and add ENI metrics support
mbox series

Message ID 20200917053035.1889989-1-mk@semihalf.com
Headers show
Series
  • Upgrade HAL and add ENI metrics support
Related show

Message

Michal Krawczyk Sept. 17, 2020, 5:30 a.m. UTC
Hi,

this patchset contains upgrade of the of the HAL, which, beside some fixes, also
adds possibility for reading ENI metrics from the device.

Those are further exposed to the DPDK applicaiton using xstats.

As it's an extra call to the admin queue during a PMD runtime, for multithread
safet the locks had to be added around those functions.

Michal Krawczyk (20):
  net/ena/base: use min/max macros with type conversion
  net/ena/base: specify operations of rte_delay
  net/ena/base: support 'resource busy' admin status
  net/ena/base: exponential delay in polling functions
  net/ena/base: fix release of wait event
  net/ena/base: remove MMIOWB_NOT_DEFINED ifdef
  net/ena/base: rework setup of accelerated LLQ mode
  net/ena/base: add ENI stats
  net/ena/base: split RSS function and hash getters
  net/ena/base: do not use hardcoded RSS key buffer size
  net/ena/base: check for RSS key configuration support
  net/ena/base: minor style adjustments
  net/ena/base: add missing unlikely
  net/ena/base: store admin stats as u64
  net/ena/base: add check for meta desc being NULL
  net/ena/base: convert values to u32 before shifting
  net/ena/base: simplify loop copying Rx descs
  net/ena/base: update generation date and commit
  net/ena: lock dynamic usages of the admin queue
  net/ena: expose ENI stats as additional xstats

 drivers/net/ena/base/ena_com.c                | 137 ++++++++++++------
 drivers/net/ena/base/ena_com.h                |  57 ++++++--
 .../net/ena/base/ena_defs/ena_admin_defs.h    |  56 ++++++-
 .../net/ena/base/ena_defs/ena_eth_io_defs.h   |   3 +-
 drivers/net/ena/base/ena_defs/ena_gen_info.h  |   5 +-
 drivers/net/ena/base/ena_defs/ena_regs_defs.h |   3 +-
 drivers/net/ena/base/ena_eth_com.c            |  34 +++--
 drivers/net/ena/base/ena_eth_com.h            |   2 +-
 drivers/net/ena/base/ena_plat_dpdk.h          |  19 ++-
 drivers/net/ena/ena_ethdev.c                  |  86 ++++++++++-
 drivers/net/ena/ena_ethdev.h                  |  34 +++++
 11 files changed, 344 insertions(+), 92 deletions(-)

Comments

Stephen Hemminger Sept. 17, 2020, 5:02 p.m. UTC | #1
On Thu, 17 Sep 2020 07:30:15 +0200
Michal Krawczyk <mk@semihalf.com> wrote:

> Hi,
> 
> this patchset contains upgrade of the of the HAL, which, beside some fixes, also
> adds possibility for reading ENI metrics from the device.
> 
> Those are further exposed to the DPDK applicaiton using xstats.
> 
> As it's an extra call to the admin queue during a PMD runtime, for multithread
> safet the locks had to be added around those functions.
> 
> Michal Krawczyk (20):
>   net/ena/base: use min/max macros with type conversion
>   net/ena/base: specify operations of rte_delay
>   net/ena/base: support 'resource busy' admin status
>   net/ena/base: exponential delay in polling functions
>   net/ena/base: fix release of wait event
>   net/ena/base: remove MMIOWB_NOT_DEFINED ifdef
>   net/ena/base: rework setup of accelerated LLQ mode
>   net/ena/base: add ENI stats
>   net/ena/base: split RSS function and hash getters
>   net/ena/base: do not use hardcoded RSS key buffer size
>   net/ena/base: check for RSS key configuration support
>   net/ena/base: minor style adjustments
>   net/ena/base: add missing unlikely
>   net/ena/base: store admin stats as u64
>   net/ena/base: add check for meta desc being NULL
>   net/ena/base: convert values to u32 before shifting
>   net/ena/base: simplify loop copying Rx descs
>   net/ena/base: update generation date and commit
>   net/ena: lock dynamic usages of the admin queue
>   net/ena: expose ENI stats as additional xstats
> 
>  drivers/net/ena/base/ena_com.c                | 137 ++++++++++++------
>  drivers/net/ena/base/ena_com.h                |  57 ++++++--
>  .../net/ena/base/ena_defs/ena_admin_defs.h    |  56 ++++++-
>  .../net/ena/base/ena_defs/ena_eth_io_defs.h   |   3 +-
>  drivers/net/ena/base/ena_defs/ena_gen_info.h  |   5 +-
>  drivers/net/ena/base/ena_defs/ena_regs_defs.h |   3 +-
>  drivers/net/ena/base/ena_eth_com.c            |  34 +++--
>  drivers/net/ena/base/ena_eth_com.h            |   2 +-
>  drivers/net/ena/base/ena_plat_dpdk.h          |  19 ++-
>  drivers/net/ena/ena_ethdev.c                  |  86 ++++++++++-
>  drivers/net/ena/ena_ethdev.h                  |  34 +++++
>  11 files changed, 344 insertions(+), 92 deletions(-)
> 

Looks good

Reviewed-by: Stephen Hemminger <stephen@networkplumber.org>
Ferruh Yigit Sept. 22, 2020, 12:24 p.m. UTC | #2
On 9/17/2020 6:02 PM, Stephen Hemminger wrote:
> On Thu, 17 Sep 2020 07:30:15 +0200
> Michal Krawczyk <mk@semihalf.com> wrote:
> 
>> Hi,
>>
>> this patchset contains upgrade of the of the HAL, which, beside some fixes, also
>> adds possibility for reading ENI metrics from the device.
>>
>> Those are further exposed to the DPDK applicaiton using xstats.
>>
>> As it's an extra call to the admin queue during a PMD runtime, for multithread
>> safet the locks had to be added around those functions.
>>
>> Michal Krawczyk (20):
>>    net/ena/base: use min/max macros with type conversion
>>    net/ena/base: specify operations of rte_delay
>>    net/ena/base: support 'resource busy' admin status
>>    net/ena/base: exponential delay in polling functions
>>    net/ena/base: fix release of wait event
>>    net/ena/base: remove MMIOWB_NOT_DEFINED ifdef
>>    net/ena/base: rework setup of accelerated LLQ mode
>>    net/ena/base: add ENI stats
>>    net/ena/base: split RSS function and hash getters
>>    net/ena/base: do not use hardcoded RSS key buffer size
>>    net/ena/base: check for RSS key configuration support
>>    net/ena/base: minor style adjustments
>>    net/ena/base: add missing unlikely
>>    net/ena/base: store admin stats as u64
>>    net/ena/base: add check for meta desc being NULL
>>    net/ena/base: convert values to u32 before shifting
>>    net/ena/base: simplify loop copying Rx descs
>>    net/ena/base: update generation date and commit
>>    net/ena: lock dynamic usages of the admin queue
>>    net/ena: expose ENI stats as additional xstats
>>
>>   drivers/net/ena/base/ena_com.c                | 137 ++++++++++++------
>>   drivers/net/ena/base/ena_com.h                |  57 ++++++--
>>   .../net/ena/base/ena_defs/ena_admin_defs.h    |  56 ++++++-
>>   .../net/ena/base/ena_defs/ena_eth_io_defs.h   |   3 +-
>>   drivers/net/ena/base/ena_defs/ena_gen_info.h  |   5 +-
>>   drivers/net/ena/base/ena_defs/ena_regs_defs.h |   3 +-
>>   drivers/net/ena/base/ena_eth_com.c            |  34 +++--
>>   drivers/net/ena/base/ena_eth_com.h            |   2 +-
>>   drivers/net/ena/base/ena_plat_dpdk.h          |  19 ++-
>>   drivers/net/ena/ena_ethdev.c                  |  86 ++++++++++-
>>   drivers/net/ena/ena_ethdev.h                  |  34 +++++
>>   11 files changed, 344 insertions(+), 92 deletions(-)
>>
> 
> Looks good
> 
> Reviewed-by: Stephen Hemminger <stephen@networkplumber.org>
> 

Series applied to dpdk-next-net/main, thanks.