• Sergej Benilov's avatar
    sis900: fix TX completion · d2bbc75a
    Sergej Benilov authored
    [ Upstream commit 8ac8a01092b2added0749ef937037bf1912e13e3 ]
    
    Since commit 605ad7f1 "tcp: refine TSO autosizing",
    outbound throughput is dramatically reduced for some connections, as sis900
    is doing TX completion within idle states only.
    
    Make TX completion happen after every transmitted packet.
    
    Test:
    netperf
    
    before patch:
    > netperf -H remote -l -2000000 -- -s 1000000
    MIGRATED TCP STREAM TEST from 0.0.0.0 () port 0 AF_INET to 95.223.112.76 () port 0 AF_INET : demo
    Recv   Send    Send
    Socket Socket  Message  Elapsed
    Size   Size    Size     Time     Throughput
    bytes  bytes   bytes    secs.    10^6bits/sec
    
     87380 327680 327680    253.44      0.06
    
    after patch:
    > netperf -H remote -l -10000000 -- -s 1000000
    MIGRATED TCP STREAM TEST from 0.0.0.0 () port 0 AF_INET to 95.223.112.76 () port 0 AF_INET : demo
    Recv   Send    Send
    Socket Socket  Message  Elapsed
    Size   Size    Size     Time     Throughput
    bytes  bytes   bytes    secs.    10^6bits/sec
    
     87380 327680 327680    5.38       14.89
    
    Thx to Dave Miller and Eric Dumazet for helpful hints
    Signed-off-by: default avatarSergej Benilov <sergej.benilov@googlemail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
    d2bbc75a
Name
Last commit
Last update
..
appletalk Loading commit data...
arcnet Loading commit data...
bonding Loading commit data...
caif Loading commit data...
can Loading commit data...
cris Loading commit data...
dsa Loading commit data...
ethernet Loading commit data...
fddi Loading commit data...
fjes Loading commit data...
hamradio Loading commit data...
hippi Loading commit data...
hyperv Loading commit data...
ieee802154 Loading commit data...
ipvlan Loading commit data...
phy Loading commit data...
plip Loading commit data...
ppp Loading commit data...
slip Loading commit data...
team Loading commit data...
usb Loading commit data...
vmxnet3 Loading commit data...
wan Loading commit data...
wimax Loading commit data...
wireless Loading commit data...
xen-netback Loading commit data...
Kconfig Loading commit data...
LICENSE.SRC Loading commit data...
Makefile Loading commit data...
Space.c Loading commit data...
dummy.c Loading commit data...
eql.c Loading commit data...
geneve.c Loading commit data...
gtp.c Loading commit data...
ifb.c Loading commit data...
loopback.c Loading commit data...
macsec.c Loading commit data...
macvlan.c Loading commit data...
macvtap.c Loading commit data...
mdio.c Loading commit data...
mii.c Loading commit data...
netconsole.c Loading commit data...
nlmon.c Loading commit data...
ntb_netdev.c Loading commit data...
rionet.c Loading commit data...
sb1000.c Loading commit data...
sungem_phy.c Loading commit data...
tap.c Loading commit data...
tun.c Loading commit data...
veth.c Loading commit data...
virtio_net.c Loading commit data...
vrf.c Loading commit data...
vsockmon.c Loading commit data...
vxlan.c Loading commit data...
xen-netfront.c Loading commit data...