[v3,00/33] net/ena: v2.9.0 driver release

Message ID 20240306122445.4350-1-shaibran@amazon.com (mailing list archive)
Headers
Series net/ena: v2.9.0 driver release |

Message

Brandes, Shai March 6, 2024, 12:24 p.m. UTC
  From: Shai Brandes <shaibran@amazon.com>

Hi all, the ena v2.9.0 release introduces:
1. HAL upgrade:
   - renamed the 'base' folder to be 'hal'
   - separated the HAL patches instead of a bulk update.
2. Restructured ena stats and metrics.
3. Restructured the LLQ configuration:
   - configurable via devarg.
   - support device recommendation.
   - restructure the logic in driver.
4. Added support for the admin queue to work only in poll-mode
   - configurable via devarg.
   - allows to bind ports to uio_pci_generic kernel driver.
5. Reworked the device close to exhaust interrupt callbacks and alarms.
6. Fixed a bug in fast mbuf free.
Best regards.

---
v3:
* Fixed missing admin queue missing intialization in patch 0032

v2:
* Fixed minor spelling issues from checkpatch


Shai Brandes (33):
  net/ena: rework the metrics multi-process functions
  net/ena: report new supported link speed capabilities
  net/ena: update imissed stat with Rx overruns
  net/ena: sub-optimal configuration notifications support
  net/ena: fix fast mbuf free
  net/ena: rename base folder to hal
  net/ena: restructure the llq policy setting process
  net/ena/hal: exponential backoff exp limit
  net/ena/hal: add a new csum offload bit
  net/ena/hal: added a bus parameter to ena memcpy macro
  net/ena/hal: optimize Rx ring submission queue
  net/ena/hal: rename fields in completion descriptors
  net/ena/hal: use correct read once on u8 field
  net/ena/hal: add completion descriptor corruption check
  net/ena/hal: malformed Tx descriptor error reason
  net/ena/hal: phc feature modifications
  net/ena/hal: restructure interrupt handling
  net/ena/hal: add unlikely to error checks
  net/ena/hal: missing admin interrupt reset reason
  net/ena/hal: check for existing keep alive notification
  net/ena/hal: modify memory barrier comment
  net/ena/hal: rework Rx ring submission queue
  net/ena/hal: remove operating system type enum
  net/ena/hal: handle command abort
  net/ena/hal: add support for device reset request
  net/ena: cosmetic changes
  net/ena/hal: modify customer metrics memory management
  net/ena/hal: cosmetic changes
  net/ena: update device-preferred size of rings
  net/ena: exhaust interrupt callbacks in device close
  net/ena: support max large llq depth from the device
  net/ena: control path pure polling mode
  net/ena: upgrade driver version to 2.9.0

 doc/guides/nics/ena.rst                       |  61 ++--
 doc/guides/rel_notes/release_24_03.rst        |  11 +
 drivers/net/ena/ena_ethdev.c                  | 321 ++++++++++++------
 drivers/net/ena/ena_ethdev.h                  |  17 +-
 drivers/net/ena/{base => hal}/ena_com.c       | 240 +++++++++----
 drivers/net/ena/{base => hal}/ena_com.h       |  53 ++-
 .../{base => hal}/ena_defs/ena_admin_defs.h   |  92 +++--
 .../{base => hal}/ena_defs/ena_common_defs.h  |   0
 .../{base => hal}/ena_defs/ena_eth_io_defs.h  |  49 ++-
 .../ena/{base => hal}/ena_defs/ena_gen_info.h |   0
 .../ena/{base => hal}/ena_defs/ena_includes.h |   0
 .../{base => hal}/ena_defs/ena_regs_defs.h    |   3 +
 drivers/net/ena/{base => hal}/ena_eth_com.c   |  56 +--
 drivers/net/ena/{base => hal}/ena_eth_com.h   |  14 +-
 drivers/net/ena/{base => hal}/ena_plat.h      |   0
 drivers/net/ena/{base => hal}/ena_plat_dpdk.h |   9 +-
 drivers/net/ena/meson.build                   |   6 +-
 17 files changed, 672 insertions(+), 260 deletions(-)
 rename drivers/net/ena/{base => hal}/ena_com.c (94%)
 rename drivers/net/ena/{base => hal}/ena_com.h (96%)
 rename drivers/net/ena/{base => hal}/ena_defs/ena_admin_defs.h (96%)
 rename drivers/net/ena/{base => hal}/ena_defs/ena_common_defs.h (100%)
 rename drivers/net/ena/{base => hal}/ena_defs/ena_eth_io_defs.h (95%)
 rename drivers/net/ena/{base => hal}/ena_defs/ena_gen_info.h (100%)
 rename drivers/net/ena/{base => hal}/ena_defs/ena_includes.h (100%)
 rename drivers/net/ena/{base => hal}/ena_defs/ena_regs_defs.h (97%)
 rename drivers/net/ena/{base => hal}/ena_eth_com.c (93%)
 rename drivers/net/ena/{base => hal}/ena_eth_com.h (94%)
 rename drivers/net/ena/{base => hal}/ena_plat.h (100%)
 rename drivers/net/ena/{base => hal}/ena_plat_dpdk.h (97%)
  

