• 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
Documentation Loading commit data...
arch Loading commit data...
block Loading commit data...
certs Loading commit data...
crypto Loading commit data...
drivers Loading commit data...
firmware Loading commit data...
fs Loading commit data...
include Loading commit data...
init Loading commit data...
ipc Loading commit data...
kernel Loading commit data...
lib Loading commit data...
mm Loading commit data...
net Loading commit data...
samples Loading commit data...
scripts Loading commit data...
security Loading commit data...
sound Loading commit data...
tools Loading commit data...
usr Loading commit data...
virt Loading commit data...
.cocciconfig Loading commit data...
.get_maintainer.ignore Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.mailmap Loading commit data...
COPYING Loading commit data...
CREDITS Loading commit data...
Kbuild Loading commit data...
Kconfig Loading commit data...
MAINTAINERS Loading commit data...
Makefile Loading commit data...
README Loading commit data...