[v3,00/30] Update ENA driver to v2.1.0
mbox series

Message ID 20200408082921.31000-1-mk@semihalf.com
Headers show
Series
  • Update ENA driver to v2.1.0
Related show

Message

Michał Krawczyk April 8, 2020, 8:28 a.m. UTC
Hi,

This patchset is including severeal changes, including:
* ena_com (HAL) update
* Support for upcoming device features
* Refactor of the IO path
* Documentation update about ENA usage on metal instances

v2:
* Fix comments from review

v3:
* Split ena_com patch for RSS into several patches
* Add entry to v20.05 release notes
* Minor fixes of the commit logs
* Update copyright date in patches doing the modifications

Igor Chauskin (2):
  net/ena/base: make allocation macros thread-safe
  net/ena/base: prevent allocation of 0-sized memory

Michal Krawczyk (28):
  net/ena: check if size of buffer is at least 1400B
  net/ena/base: generate default, random RSS hash key
  net/ena/base: fix testing for supported hash func
  net/ena/base: remove unnecessary conversion of the ind tbl
  net/ena/base: rework interrupt moderation
  net/ena/base: remove extra properties strings
  net/ena/base: add accelerated LLQ mode
  net/ena/base: fix documentation of the functions
  net/ena/base: fix indentation in cq polling
  net/ena/base: add error logs when preparing Tx
  net/ena/base: use 48-bit memory addresses in ena_com
  net/ena/base: fix types for printing timestamps
  net/ena/base: fix indentation of multiple defines
  net/ena/base: update gen date and commit
  net/ena: set IO ring size to the valid value
  net/ena: refactor getting IO queues capabilities
  net/ena: add support for large LLQ headers
  net/ena: remove memory barriers before doorbells
  net/ena: add Tx drops statistic
  net/ena: disable meta caching
  net/ena: refactor Rx path
  net/ena: rework getting number of available descs
  net/ena: limit refill threshold by fixed value
  net/ena: use macros for ring idx operations
  net/ena: refactor Tx path
  net/ena: reuse 0 length Rx descriptor
  doc: add notes on ENA usage on metal instances
  net/ena: update version of the driver to v2.1.0

 doc/guides/nics/ena.rst                       |  58 +-
 doc/guides/rel_notes/release_20_05.rst        |   9 +
 drivers/net/ena/base/ena_com.c                | 340 ++-----
 drivers/net/ena/base/ena_com.h                | 223 +----
 .../net/ena/base/ena_defs/ena_admin_defs.h    |  41 +-
 .../net/ena/base/ena_defs/ena_common_defs.h   |   8 +-
 drivers/net/ena/base/ena_defs/ena_gen_info.h  |   6 +-
 drivers/net/ena/base/ena_eth_com.c            |  75 +-
 drivers/net/ena/base/ena_plat_dpdk.h          |  48 +-
 drivers/net/ena/ena_ethdev.c                  | 902 +++++++++++-------
 drivers/net/ena/ena_ethdev.h                  |  48 +-
 11 files changed, 940 insertions(+), 818 deletions(-)

Comments

Ferruh Yigit April 8, 2020, 1:23 p.m. UTC | #1
On 4/8/2020 9:28 AM, Michal Krawczyk wrote:
> Hi,
> 
> This patchset is including severeal changes, including:
> * ena_com (HAL) update
> * Support for upcoming device features
> * Refactor of the IO path
> * Documentation update about ENA usage on metal instances
> 
> v2:
> * Fix comments from review
> 
> v3:
> * Split ena_com patch for RSS into several patches
> * Add entry to v20.05 release notes
> * Minor fixes of the commit logs
> * Update copyright date in patches doing the modifications
> 
> Igor Chauskin (2):
>   net/ena/base: make allocation macros thread-safe
>   net/ena/base: prevent allocation of 0-sized memory
> 
> Michal Krawczyk (28):
>   net/ena: check if size of buffer is at least 1400B
>   net/ena/base: generate default, random RSS hash key
>   net/ena/base: fix testing for supported hash func
>   net/ena/base: remove unnecessary conversion of the ind tbl
>   net/ena/base: rework interrupt moderation
>   net/ena/base: remove extra properties strings
>   net/ena/base: add accelerated LLQ mode
>   net/ena/base: fix documentation of the functions
>   net/ena/base: fix indentation in cq polling
>   net/ena/base: add error logs when preparing Tx
>   net/ena/base: use 48-bit memory addresses in ena_com
>   net/ena/base: fix types for printing timestamps
>   net/ena/base: fix indentation of multiple defines
>   net/ena/base: update gen date and commit
>   net/ena: set IO ring size to the valid value
>   net/ena: refactor getting IO queues capabilities
>   net/ena: add support for large LLQ headers
>   net/ena: remove memory barriers before doorbells
>   net/ena: add Tx drops statistic
>   net/ena: disable meta caching
>   net/ena: refactor Rx path
>   net/ena: rework getting number of available descs
>   net/ena: limit refill threshold by fixed value
>   net/ena: use macros for ring idx operations
>   net/ena: refactor Tx path
>   net/ena: reuse 0 length Rx descriptor
>   doc: add notes on ENA usage on metal instances
>   net/ena: update version of the driver to v2.1.0

