All of lore.kernel.org
 help / color / mirror / Atom feed
* USO / UFO status ?
@ 2019-10-30 14:15 Jose Abreu
  2019-10-30 19:48 ` Willem de Bruijn
  0 siblings, 1 reply; 6+ messages in thread
From: Jose Abreu @ 2019-10-30 14:15 UTC (permalink / raw)
  To: netdev; +Cc: Joao Pinto

Hi netdev,

What's the status of UDP Segmentation Offload (USO) and UDP 
Fragmentation Offloading (UFO) on current mainline ?

I see that NETIF_F_GSO_UDP_L4 is only supported by Mellanox NIC's but I 
also saw some patches from Intel submitting the support. Is there any 
tool to test this (besides the -net selftests) ?

---
Thanks,
Jose Miguel Abreu

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: USO / UFO status ?
  2019-10-30 14:15 USO / UFO status ? Jose Abreu
@ 2019-10-30 19:48 ` Willem de Bruijn
  2019-10-30 21:22   ` Josh Hunt
  0 siblings, 1 reply; 6+ messages in thread
From: Willem de Bruijn @ 2019-10-30 19:48 UTC (permalink / raw)
  To: Jose Abreu; +Cc: netdev, Joao Pinto

On Wed, Oct 30, 2019 at 3:16 PM Jose Abreu <Jose.Abreu@synopsys.com> wrote:
>
> Hi netdev,
>
> What's the status of UDP Segmentation Offload (USO) and UDP
> Fragmentation Offloading (UFO) on current mainline ?
>
> I see that NETIF_F_GSO_UDP_L4 is only supported by Mellanox NIC's but I
> also saw some patches from Intel submitting the support. Is there any
> tool to test this (besides the -net selftests) ?

UDP segmentation offload with UDP_SEGMENT is always available with
software segmentation. The only driver with hardware offload (USO)
merged so far is indeed mlx5. Patches for various Intel NICs are in
review.

UFO is no longer generated by the protocol stack. It is still accepted
as input from legacy userspace with VIRTIO_NET_HDR_GSO_UDP.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: USO / UFO status ?
  2019-10-30 19:48 ` Willem de Bruijn
@ 2019-10-30 21:22   ` Josh Hunt
  2019-10-31 10:20     ` Jose Abreu
  0 siblings, 1 reply; 6+ messages in thread
From: Josh Hunt @ 2019-10-30 21:22 UTC (permalink / raw)
  To: Willem de Bruijn, Jose Abreu; +Cc: netdev, Joao Pinto

On 10/30/19 12:48 PM, Willem de Bruijn wrote:
> On Wed, Oct 30, 2019 at 3:16 PM Jose Abreu <Jose.Abreu@synopsys.com> wrote:
>>
>> Hi netdev,
>>
>> What's the status of UDP Segmentation Offload (USO) and UDP
>> Fragmentation Offloading (UFO) on current mainline ?
>>
>> I see that NETIF_F_GSO_UDP_L4 is only supported by Mellanox NIC's but I
>> also saw some patches from Intel submitting the support. Is there any
>> tool to test this (besides the -net selftests) ?
> 
> UDP segmentation offload with UDP_SEGMENT is always available with
> software segmentation. The only driver with hardware offload (USO)
> merged so far is indeed mlx5. Patches for various Intel NICs are in
> review.
> 

I recently added UDP GSO offload support for ixgbe, igb, and i40e. I saw 
that Jeff sent the patches to Dave earlier today targeting net-next so 
you should be able to test with those once they land in net-next.

I also wrote a wrapper script around the selftest benchmark code to do 
my testing with, and believe the Intel folks used it as part of their 
validation as well. You can find it attached to this thread:

https://lore.kernel.org/netdev/0e0e706c-4ce9-c27a-af55-339b4eb6d524@akamai.com/

Unfortunately it's poorly named there since there's already a 
udpgso_bench.sh in the kernel tree... :|

Josh



^ permalink raw reply	[flat|nested] 6+ messages in thread

