mbox series

[6.1.y-cip,00/12] ravb backports: MTU fix, VLAN & IPv6 support

Message ID 20250227153413.686812-1-paul.barker.ct@bp.renesas.com (mailing list archive)
Headers show
Series ravb backports: MTU fix, VLAN & IPv6 support | expand

Message

Paul Barker Feb. 27, 2025, 3:34 p.m. UTC
This patch series backports recent ravb driver improvements to CIP
6.1.y.

Paul Barker (12):
  net: ravb: Fix maximum TX frame size for GbEth devices
  net: ravb: Fix R-Car RX frame size limit
  net: ravb: Factor out checksum offload enable bits
  net: ravb: Disable IP header RX checksum offloading
  net: ravb: Drop IP protocol check from RX csum verification
  net: ravb: Combine if conditions in RX csum validation
  net: ravb: Simplify types in RX csum validation
  net: ravb: Disable IP header TX checksum offloading
  net: ravb: Simplify UDP TX checksum offload
  net: ravb: Enable IPv6 RX checksum offloading for GbEth
  net: ravb: Enable IPv6 TX checksum offload for GbEth
  net: ravb: Add VLAN checksum support

 drivers/net/ethernet/renesas/ravb.h      |   7 ++
 drivers/net/ethernet/renesas/ravb_main.c | 120 +++++++++++++----------
 2 files changed, 77 insertions(+), 50 deletions(-)

Comments

Nobuhiro Iwamatsu March 3, 2025, 9:19 a.m. UTC | #1
Hi all,

> -----Original Message-----
> From: Paul Barker <paul.barker.ct@bp.renesas.com>
> Sent: Friday, February 28, 2025 12:34 AM
> To: Pavel Machek <pavel@denx.de>; iwamatsu nobuhiro(岩松 信洋 ○DIT
> C□DIT○OST) <nobuhiro1.iwamatsu@toshiba.co.jp>
> Cc: cip-dev@lists.cip-project.org
> Subject: [PATCH 6.1.y-cip 00/12] ravb backports: MTU fix, VLAN & IPv6
> support
> 
> This patch series backports recent ravb driver improvements to CIP 6.1.y.
> 
> Paul Barker (12):
>   net: ravb: Fix maximum TX frame size for GbEth devices
>   net: ravb: Fix R-Car RX frame size limit
>   net: ravb: Factor out checksum offload enable bits
>   net: ravb: Disable IP header RX checksum offloading
>   net: ravb: Drop IP protocol check from RX csum verification
>   net: ravb: Combine if conditions in RX csum validation
>   net: ravb: Simplify types in RX csum validation
>   net: ravb: Disable IP header TX checksum offloading
>   net: ravb: Simplify UDP TX checksum offload
>   net: ravb: Enable IPv6 RX checksum offloading for GbEth
>   net: ravb: Enable IPv6 TX checksum offload for GbEth
>   net: ravb: Add VLAN checksum support
> 
>  drivers/net/ethernet/renesas/ravb.h      |   7 ++
>  drivers/net/ethernet/renesas/ravb_main.c | 120
> +++++++++++++----------
>  2 files changed, 77 insertions(+), 50 deletions(-)
> 

I reviewed this series and 5.10.y, looks good to me.
I can apply this series, if there are no other comments.

Test:
  https://gitlab.com/cip-project/cip-kernel/linux-cip/-/pipelines/1696481092
  https://gitlab.com/cip-project/cip-kernel/linux-cip/-/pipelines/1696483186

Reviewed-by: Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp>

Best regards,
  Nobuhiro
Pavel Machek March 3, 2025, 9:34 a.m. UTC | #2
Hi!