Comments

Ferruh Yigit March 8, 2024, 5:36 p.m. UTC | #1
On 3/6/2024 12:24 PM, shaibran@amazon.com wrote:
> From: Shai Brandes <shaibran@amazon.com>
> 
> Hi all, the ena v2.9.0 release introduces:
> 1. HAL upgrade:
>    - renamed the 'base' folder to be 'hal'
>    - separated the HAL patches instead of a bulk update.
> 2. Restructured ena stats and metrics.
> 3. Restructured the LLQ configuration:
>    - configurable via devarg.
>    - support device recommendation.
>    - restructure the logic in driver.
> 4. Added support for the admin queue to work only in poll-mode
>    - configurable via devarg.
>    - allows to bind ports to uio_pci_generic kernel driver.
> 5. Reworked the device close to exhaust interrupt callbacks and alarms.
> 6. Fixed a bug in fast mbuf free.
> Best regards.
> 
> ---
> v3:
> * Fixed missing admin queue missing intialization in patch 0032
> 
> v2:
> * Fixed minor spelling issues from checkpatch
> 
> 
> Shai Brandes (33):
>   net/ena: rework the metrics multi-process functions
>   net/ena: report new supported link speed capabilities
>   net/ena: update imissed stat with Rx overruns
>   net/ena: sub-optimal configuration notifications support
>   net/ena: fix fast mbuf free
>   net/ena: rename base folder to hal
>   net/ena: restructure the llq policy setting process
>   net/ena/hal: exponential backoff exp limit
>   net/ena/hal: add a new csum offload bit
>   net/ena/hal: added a bus parameter to ena memcpy macro
>   net/ena/hal: optimize Rx ring submission queue
>   net/ena/hal: rename fields in completion descriptors
>   net/ena/hal: use correct read once on u8 field
>   net/ena/hal: add completion descriptor corruption check
>   net/ena/hal: malformed Tx descriptor error reason
>   net/ena/hal: phc feature modifications
>   net/ena/hal: restructure interrupt handling
>   net/ena/hal: add unlikely to error checks
>   net/ena/hal: missing admin interrupt reset reason
>   net/ena/hal: check for existing keep alive notification
>   net/ena/hal: modify memory barrier comment
>   net/ena/hal: rework Rx ring submission queue
>   net/ena/hal: remove operating system type enum
>   net/ena/hal: handle command abort
>   net/ena/hal: add support for device reset request
>   net/ena: cosmetic changes
>   net/ena/hal: modify customer metrics memory management
>   net/ena/hal: cosmetic changes
>   net/ena: update device-preferred size of rings
>   net/ena: exhaust interrupt callbacks in device close
>   net/ena: support max large llq depth from the device
>   net/ena: control path pure polling mode
>   net/ena: upgrade driver version to 2.9.0
> 

Hi Shai,

I did review only first 10 patches, there are some common patterns to
address in the perspective and commit logs.

Can you please update whole series according to comments? I will review
remaining patches in the new version.

Thanks,
Ferruh
  
Brandes, Shai March 8, 2024, 8:26 p.m. UTC | #2
Sure, will upload a new seried, thanks!