Hi Michał,

Following commits are missing fixes tag, can you please provide them, I can add
them in next-net tree later.

Missing 'Fixes' tag:
        net/ena/base: fix testing for supported hash func
        net/ena/base: fix documentation of functions
        net/ena/base: fix indentation in CQ polling
        net/ena/base: fix types for printing timestamps
        net/ena/base: fix indentation of multiple defines


Series applied to dpdk-next-net/master, thanks.
Michał Krawczyk April 9, 2020, 10:56 a.m. UTC | #2
śr., 8 kwi 2020 o 15:23 Ferruh Yigit <ferruh.yigit@intel.com> napisał(a):
>
> On 4/8/2020 9:28 AM, Michal Krawczyk wrote:
> > Hi,
> >
> > This patchset is including severeal changes, including:
> > * ena_com (HAL) update
> > * Support for upcoming device features
> > * Refactor of the IO path
> > * Documentation update about ENA usage on metal instances
> >
> > v2:
> > * Fix comments from review
> >
> > v3:
> > * Split ena_com patch for RSS into several patches
> > * Add entry to v20.05 release notes
> > * Minor fixes of the commit logs
> > * Update copyright date in patches doing the modifications
> >
> > Igor Chauskin (2):
> >   net/ena/base: make allocation macros thread-safe
> >   net/ena/base: prevent allocation of 0-sized memory
> >
> > Michal Krawczyk (28):
> >   net/ena: check if size of buffer is at least 1400B
> >   net/ena/base: generate default, random RSS hash key
> >   net/ena/base: fix testing for supported hash func
> >   net/ena/base: remove unnecessary conversion of the ind tbl
> >   net/ena/base: rework interrupt moderation
> >   net/ena/base: remove extra properties strings
> >   net/ena/base: add accelerated LLQ mode
> >   net/ena/base: fix documentation of the functions
> >   net/ena/base: fix indentation in cq polling
> >   net/ena/base: add error logs when preparing Tx
> >   net/ena/base: use 48-bit memory addresses in ena_com
> >   net/ena/base: fix types for printing timestamps
> >   net/ena/base: fix indentation of multiple defines
> >   net/ena/base: update gen date and commit
> >   net/ena: set IO ring size to the valid value
> >   net/ena: refactor getting IO queues capabilities
> >   net/ena: add support for large LLQ headers
> >   net/ena: remove memory barriers before doorbells
> >   net/ena: add Tx drops statistic
> >   net/ena: disable meta caching
> >   net/ena: refactor Rx path
> >   net/ena: rework getting number of available descs
> >   net/ena: limit refill threshold by fixed value
> >   net/ena: use macros for ring idx operations
> >   net/ena: refactor Tx path
> >   net/ena: reuse 0 length Rx descriptor
> >   doc: add notes on ENA usage on metal instances
> >   net/ena: update version of the driver to v2.1.0
>
> Hi Michał,
>
> Following commits are missing fixes tag, can you please provide them, I can add
> them in next-net tree later.
>

Hi Ferruh,

thanks, I'm adding appropriate fixes tags below (only one cced to
stable, as rest of them is mostly cosmetic changes).

> Missing 'Fixes' tag:
>         net/ena/base: fix testing for supported hash func

Fixes: 99ecfbf845b3 ("ena: import communication layer")
Cc: stable@dpdk.org

>         net/ena/base: fix documentation of functions

Fixes: 99ecfbf845b3 ("ena: import communication layer")

>         net/ena/base: fix indentation in CQ polling

