From cf539989010741c4e0fb796fc796829b21265193 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Wed, 21 Jan 2009 04:22:34 +0000 Subject: [PATCH] [tcp] Always set PUSH flag on TCP transmissions Apparently this can cause a major speedup on some iSCSI targets, which will otherwise wait for a timer to expire before responding. It doesn't seem to hurt other simple TCP test cases (e.g. HTTP downloads). Problem and solution identified by Shiva Shankar <802.11e@gmail.com> --- src/net/tcp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/net/tcp.c b/src/net/tcp.c index 0f91bcf9..094317b3 100644 --- a/src/net/tcp.c +++ b/src/net/tcp.c @@ -478,7 +478,7 @@ static int tcp_xmit ( struct tcp_connection *tcp, int force_send ) { tcphdr->seq = htonl ( tcp->snd_seq ); tcphdr->ack = htonl ( tcp->rcv_ack ); tcphdr->hlen = ( ( payload - iobuf->data ) << 2 ); - tcphdr->flags = flags; + tcphdr->flags = ( flags | TCP_PSH ); tcphdr->win = htons ( tcp->rcv_win ); tcphdr->csum = tcpip_chksum ( iobuf->data, iob_len ( iobuf ) );