בתאריך 8 במרץ 2024 19:36,‏ Ferruh Yigit <ferruh.yigit@amd.com> כתב:
CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe.



On 3/6/2024 12:24 PM, shaibran@amazon.com wrote:
> From: Shai Brandes <shaibran@amazon.com>
>
> Hi all, the ena v2.9.0 release introduces:
> 1. HAL upgrade:
>    - renamed the 'base' folder to be 'hal'
>    - separated the HAL patches instead of a bulk update.
> 2. Restructured ena stats and metrics.
> 3. Restructured the LLQ configuration:
>    - configurable via devarg.
>    - support device recommendation.
>    - restructure the logic in driver.
> 4. Added support for the admin queue to work only in poll-mode
>    - configurable via devarg.
>    - allows to bind ports to uio_pci_generic kernel driver.
> 5. Reworked the device close to exhaust interrupt callbacks and alarms.
> 6. Fixed a bug in fast mbuf free.
> Best regards.
>
> ---
> v3:
> * Fixed missing admin queue missing intialization in patch 0032
>
> v2:
> * Fixed minor spelling issues from checkpatch
>
>
> Shai Brandes (33):
>   net/ena: rework the metrics multi-process functions
>   net/ena: report new supported link speed capabilities
>   net/ena: update imissed stat with Rx overruns
>   net/ena: sub-optimal configuration notifications support
>   net/ena: fix fast mbuf free
>   net/ena: rename base folder to hal
>   net/ena: restructure the llq policy setting process
>   net/ena/hal: exponential backoff exp limit
>   net/ena/hal: add a new csum offload bit
>   net/ena/hal: added a bus parameter to ena memcpy macro
>   net/ena/hal: optimize Rx ring submission queue
>   net/ena/hal: rename fields in completion descriptors
>   net/ena/hal: use correct read once on u8 field
>   net/ena/hal: add completion descriptor corruption check
>   net/ena/hal: malformed Tx descriptor error reason
>   net/ena/hal: phc feature modifications
>   net/ena/hal: restructure interrupt handling
>   net/ena/hal: add unlikely to error checks
>   net/ena/hal: missing admin interrupt reset reason
>   net/ena/hal: check for existing keep alive notification
>   net/ena/hal: modify memory barrier comment
>   net/ena/hal: rework Rx ring submission queue
>   net/ena/hal: remove operating system type enum
>   net/ena/hal: handle command abort
>   net/ena/hal: add support for device reset request
>   net/ena: cosmetic changes
>   net/ena/hal: modify customer metrics memory management
>   net/ena/hal: cosmetic changes
>   net/ena: update device-preferred size of rings
>   net/ena: exhaust interrupt callbacks in device close
>   net/ena: support max large llq depth from the device
>   net/ena: control path pure polling mode
>   net/ena: upgrade driver version to 2.9.0
>

Hi Shai,

I did review only first 10 patches, there are some common patterns to
address in the perspective and commit logs.

Can you please update whole series according to comments? I will review
remaining patches in the new version.

Thanks,
Ferruh
  