Fixes: 3adcba9a8987 ("net/ena: update HAL to the newer version")

>         net/ena/base: fix types for printing timestamps

Fixes: b2b02edeb0d6 ("net/ena/base: upgrade HAL for new HW features")

>         net/ena/base: fix indentation of multiple defines

Fixes: 99ecfbf845b3 ("ena: import communication layer")

>
>
> Series applied to dpdk-next-net/master, thanks.

Thanks,
Michal
Ferruh Yigit April 9, 2020, 11:40 a.m. UTC | #3
On 4/9/2020 11:56 AM, Michał Krawczyk wrote:
> śr., 8 kwi 2020 o 15:23 Ferruh Yigit <ferruh.yigit@intel.com> napisał(a):
>>
>> On 4/8/2020 9:28 AM, Michal Krawczyk wrote:
>>> Hi,
>>>
>>> This patchset is including severeal changes, including:
>>> * ena_com (HAL) update
>>> * Support for upcoming device features
>>> * Refactor of the IO path
>>> * Documentation update about ENA usage on metal instances
>>>
>>> v2:
>>> * Fix comments from review
>>>
>>> v3:
>>> * Split ena_com patch for RSS into several patches
>>> * Add entry to v20.05 release notes
>>> * Minor fixes of the commit logs
>>> * Update copyright date in patches doing the modifications
>>>
>>> Igor Chauskin (2):
>>>   net/ena/base: make allocation macros thread-safe
>>>   net/ena/base: prevent allocation of 0-sized memory
>>>
>>> Michal Krawczyk (28):
>>>   net/ena: check if size of buffer is at least 1400B
>>>   net/ena/base: generate default, random RSS hash key
>>>   net/ena/base: fix testing for supported hash func
>>>   net/ena/base: remove unnecessary conversion of the ind tbl
>>>   net/ena/base: rework interrupt moderation
>>>   net/ena/base: remove extra properties strings
>>>   net/ena/base: add accelerated LLQ mode
>>>   net/ena/base: fix documentation of the functions
>>>   net/ena/base: fix indentation in cq polling
>>>   net/ena/base: add error logs when preparing Tx
>>>   net/ena/base: use 48-bit memory addresses in ena_com
>>>   net/ena/base: fix types for printing timestamps
>>>   net/ena/base: fix indentation of multiple defines
>>>   net/ena/base: update gen date and commit
>>>   net/ena: set IO ring size to the valid value
>>>   net/ena: refactor getting IO queues capabilities
>>>   net/ena: add support for large LLQ headers
>>>   net/ena: remove memory barriers before doorbells
>>>   net/ena: add Tx drops statistic
>>>   net/ena: disable meta caching
>>>   net/ena: refactor Rx path
>>>   net/ena: rework getting number of available descs
>>>   net/ena: limit refill threshold by fixed value
>>>   net/ena: use macros for ring idx operations
>>>   net/ena: refactor Tx path
>>>   net/ena: reuse 0 length Rx descriptor
>>>   doc: add notes on ENA usage on metal instances
>>>   net/ena: update version of the driver to v2.1.0
>>
>> Hi Michał,
>>
>> Following commits are missing fixes tag, can you please provide them, I can add
>> them in next-net tree later.
>>
> 
> Hi Ferruh,
> 
> thanks, I'm adding appropriate fixes tags below (only one cced to
> stable, as rest of them is mostly cosmetic changes).
> 
>> Missing 'Fixes' tag:
>>         net/ena/base: fix testing for supported hash func
> 
> Fixes: 99ecfbf845b3 ("ena: import communication layer")
> Cc: stable@dpdk.org
> 
>>         net/ena/base: fix documentation of functions
> 
> Fixes: 99ecfbf845b3 ("ena: import communication layer")
> 
>>         net/ena/base: fix indentation in CQ polling
> 
> Fixes: 3adcba9a8987 ("net/ena: update HAL to the newer version")
> 
>>         net/ena/base: fix types for printing timestamps
> 
> Fixes: b2b02edeb0d6 ("net/ena/base: upgrade HAL for new HW features")
> 
>>         net/ena/base: fix indentation of multiple defines
> 
> Fixes: 99ecfbf845b3 ("ena: import communication layer")
> 
>>
>>
>> Series applied to dpdk-next-net/master, thanks.
> 

Thanks for the update, commit logs updated in the next-net.