> > This patch series backports recent ravb driver improvements to CIP 6.1.y.
> > 
> > Paul Barker (12):
> >   net: ravb: Fix maximum TX frame size for GbEth devices
> >   net: ravb: Fix R-Car RX frame size limit
> >   net: ravb: Factor out checksum offload enable bits
> >   net: ravb: Disable IP header RX checksum offloading
> >   net: ravb: Drop IP protocol check from RX csum verification
> >   net: ravb: Combine if conditions in RX csum validation
> >   net: ravb: Simplify types in RX csum validation
> >   net: ravb: Disable IP header TX checksum offloading
> >   net: ravb: Simplify UDP TX checksum offload
> >   net: ravb: Enable IPv6 RX checksum offloading for GbEth
> >   net: ravb: Enable IPv6 TX checksum offload for GbEth
> >   net: ravb: Add VLAN checksum support
> > 
> >  drivers/net/ethernet/renesas/ravb.h      |   7 ++
> >  drivers/net/ethernet/renesas/ravb_main.c | 120
> > +++++++++++++----------
> >  2 files changed, 77 insertions(+), 50 deletions(-)
> > 
> 
> I reviewed this series and 5.10.y, looks good to me.
> I can apply this series, if there are no other comments.
> 
> Test:
>   https://gitlab.com/cip-project/cip-kernel/linux-cip/-/pipelines/1696481092
>   https://gitlab.com/cip-project/cip-kernel/linux-cip/-/pipelines/1696483186
> 
> Reviewed-by: Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp>

I reviewed them, too, and code looks ok to me. I'm just wondering what
the gain is here, AFAICT there are only very minor performance
tweaks (is it even measurable?). What is the reason for having these?

Plus, I don't believe they are all in 6.12. I believe we'll be able to
simply cherry-pick them from mainline, but if not, we'll need your
help.

Best regards,
								Pavel
Paul Barker March 4, 2025, 9:47 a.m. UTC | #3
On 03/03/2025 09:34, Pavel Machek wrote:
> Hi!
> 
>>> This patch series backports recent ravb driver improvements to CIP 6.1.y.
>>>
>>> Paul Barker (12):
>>>   net: ravb: Fix maximum TX frame size for GbEth devices
>>>   net: ravb: Fix R-Car RX frame size limit
>>>   net: ravb: Factor out checksum offload enable bits
>>>   net: ravb: Disable IP header RX checksum offloading
>>>   net: ravb: Drop IP protocol check from RX csum verification
>>>   net: ravb: Combine if conditions in RX csum validation
>>>   net: ravb: Simplify types in RX csum validation
>>>   net: ravb: Disable IP header TX checksum offloading
>>>   net: ravb: Simplify UDP TX checksum offload
>>>   net: ravb: Enable IPv6 RX checksum offloading for GbEth
>>>   net: ravb: Enable IPv6 TX checksum offload for GbEth
>>>   net: ravb: Add VLAN checksum support
>>>
>>>  drivers/net/ethernet/renesas/ravb.h      |   7 ++
>>>  drivers/net/ethernet/renesas/ravb_main.c | 120
>>> +++++++++++++----------
>>>  2 files changed, 77 insertions(+), 50 deletions(-)
>>>
>>
>> I reviewed this series and 5.10.y, looks good to me.
>> I can apply this series, if there are no other comments.
>>
>> Test:
>>   https://gitlab.com/cip-project/cip-kernel/linux-cip/-/pipelines/1696481092
>>   https://gitlab.com/cip-project/cip-kernel/linux-cip/-/pipelines/1696483186
>>
>> Reviewed-by: Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp>
> 
> I reviewed them, too, and code looks ok to me. I'm just wondering what
> the gain is here, AFAICT there are only very minor performance
> tweaks (is it even measurable?). What is the reason for having these?

Hi Pavel,

Performance gain from enabling checksum offload can be significant,
especially on the SoCs with a single CPU core such as RZ/G2UL and
RZ/Five. For example, we've seen up to 40% improvement in bandwidth in
TCP RX testing on RZ/G2UL.

> 
> Plus, I don't believe they are all in 6.12. I believe we'll be able to
> simply cherry-pick them from mainline, but if not, we'll need your
> help.
> 
> Best regards,
> 								Pavel

We're planning to review 6.12 status in the near future and see what
needs backporting for CIP.

Thanks,
Pavel Machek March 4, 2025, 10:38 a.m. UTC | #4
Hi!

> >>> Paul Barker (12):
> >>>   net: ravb: Fix maximum TX frame size for GbEth devices
> >>>   net: ravb: Fix R-Car RX frame size limit
> >>>   net: ravb: Factor out checksum offload enable bits
> >>>   net: ravb: Disable IP header RX checksum offloading
> >>>   net: ravb: Drop IP protocol check from RX csum verification
> >>>   net: ravb: Combine if conditions in RX csum validation
> >>>   net: ravb: Simplify types in RX csum validation
> >>>   net: ravb: Disable IP header TX checksum offloading
> >>>   net: ravb: Simplify UDP TX checksum offload
> >>>   net: ravb: Enable IPv6 RX checksum offloading for GbEth
> >>>   net: ravb: Enable IPv6 TX checksum offload for GbEth
> >>>   net: ravb: Add VLAN checksum support