Brandes, Shai March 10, 2024, 2:21 p.m. UTC | #3
> -----Original Message-----
> From: Brandes, Shai <shaibran@amazon.com>
> Sent: Friday, March 8, 2024 10:27 PM
> To: Ferruh Yigit <ferruh.yigit@amd.com>
> Cc: dev@dpdk.org
> Subject: RE: [PATCH v3 00/33] net/ena: v2.9.0 driver release
> 
> Sure, will upload a new seried, thanks!
> 
> בתאריך 8 במרץ 2024 19:36,‏ Ferruh Yigit <ferruh.yigit@amd.com> כתב:
> 
> CAUTION: This email originated from outside of the organization. Do not click
> links or open attachments unless you can confirm the sender and know the
> content is safe.
> 
> 
> 
> On 3/6/2024 12:24 PM, shaibran@amazon.com wrote:
> > From: Shai Brandes <shaibran@amazon.com>
> >
> > Hi all, the ena v2.9.0 release introduces:
> > 1. HAL upgrade:
> >    - renamed the 'base' folder to be 'hal'
> >    - separated the HAL patches instead of a bulk update.
> > 2. Restructured ena stats and metrics.
> > 3. Restructured the LLQ configuration:
> >    - configurable via devarg.
> >    - support device recommendation.
> >    - restructure the logic in driver.
> > 4. Added support for the admin queue to work only in poll-mode
> >    - configurable via devarg.
> >    - allows to bind ports to uio_pci_generic kernel driver.
> > 5. Reworked the device close to exhaust interrupt callbacks and alarms.
> > 6. Fixed a bug in fast mbuf free.
> > Best regards.
> >
> > ---
> > v3:
> > * Fixed missing admin queue missing intialization in patch 0032
> >
> > v2:
> > * Fixed minor spelling issues from checkpatch
> >
> >
> > Shai Brandes (33):
> >   net/ena: rework the metrics multi-process functions
> >   net/ena: report new supported link speed capabilities
> >   net/ena: update imissed stat with Rx overruns
> >   net/ena: sub-optimal configuration notifications support
> >   net/ena: fix fast mbuf free
> >   net/ena: rename base folder to hal
> >   net/ena: restructure the llq policy setting process
> >   net/ena/hal: exponential backoff exp limit
> >   net/ena/hal: add a new csum offload bit
> >   net/ena/hal: added a bus parameter to ena memcpy macro
> >   net/ena/hal: optimize Rx ring submission queue
> >   net/ena/hal: rename fields in completion descriptors
> >   net/ena/hal: use correct read once on u8 field
> >   net/ena/hal: add completion descriptor corruption check
> >   net/ena/hal: malformed Tx descriptor error reason
> >   net/ena/hal: phc feature modifications
> >   net/ena/hal: restructure interrupt handling
> >   net/ena/hal: add unlikely to error checks
> >   net/ena/hal: missing admin interrupt reset reason
> >   net/ena/hal: check for existing keep alive notification
> >   net/ena/hal: modify memory barrier comment
> >   net/ena/hal: rework Rx ring submission queue
> >   net/ena/hal: remove operating system type enum
> >   net/ena/hal: handle command abort
> >   net/ena/hal: add support for device reset request
> >   net/ena: cosmetic changes
> >   net/ena/hal: modify customer metrics memory management
> >   net/ena/hal: cosmetic changes
> >   net/ena: update device-preferred size of rings
> >   net/ena: exhaust interrupt callbacks in device close
> >   net/ena: support max large llq depth from the device
> >   net/ena: control path pure polling mode
> >   net/ena: upgrade driver version to 2.9.0
> >
> 
> Hi Shai,
> 
> I did review only first 10 patches, there are some common patterns to
> address in the perspective and commit logs.
> 
> Can you please update whole series according to comments? I will review
> remaining patches in the new version.
> 
> Thanks,
> Ferruh
> 
[Brandes, Shai] sure, thanks for the comments, we will align accordingly.
  