* RE: USO / UFO status ?
  2019-10-30 21:22   ` Josh Hunt
@ 2019-10-31 10:20     ` Jose Abreu
  2019-11-05 15:24       ` Jose Abreu
  0 siblings, 1 reply; 6+ messages in thread
From: Jose Abreu @ 2019-10-31 10:20 UTC (permalink / raw)
  To: Josh Hunt, Willem de Bruijn, Jose Abreu; +Cc: netdev, Joao Pinto

Thank you both for the feedback!

From: Josh Hunt <johunt@akamai.com>
Date: Oct/30/2019, 21:22:32 (UTC+00:00)

> On 10/30/19 12:48 PM, Willem de Bruijn wrote:
> > On Wed, Oct 30, 2019 at 3:16 PM Jose Abreu <Jose.Abreu@synopsys.com> wrote:
> >>
> >> Hi netdev,
> >>
> >> What's the status of UDP Segmentation Offload (USO) and UDP
> >> Fragmentation Offloading (UFO) on current mainline ?
> >>
> >> I see that NETIF_F_GSO_UDP_L4 is only supported by Mellanox NIC's but I
> >> also saw some patches from Intel submitting the support. Is there any
> >> tool to test this (besides the -net selftests) ?
> > 
> > UDP segmentation offload with UDP_SEGMENT is always available with
> > software segmentation. The only driver with hardware offload (USO)
> > merged so far is indeed mlx5. Patches for various Intel NICs are in
> > review.
> > 
> 
> I recently added UDP GSO offload support for ixgbe, igb, and i40e. I saw 
> that Jeff sent the patches to Dave earlier today targeting net-next so 
> you should be able to test with those once they land in net-next.

Well, I'm more interested in implementing it in stmmac. I have some HW 
that supports USO and UFO.

> I also wrote a wrapper script around the selftest benchmark code to do 
> my testing with, and believe the Intel folks used it as part of their 
> validation as well. You can find it attached to this thread:

Thanks!

---
Thanks,
Jose Miguel Abreu

^ permalink raw reply	[flat|nested] 6+ messages in thread

* RE: USO / UFO status ?
  2019-10-31 10:20     ` Jose Abreu
@ 2019-11-05 15:24       ` Jose Abreu
  2019-11-06 13:33         ` Jose Abreu
  0 siblings, 1 reply; 6+ messages in thread
From: Jose Abreu @ 2019-11-05 15:24 UTC (permalink / raw)
  To: Josh Hunt, Willem de Bruijn; +Cc: netdev, Joao Pinto

From: Jose Abreu <joabreu@synopsys.com>
Date: Oct/31/2019, 10:20:37 (UTC+00:00)

> Well, I'm more interested in implementing it in stmmac. I have some HW 
> that supports USO and UFO.

Hi Josh,

Using your script these are the results I get:
Size = 1472
udp tx:     96 MB/s    68594 calls/s  68594 msg/s
udp tx:     95 MB/s    68018 calls/s  68018 msg/s
udp tx:     95 MB/s    68035 calls/s  68035 msg/s
udp tx:     95 MB/s    67880 calls/s  67880 msg/s
udp tx:     95 MB/s    67887 calls/s  67887 msg/s
udp tx:     95 MB/s    67789 calls/s  67789 msg/s
udp tx:     95 MB/s    67977 calls/s  67977 msg/s
udp tx:     95 MB/s    68325 calls/s  68325 msg/s
udp tx:     95 MB/s    68018 calls/s  68018 msg/s
udp tx:     95 MB/s    67926 calls/s  67926 msg/s
Size = 2944
udp tx:    107 MB/s    38151 calls/s  38151 msg/s
udp tx:    106 MB/s    38062 calls/s  38062 msg/s
udp tx:    107 MB/s    38114 calls/s  38114 msg/s
udp tx:    106 MB/s    37916 calls/s  37916 msg/s
udp tx:    106 MB/s    38054 calls/s  38054 msg/s
udp tx:    106 MB/s    37944 calls/s  37944 msg/s
udp tx:    106 MB/s    38064 calls/s  38064 msg/s
udp tx:    106 MB/s    38106 calls/s  38106 msg/s
udp tx:    106 MB/s    38042 calls/s  38042 msg/s
udp tx:    107 MB/s    38119 calls/s  38119 msg/s
Size = 5888
udp tx:    108 MB/s    19328 calls/s  19328 msg/s
udp tx:    108 MB/s    19290 calls/s  19290 msg/s
udp tx:    108 MB/s    19287 calls/s  19287 msg/s
udp tx:    108 MB/s    19300 calls/s  19300 msg/s
udp tx:    108 MB/s    19401 calls/s  19401 msg/s
udp tx:    111 MB/s    19803 calls/s  19803 msg/s
udp tx:    111 MB/s    19798 calls/s  19798 msg/s
udp tx:    110 MB/s    19723 calls/s  19723 msg/s
udp tx:    110 MB/s    19734 calls/s  19734 msg/s
udp tx:    108 MB/s    19258 calls/s  19258 msg/s
Size = 11776
udp tx:    112 MB/s     9997 calls/s   9997 msg/s
udp tx:    112 MB/s    10027 calls/s  10027 msg/s
udp tx:    112 MB/s    10027 calls/s  10027 msg/s
udp tx:    112 MB/s    10028 calls/s  10028 msg/s
udp tx:    112 MB/s    10026 calls/s  10026 msg/s
udp tx:    112 MB/s     9975 calls/s   9975 msg/s
udp tx:    112 MB/s    10026 calls/s  10026 msg/s
udp tx:    112 MB/s    10027 calls/s  10027 msg/s
udp tx:    110 MB/s     9882 calls/s   9882 msg/s
udp tx:    111 MB/s     9919 calls/s   9919 msg/s
Size = 23552
udp tx:    111 MB/s     4980 calls/s   4980 msg/s
udp tx:    112 MB/s     5021 calls/s   5021 msg/s
udp tx:    111 MB/s     4976 calls/s   4976 msg/s
udp tx:    112 MB/s     5016 calls/s   5016 msg/s
udp tx:    112 MB/s     5008 calls/s   5008 msg/s
udp tx:    111 MB/s     4966 calls/s   4966 msg/s
udp tx:    111 MB/s     4973 calls/s   4973 msg/s
udp tx:    112 MB/s     5018 calls/s   5018 msg/s
udp tx:    112 MB/s     5008 calls/s   5008 msg/s
udp tx:    112 MB/s     5008 calls/s   5008 msg/s
Size = 47104
udp tx:    112 MB/s     2515 calls/s   2515 msg/s
udp tx:    112 MB/s     2499 calls/s   2499 msg/s
udp tx:    111 MB/s     2488 calls/s   2488 msg/s
udp tx:    111 MB/s     2482 calls/s   2482 msg/s
udp tx:    111 MB/s     2490 calls/s   2490 msg/s
udp tx:    112 MB/s     2495 calls/s   2495 msg/s
udp tx:    111 MB/s     2485 calls/s   2485 msg/s
udp tx:    111 MB/s     2489 calls/s   2489 msg/s
udp tx:    112 MB/s     2501 calls/s   2501 msg/s
udp tx:    112 MB/s     2507 calls/s   2507 msg/s
Size = 61824
udp tx:    112 MB/s     1912 calls/s   1912 msg/s
udp tx:    112 MB/s     1904 calls/s   1904 msg/s
udp tx:    112 MB/s     1904 calls/s   1904 msg/s
udp tx:    111 MB/s     1896 calls/s   1896 msg/s
udp tx:    111 MB/s     1884 calls/s   1884 msg/s
udp tx:    111 MB/s     1884 calls/s   1884 msg/s
udp tx:    112 MB/s     1904 calls/s   1904 msg/s
udp tx:    112 MB/s     1908 calls/s   1908 msg/s
udp tx:    112 MB/s     1916 calls/s   1916 msg/s
udp tx:    112 MB/s     1913 calls/s   1913 msg/s