> >> Test:
> >>   https://gitlab.com/cip-project/cip-kernel/linux-cip/-/pipelines/1696481092
> >>   https://gitlab.com/cip-project/cip-kernel/linux-cip/-/pipelines/1696483186
> >>
> >> Reviewed-by: Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp>
> > 
> > I reviewed them, too, and code looks ok to me. I'm just wondering what
> > the gain is here, AFAICT there are only very minor performance
> > tweaks (is it even measurable?). What is the reason for having these?
> 
> Performance gain from enabling checksum offload can be significant,
> especially on the SoCs with a single CPU core such as RZ/G2UL and
> RZ/Five. For example, we've seen up to 40% improvement in bandwidth in
> TCP RX testing on RZ/G2UL.

Ok, thanks for the info. I did not expect 40% improvement. Both 5.10
and 6.1:

Reviewed-by: Pavel Machek <pavel@denx.de>

I expect that Nobuhiro Iwamatsu will apply the changes soon. I can
also apply them.

Best regards,
								Pavel
Nobuhiro Iwamatsu March 5, 2025, 1:46 a.m. UTC | #5
Hi all,

> -----Original Message-----
> From: cip-dev@lists.cip-project.org <cip-dev@lists.cip-project.org> On
> Behalf Of Pavel Machek via lists.cip-project.org
> Sent: Tuesday, March 4, 2025 7:39 PM
> To: cip-dev@lists.cip-project.org
> Cc: Pavel Machek <pavel@denx.de>; iwamatsu nobuhiro(岩松 信洋 ○DIT
> C□DIT○OST) <nobuhiro1.iwamatsu@toshiba.co.jp>
> Subject: Re: [cip-dev] [PATCH 6.1.y-cip 00/12] ravb backports: MTU fix, VLAN
> & IPv6 support
> 
> Hi!
> 
> > >>> Paul Barker (12):
> > >>>   net: ravb: Fix maximum TX frame size for GbEth devices
> > >>>   net: ravb: Fix R-Car RX frame size limit
> > >>>   net: ravb: Factor out checksum offload enable bits
> > >>>   net: ravb: Disable IP header RX checksum offloading
> > >>>   net: ravb: Drop IP protocol check from RX csum verification
> > >>>   net: ravb: Combine if conditions in RX csum validation
> > >>>   net: ravb: Simplify types in RX csum validation
> > >>>   net: ravb: Disable IP header TX checksum offloading
> > >>>   net: ravb: Simplify UDP TX checksum offload
> > >>>   net: ravb: Enable IPv6 RX checksum offloading for GbEth
> > >>>   net: ravb: Enable IPv6 TX checksum offload for GbEth
> > >>>   net: ravb: Add VLAN checksum support
> 
> > >> Test:
> > >>
> https://gitlab.com/cip-project/cip-kernel/linux-cip/-/pipelines/1696481092
> > >>
> > >> https://gitlab.com/cip-project/cip-kernel/linux-cip/-/pipelines/169
> > >> 6483186
> > >>
> > >> Reviewed-by: Nobuhiro Iwamatsu
> <nobuhiro1.iwamatsu@toshiba.co.jp>
> > >
> > > I reviewed them, too, and code looks ok to me. I'm just wondering
> > > what the gain is here, AFAICT there are only very minor performance
> > > tweaks (is it even measurable?). What is the reason for having these?
> >
> > Performance gain from enabling checksum offload can be significant,
> > especially on the SoCs with a single CPU core such as RZ/G2UL and
> > RZ/Five. For example, we've seen up to 40% improvement in bandwidth in
> > TCP RX testing on RZ/G2UL.
> 
> Ok, thanks for the info. I did not expect 40% improvement. Both 5.10 and 6.1:
> 
> Reviewed-by: Pavel Machek <pavel@denx.de>
> 
> I expect that Nobuhiro Iwamatsu will apply the changes soon. I can also apply
> them.
> 

I pushed both version with Pavel's Reviewed-by.

Best regards,
  Nobuhiro