Ferruh Yigit March 13, 2024, 11:28 a.m. UTC | #4
On 3/10/2024 2:21 PM, Brandes, Shai wrote:
> 
> 
>> -----Original Message-----
>> From: Brandes, Shai <shaibran@amazon.com>
>> Sent: Friday, March 8, 2024 10:27 PM
>> To: Ferruh Yigit <ferruh.yigit@amd.com>
>> Cc: dev@dpdk.org
>> Subject: RE: [PATCH v3 00/33] net/ena: v2.9.0 driver release
>>
>> Sure, will upload a new seried, thanks!
>>
>> בתאריך 8 במרץ 2024 19:36,‏ Ferruh Yigit <ferruh.yigit@amd.com> כתב:
>>
>> CAUTION: This email originated from outside of the organization. Do not click
>> links or open attachments unless you can confirm the sender and know the
>> content is safe.
>>
>>
>>
>> On 3/6/2024 12:24 PM, shaibran@amazon.com wrote:
>>> From: Shai Brandes <shaibran@amazon.com>
>>>
>>> Hi all, the ena v2.9.0 release introduces:
>>> 1. HAL upgrade:
>>>    - renamed the 'base' folder to be 'hal'
>>>    - separated the HAL patches instead of a bulk update.
>>> 2. Restructured ena stats and metrics.
>>> 3. Restructured the LLQ configuration:
>>>    - configurable via devarg.
>>>    - support device recommendation.
>>>    - restructure the logic in driver.
>>> 4. Added support for the admin queue to work only in poll-mode
>>>    - configurable via devarg.
>>>    - allows to bind ports to uio_pci_generic kernel driver.
>>> 5. Reworked the device close to exhaust interrupt callbacks and alarms.
>>> 6. Fixed a bug in fast mbuf free.
>>> Best regards.
>>>
>>> ---
>>> v3:
>>> * Fixed missing admin queue missing intialization in patch 0032
>>>
>>> v2:
>>> * Fixed minor spelling issues from checkpatch
>>>
>>>
>>> Shai Brandes (33):
>>>   net/ena: rework the metrics multi-process functions
>>>   net/ena: report new supported link speed capabilities
>>>   net/ena: update imissed stat with Rx overruns
>>>   net/ena: sub-optimal configuration notifications support
>>>   net/ena: fix fast mbuf free
>>>   net/ena: rename base folder to hal
>>>   net/ena: restructure the llq policy setting process
>>>   net/ena/hal: exponential backoff exp limit
>>>   net/ena/hal: add a new csum offload bit
>>>   net/ena/hal: added a bus parameter to ena memcpy macro
>>>   net/ena/hal: optimize Rx ring submission queue
>>>   net/ena/hal: rename fields in completion descriptors
>>>   net/ena/hal: use correct read once on u8 field
>>>   net/ena/hal: add completion descriptor corruption check
>>>   net/ena/hal: malformed Tx descriptor error reason
>>>   net/ena/hal: phc feature modifications
>>>   net/ena/hal: restructure interrupt handling
>>>   net/ena/hal: add unlikely to error checks
>>>   net/ena/hal: missing admin interrupt reset reason
>>>   net/ena/hal: check for existing keep alive notification
>>>   net/ena/hal: modify memory barrier comment
>>>   net/ena/hal: rework Rx ring submission queue
>>>   net/ena/hal: remove operating system type enum
>>>   net/ena/hal: handle command abort
>>>   net/ena/hal: add support for device reset request
>>>   net/ena: cosmetic changes
>>>   net/ena/hal: modify customer metrics memory management
>>>   net/ena/hal: cosmetic changes
>>>   net/ena: update device-preferred size of rings
>>>   net/ena: exhaust interrupt callbacks in device close
>>>   net/ena: support max large llq depth from the device
>>>   net/ena: control path pure polling mode
>>>   net/ena: upgrade driver version to 2.9.0
>>>
>>
>> Hi Shai,
>>
>> I did review only first 10 patches, there are some common patterns to
>> address in the perspective and commit logs.
>>
>> Can you please update whole series according to comments? I will review
>> remaining patches in the new version.
>>
>> Thanks,
>> Ferruh
>>
> [Brandes, Shai] sure, thanks for the comments, we will align accordingly.
>

Thanks, I can see v4 is out, I will try to review it today for -rc3.
  
