mbox series

[00/13] net/ionic: fixes and optimizations

Message ID 20210118203508.1332-1-aboyer@pensando.io (mailing list archive)
Headers show
Series net/ionic: fixes and optimizations | expand

Message

Andrew Boyer Jan. 18, 2021, 8:34 p.m. UTC
This patch series fixes some transmit issues, adds (better) support for
big-endian systems, and improves performance by stripping down some
structures and inlining a few functions.

The endianness code has been reviewed internally but not really tested -
I do not have access to a big-endian system to test on.

Signed-off-by: Andrew Boyer <aboyer@pensando.io>

Andrew Boyer (13):
  net/ionic: strip out unneeded interrupt code
  net/ionic: observe endianness in firmware commands
  net/ionic: observe endianness in Rx filter code
  net/ionic: add an array-size macro
  net/ionic: query firmware for supported queue versions
  net/ionic: clean up Tx queue version support
  net/ionic: inline queue flush function
  net/ionic: inline queue space function
  net/ionic: observe endiannness in ioread/iowrite
  net/ionic: fix to allow separate L3 and L4 csum offload
  net/ionic: convert per-queue offloads into queue flags
  net/ionic: fix up function attribute tags
  net/ionic: fix address handling in transmit code

 drivers/net/ionic/ionic_dev.c       |  85 +++----
 drivers/net/ionic/ionic_dev.h       |  41 +++-
 drivers/net/ionic/ionic_ethdev.c    |  38 +--
 drivers/net/ionic/ionic_lif.c       | 361 ++++++++++++++++++----------
 drivers/net/ionic/ionic_lif.h       |  21 +-
 drivers/net/ionic/ionic_main.c      |  38 ++-
 drivers/net/ionic/ionic_osdep.h     |   7 +-
 drivers/net/ionic/ionic_rx_filter.c |  22 +-
 drivers/net/ionic/ionic_rx_filter.h |   1 +
 drivers/net/ionic/ionic_rxtx.c      |  87 ++++---
 10 files changed, 414 insertions(+), 287 deletions(-)

Comments

Ferruh Yigit Jan. 27, 2021, 6:02 p.m. UTC | #1
On 1/18/2021 8:34 PM, Andrew Boyer wrote:
> This patch series fixes some transmit issues, adds (better) support for
> big-endian systems, and improves performance by stripping down some
> structures and inlining a few functions.
> 
> The endianness code has been reviewed internally but not really tested -
> I do not have access to a big-endian system to test on.
> 
> Signed-off-by: Andrew Boyer <aboyer@pensando.io>
> 
> Andrew Boyer (13):
>    net/ionic: strip out unneeded interrupt code
>    net/ionic: observe endianness in firmware commands
>    net/ionic: observe endianness in Rx filter code
>    net/ionic: add an array-size macro
>    net/ionic: query firmware for supported queue versions
>    net/ionic: clean up Tx queue version support
>    net/ionic: inline queue flush function
>    net/ionic: inline queue space function
>    net/ionic: observe endiannness in ioread/iowrite
>    net/ionic: fix to allow separate L3 and L4 csum offload
>    net/ionic: convert per-queue offloads into queue flags
>    net/ionic: fix up function attribute tags
>    net/ionic: fix address handling in transmit code
> 

I can remove the 4/13 & 6/13 without conflict, and seems there is no dependency 
to them and new version of them can be sent separately, if you confirm I can 
proceed with rest of the set now.
Andrew Boyer Jan. 27, 2021, 6:10 p.m. UTC | #2
> On Jan 27, 2021, at 1:02 PM, Ferruh Yigit <ferruh.yigit@intel.com> wrote:
> 
> On 1/18/2021 8:34 PM, Andrew Boyer wrote:
>> This patch series fixes some transmit issues, adds (better) support for
>> big-endian systems, and improves performance by stripping down some
>> structures and inlining a few functions.
>> The endianness code has been reviewed internally but not really tested -
>> I do not have access to a big-endian system to test on.
>> Signed-off-by: Andrew Boyer <aboyer@pensando.io>
>> Andrew Boyer (13):
>>   net/ionic: strip out unneeded interrupt code
>>   net/ionic: observe endianness in firmware commands
>>   net/ionic: observe endianness in Rx filter code
>>   net/ionic: add an array-size macro
>>   net/ionic: query firmware for supported queue versions
>>   net/ionic: clean up Tx queue version support
>>   net/ionic: inline queue flush function
>>   net/ionic: inline queue space function
>>   net/ionic: observe endiannness in ioread/iowrite
>>   net/ionic: fix to allow separate L3 and L4 csum offload
>>   net/ionic: convert per-queue offloads into queue flags
>>   net/ionic: fix up function attribute tags
>>   net/ionic: fix address handling in transmit code
> 
> I can remove the 4/13 & 6/13 without conflict, and seems there is no dependency to them and new version of them can be sent separately, if you confirm I can proceed with rest of the set now.

