F-Stack / f-stack

F-Stack is an user space network development kit with high performance based on DPDK, FreeBSD TCP/IP stack and coroutine API.
http://www.f-stack.org
Other
3.76k stars 879 forks source link

TSO takes no effect on redis? #756

Closed hailongeric closed 9 months ago

hailongeric commented 1 year ago

I configured tso=1 in f-stack.conf, but it doesn't seem to have any effect on Redis. I tested Redis with both tso=1 and tso=0 (package size is 1520), but the performance was the same. I'm not sure what the issue is. Have you encountered this problem before?

Features of my NIC:

rx-checksumming: on                                                                                       
tx-checksumming: on                                                                                       
        tx-checksum-ipv4: off [fixed]                                                                     
        tx-checksum-ip-generic: on                                                                        
        tx-checksum-ipv6: off [fixed]                                                                     
        tx-checksum-fcoe-crc: off [fixed]                                                                 
        tx-checksum-sctp: off [fixed]                                                                     
scatter-gather: on                                                                                        
        tx-scatter-gather: on                                                                             
        tx-scatter-gather-fraglist: off [fixed]                                                           
tcp-segmentation-offload: on                                                                              
        tx-tcp-segmentation: on                                                                           
        tx-tcp-ecn-segmentation: off [fixed]                                                              
        tx-tcp-mangleid-segmentation: on                                                                  
        tx-tcp6-segmentation: on                                                                          
generic-segmentation-offload: on                                                                                                                                                                                    
generic-receive-offload: on                                                                               
large-receive-offload: off                           
rx-vlan-offload: off [requested on]                                                                       
tx-vlan-offload: on                                  
ntuple-filters: off                                  
receive-hashing: on                                  
highdma: on [fixed]                                  
rx-vlan-filter: on                                   
vlan-challenged: off [fixed]                         
tx-lockless: off [fixed]                             
netns-local: off [fixed]                             
tx-gso-robust: off [fixed]                           
tx-fcoe-segmentation: off [fixed]                                                                         
tx-gre-segmentation: on                              
tx-gre-csum-segmentation: on                         
tx-ipxip4-segmentation: on                           
tx-ipxip6-segmentation: on                           
tx-udp_tnl-segmentation: on                          
tx-udp_tnl-csum-segmentation: on                                                                          
tx-gso-partial: on                                   
tx-sctp-segmentation: off [fixed]                                                                         
tx-esp-segmentation: off [fixed]                                                                          
tx-udp-segmentation: on                              
fcoe-mtu: off [fixed]                                
tx-nocache-copy: off                                 
loopback: off [fixed]                                
rx-fcs: off                                          
rx-all: on                                           
tx-vlan-stag-hw-insert: on                           
rx-vlan-stag-hw-parse: off [fixed]                                                                        
rx-vlan-stag-filter: on [fixed]                                                                           
l2-fwd-offload: off [fixed]                          
hw-tc-offload: on                                    
esp-hw-offload: off [fixed]                          
esp-tx-csum-hw-offload: off [fixed]                                                                       
rx-udp_tunnel-port-offload: on                                                                            
tls-hw-tx-offload: off [fixed]                                                                            
tls-hw-rx-offload: off [fixed]
jfb8856606 commented 10 months ago

I not use tso in Redis, may be you can try testing different packet sizes.