Do you know if these are in-line with the remaining 1G NICs ?

---
Thanks,
Jose Miguel Abreu

^ permalink raw reply	[flat|nested] 6+ messages in thread

* RE: USO / UFO status ?
  2019-11-05 15:24       ` Jose Abreu
@ 2019-11-06 13:33         ` Jose Abreu
  0 siblings, 0 replies; 6+ messages in thread
From: Jose Abreu @ 2019-11-06 13:33 UTC (permalink / raw)
  To: Josh Hunt, Willem de Bruijn; +Cc: netdev, Joao Pinto

From: Jose Abreu <joabreu@synopsys.com>
Date: Nov/05/2019, 15:24:54 (UTC+00:00)

> From: Jose Abreu <joabreu@synopsys.com>
> Date: Oct/31/2019, 10:20:37 (UTC+00:00)
> 
> > Well, I'm more interested in implementing it in stmmac. I have some HW 
> > that supports USO and UFO.
> 
> Hi Josh,
> 
> Using your script these are the results I get:

And now, with full benchmark:

UDP GSO On:
$pkt_size	kB/s(sar)	MB/s	Calls/s Msg/s CPU	MB2CPU
==========================================================
1472		114786.35	108	77680	77680	42.63	2.53
2944		108055.11	103	37075	37075	23.3	4.42
5888		111820.25	108	19309	19309	10.68	10.11
11776		113832.08	110	9864	9864	6.1	18.03
23552		114330.73	111	4962	4962	3.05	36.39
47104		114753.60	111	2493	2493	2.31	48.05
61824		114558.31	111	1896	1896	1.68	66.07

UDP GSO Off:
$pkt_size	kB/s(sar)	MB/s	Calls/s Msg/s CPU	MB2CPU
==========================================================
1472		114415.01	108	77386	77386	40.21	2.68
2944		115230.37	108	38964	38964	23.84	4.53
5888		109765.31	103	18579	18579	16.14	6.38
11776		110878.09	104	9369	9369	8.64	12.03
23552		109194.77	103	4613	4613	4	25.75
47104		108597.13	102	2294	2294	2.11	48.34
61824		109141.54	103	1756	1756	1.53	67.32

---
Thanks,
Jose Miguel Abreu

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2019-11-06 13:34 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-30 14:15 USO / UFO status ? Jose Abreu
2019-10-30 19:48 ` Willem de Bruijn
2019-10-30 21:22   ` Josh Hunt
2019-10-31 10:20     ` Jose Abreu
2019-11-05 15:24       ` Jose Abreu
2019-11-06 13:33         ` Jose Abreu

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.