Yes please. Do 4 & 6 become v1 patches that stand alone? Or v2 patches that reply to their v1 versions?

-Andrew
Ferruh Yigit Jan. 27, 2021, 10:23 p.m. UTC | #3
On 1/27/2021 6:10 PM, Andrew Boyer wrote:
> 
> 
>> On Jan 27, 2021, at 1:02 PM, Ferruh Yigit <ferruh.yigit@intel.com 
>> <mailto:ferruh.yigit@intel.com>> wrote:
>>
>> On 1/18/2021 8:34 PM, Andrew Boyer wrote:
>>> This patch series fixes some transmit issues, adds (better) support for
>>> big-endian systems, and improves performance by stripping down some
>>> structures and inlining a few functions.
>>> The endianness code has been reviewed internally but not really tested -
>>> I do not have access to a big-endian system to test on.
>>> Signed-off-by: Andrew Boyer <aboyer@pensando.io <mailto:aboyer@pensando.io>>
>>> Andrew Boyer (13):
>>>   net/ionic: strip out unneeded interrupt code
>>>   net/ionic: observe endianness in firmware commands
>>>   net/ionic: observe endianness in Rx filter code
>>>   net/ionic: add an array-size macro
>>>   net/ionic: query firmware for supported queue versions
>>>   net/ionic: clean up Tx queue version support
>>>   net/ionic: inline queue flush function
>>>   net/ionic: inline queue space function
>>>   net/ionic: observe endiannness in ioread/iowrite
>>>   net/ionic: fix to allow separate L3 and L4 csum offload
>>>   net/ionic: convert per-queue offloads into queue flags
>>>   net/ionic: fix up function attribute tags
>>>   net/ionic: fix address handling in transmit code
>>
>> I can remove the 4/13 & 6/13 without conflict, and seems there is no 
>> dependency to them and new version of them can be sent separately, if you 
>> confirm I can proceed with rest of the set now.
> 
> Yes please. Do 4 & 6 become v1 patches that stand alone? Or v2 patches that 
> reply to their v1 versions?
> 

Except 4/13 & 6/13,
Series applied to dpdk-next-net/main, thanks.

Can you please send missing two patches as v2 as reply to v1?

Thanks,
ferruh
Ferruh Yigit Jan. 27, 2021, 10:25 p.m. UTC | #4
On 1/27/2021 10:23 PM, Ferruh Yigit wrote:
> On 1/27/2021 6:10 PM, Andrew Boyer wrote:
>>
>>
>>> On Jan 27, 2021, at 1:02 PM, Ferruh Yigit <ferruh.yigit@intel.com 
>>> <mailto:ferruh.yigit@intel.com>> wrote:
>>>
>>> On 1/18/2021 8:34 PM, Andrew Boyer wrote:
>>>> This patch series fixes some transmit issues, adds (better) support for
>>>> big-endian systems, and improves performance by stripping down some
>>>> structures and inlining a few functions.
>>>> The endianness code has been reviewed internally but not really tested -
>>>> I do not have access to a big-endian system to test on.
>>>> Signed-off-by: Andrew Boyer <aboyer@pensando.io <mailto:aboyer@pensando.io>>
>>>> Andrew Boyer (13):
>>>>   net/ionic: strip out unneeded interrupt code
>>>>   net/ionic: observe endianness in firmware commands
>>>>   net/ionic: observe endianness in Rx filter code
>>>>   net/ionic: add an array-size macro
>>>>   net/ionic: query firmware for supported queue versions
>>>>   net/ionic: clean up Tx queue version support
>>>>   net/ionic: inline queue flush function
>>>>   net/ionic: inline queue space function
>>>>   net/ionic: observe endiannness in ioread/iowrite
>>>>   net/ionic: fix to allow separate L3 and L4 csum offload
>>>>   net/ionic: convert per-queue offloads into queue flags
>>>>   net/ionic: fix up function attribute tags
>>>>   net/ionic: fix address handling in transmit code
>>>
>>> I can remove the 4/13 & 6/13 without conflict, and seems there is no 
>>> dependency to them and new version of them can be sent separately, if you 
>>> confirm I can proceed with rest of the set now.
>>
>> Yes please. Do 4 & 6 become v1 patches that stand alone? Or v2 patches that 
>> reply to their v1 versions?
>>
> 
> Except 4/13 & 6/13,
> Series applied to dpdk-next-net/main, thanks.

btw, a few 'IONIC_ARRAY_SIZE' macro usage in the 5/13 converted to 'RTE_DIM' 
since the patch adding 'IONIC_ARRAY_SIZE' dropped.

> 
> Can you please send missing two patches as v2 as reply to v1?
> 
> Thanks,
> ferruh