Brandes, Shai March 13, 2024, 1:38 p.m. UTC | #5
> -----Original Message-----
> From: Ferruh Yigit <ferruh.yigit@amd.com>
> Sent: Wednesday, March 13, 2024 1:28 PM
> To: Brandes, Shai <shaibran@amazon.com>
> Cc: dev@dpdk.org
> Subject: RE: [EXTERNAL] [PATCH v3 00/33] net/ena: v2.9.0 driver release
> 
> CAUTION: This email originated from outside of the organization. Do not click
> links or open attachments unless you can confirm the sender and know the
> content is safe.
> 
> 
> 
> On 3/10/2024 2:21 PM, Brandes, Shai wrote:
> >
> >
> >> -----Original Message-----
> >> From: Brandes, Shai <shaibran@amazon.com>
> >> Sent: Friday, March 8, 2024 10:27 PM
> >> To: Ferruh Yigit <ferruh.yigit@amd.com>
> >> Cc: dev@dpdk.org
> >> Subject: RE: [PATCH v3 00/33] net/ena: v2.9.0 driver release
> >>
> >> Sure, will upload a new seried, thanks!
> >>
> >> בתאריך 8 במרץ 2024 19:36,‏ Ferruh Yigit <ferruh.yigit@amd.com> כתב:
> >>
> >> CAUTION: This email originated from outside of the organization. Do
> >> not click links or open attachments unless you can confirm the sender
> >> and know the content is safe.
> >>
> >>
> >>
> >> On 3/6/2024 12:24 PM, shaibran@amazon.com wrote:
> >>> From: Shai Brandes <shaibran@amazon.com>
> >>>
> >>> Hi all, the ena v2.9.0 release introduces:
> >>> 1. HAL upgrade:
> >>>    - renamed the 'base' folder to be 'hal'
> >>>    - separated the HAL patches instead of a bulk update.
> >>> 2. Restructured ena stats and metrics.
> >>> 3. Restructured the LLQ configuration:
> >>>    - configurable via devarg.
> >>>    - support device recommendation.
> >>>    - restructure the logic in driver.
> >>> 4. Added support for the admin queue to work only in poll-mode
> >>>    - configurable via devarg.
> >>>    - allows to bind ports to uio_pci_generic kernel driver.
> >>> 5. Reworked the device close to exhaust interrupt callbacks and alarms.
> >>> 6. Fixed a bug in fast mbuf free.
> >>> Best regards.
> >>>
> >>> ---
> >>> v3:
> >>> * Fixed missing admin queue missing intialization in patch 0032
> >>>
> >>> v2:
> >>> * Fixed minor spelling issues from checkpatch
> >>>
> >>>
> >>> Shai Brandes (33):
> >>>   net/ena: rework the metrics multi-process functions
> >>>   net/ena: report new supported link speed capabilities
> >>>   net/ena: update imissed stat with Rx overruns
> >>>   net/ena: sub-optimal configuration notifications support
> >>>   net/ena: fix fast mbuf free
> >>>   net/ena: rename base folder to hal
> >>>   net/ena: restructure the llq policy setting process
> >>>   net/ena/hal: exponential backoff exp limit
> >>>   net/ena/hal: add a new csum offload bit
> >>>   net/ena/hal: added a bus parameter to ena memcpy macro
> >>>   net/ena/hal: optimize Rx ring submission queue
> >>>   net/ena/hal: rename fields in completion descriptors
> >>>   net/ena/hal: use correct read once on u8 field
> >>>   net/ena/hal: add completion descriptor corruption check
> >>>   net/ena/hal: malformed Tx descriptor error reason
> >>>   net/ena/hal: phc feature modifications
> >>>   net/ena/hal: restructure interrupt handling
> >>>   net/ena/hal: add unlikely to error checks
> >>>   net/ena/hal: missing admin interrupt reset reason
> >>>   net/ena/hal: check for existing keep alive notification
> >>>   net/ena/hal: modify memory barrier comment
> >>>   net/ena/hal: rework Rx ring submission queue
> >>>   net/ena/hal: remove operating system type enum
> >>>   net/ena/hal: handle command abort
> >>>   net/ena/hal: add support for device reset request
> >>>   net/ena: cosmetic changes
> >>>   net/ena/hal: modify customer metrics memory management
> >>>   net/ena/hal: cosmetic changes
> >>>   net/ena: update device-preferred size of rings
> >>>   net/ena: exhaust interrupt callbacks in device close
> >>>   net/ena: support max large llq depth from the device
> >>>   net/ena: control path pure polling mode
> >>>   net/ena: upgrade driver version to 2.9.0
> >>>
> >>
> >> Hi Shai,
> >>
> >> I did review only first 10 patches, there are some common patterns to
> >> address in the perspective and commit logs.
> >>
> >> Can you please update whole series according to comments? I will
> >> review remaining patches in the new version.
> >>
> >> Thanks,
> >> Ferruh
> >>
> > [Brandes, Shai] sure, thanks for the comments, we will align accordingly.
> >
> 
> Thanks, I can see v4 is out, I will try to review it today for -rc3.
[Brandes, Shai] Thank you, I appreciate the effort!