<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/net/ipv4/tcp_input.c, branch linux-2.6.28.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.28.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.28.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2008-10-08T21:56:41Z</updated>
<entry>
<title>Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6</title>
<updated>2008-10-08T21:56:41Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2008-10-08T21:56:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4dd565134ece7e5d528d4c5288879310c54419e9'/>
<id>urn:sha1:4dd565134ece7e5d528d4c5288879310c54419e9</id>
<content type='text'>
Conflicts:

	drivers/net/e1000e/ich8lan.c
	drivers/net/e1000e/netdev.c
</content>
</entry>
<entry>
<title>tcp: Fix possible double-ack w/ user dma</title>
<updated>2008-10-07T22:31:19Z</updated>
<author>
<name>Ali Saidi</name>
</author>
<published>2008-10-07T22:31:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=53240c208776d557dba9d7afedbcdbf512774c16'/>
<id>urn:sha1:53240c208776d557dba9d7afedbcdbf512774c16</id>
<content type='text'>
From: Ali Saidi &lt;saidi@engin.umich.edu&gt;

When TCP receive copy offload is enabled it's possible that
tcp_rcv_established() will cause two acks to be sent for a single
packet. In the case that a tcp_dma_early_copy() is successful,
copied_early is set to true which causes tcp_cleanup_rbuf() to be
called early which can send an ack. Further along in
tcp_rcv_established(), __tcp_ack_snd_check() is called and will
schedule a delayed ACK. If no packets are processed before the delayed
ack timer expires the packet will be acked twice.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>tcp: cleanup messy initializer</title>
<updated>2008-10-07T21:43:31Z</updated>
<author>
<name>Ilpo Järvinen</name>
</author>
<published>2008-10-07T21:43:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4a7e56098f06d505f23f8d7c8d6762221065922a'/>
<id>urn:sha1:4a7e56098f06d505f23f8d7c8d6762221065922a</id>
<content type='text'>
I'm quite sure that if I give this function in its old format
for you to inspect, you start to wonder what is the type of
demanded or if it's a global variable.

Signed-off-by: Ilpo Järvinen &lt;ilpo.jarvinen@helsinki.fi&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>tcp: kill pointless urg_mode</title>
<updated>2008-10-07T21:43:06Z</updated>
<author>
<name>Ilpo Järvinen</name>
</author>
<published>2008-10-07T21:43:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=33f5f57eeb0c6386fdd85f9c690dc8d700ba7928'/>
<id>urn:sha1:33f5f57eeb0c6386fdd85f9c690dc8d700ba7928</id>
<content type='text'>
It all started from me noticing that this urgent check in
tcp_clean_rtx_queue is unnecessarily inside the loop. Then
I took a longer look to it and found out that the users of
urg_mode can trivially do without, well almost, there was
one gotcha.

Bonus: those funny people who use urg with &gt;= 2^31 write_seq -
snd_una could now rejoice too (that's the only purpose for the
between being there, otherwise a simple compare would have done
the thing). Not that I assume that the rest of the tcp code
happily lives with such mind-boggling numbers :-). Alas, it
turned out to be impossible to set wmem to such numbers anyway,
yes I really tried a big sendfile after setting some wmem but
nothing happened :-). ...Tcp_wmem is int and so is sk_sndbuf...
So I hacked a bit variable to long and found out that it seems
to work... :-)

Signed-off-by: Ilpo Järvinen &lt;ilpo.jarvinen@helsinki.fi&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>tcp: Fix queue traversal in tcp_use_frto().</title>
<updated>2008-09-23T09:51:41Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2008-09-23T09:51:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=28e3487b7dd8a9791baac924bc887140ec747bed'/>
<id>urn:sha1:28e3487b7dd8a9791baac924bc887140ec747bed</id>
<content type='text'>
We must check tcp_skb_is_last() before doing a tcp_write_queue_next().

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: Remove __skb_insert() calls outside of skbuff internals.</title>
<updated>2008-09-22T04:28:51Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2008-09-22T04:28:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=43f59c89399fd76883a06c551f24794e98409432'/>
<id>urn:sha1:43f59c89399fd76883a06c551f24794e98409432</id>
<content type='text'>
This minor cleanup simplifies later changes which will convert
struct sk_buff and friends over to using struct list_head.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>tcp: don't clear lost_skb_hint when not necessary</title>
<updated>2008-09-21T04:25:52Z</updated>
<author>
<name>Ilpo Järvinen</name>
</author>
<published>2008-09-21T04:25:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=90638a04ad8484b6b6c567656fb3f6d0689e23da'/>
<id>urn:sha1:90638a04ad8484b6b6c567656fb3f6d0689e23da</id>
<content type='text'>
Most importantly avoid doing it with cumulative ACK. However,
since we have lost_cnt_hint in the picture as well needing
adjustments, it's not as trivial as dealing with
retransmit_skb_hint (and cannot be done in the all place we
could trivially leave retransmit_skb_hint untouched).

With the previous patch, this should mostly remove O(n^2)
behavior while cumulative ACKs start flowing once rexmit
after a lossy round-trip made it through.

Signed-off-by: Ilpo Järvinen &lt;ilpo.jarvinen@helsinki.fi&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>tcp: don't clear retransmit_skb_hint when not necessary</title>
<updated>2008-09-21T04:25:15Z</updated>
<author>
<name>Ilpo Järvinen</name>
</author>
<published>2008-09-21T04:25:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ef9da47c7cc64d69526331f315e76b5680d4048f'/>
<id>urn:sha1:ef9da47c7cc64d69526331f315e76b5680d4048f</id>
<content type='text'>
Most importantly avoid doing it with cumulative ACK. Not clearing
means that we no longer need n^2 processing in resolution of each
fast recovery.

Signed-off-by: Ilpo Järvinen &lt;ilpo.jarvinen@helsinki.fi&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>tcp: No need to clear retransmit_skb_hint when SACKing</title>
<updated>2008-09-21T04:21:16Z</updated>
<author>
<name>Ilpo Järvinen</name>
</author>
<published>2008-09-21T04:21:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=184d68b2b0b836587f92887b14baea41033ffeef'/>
<id>urn:sha1:184d68b2b0b836587f92887b14baea41033ffeef</id>
<content type='text'>
Because lost counter no longer requires tuning, this is
trivial to remove (the tuning wouldn't have been too
hard either) because no "new" retransmittable skb appeared
below retransmit_skb_hint when SACKing for sure.

Signed-off-by: Ilpo Järvinen &lt;ilpo.jarvinen@helsinki.fi&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>tcp: Kill precaution that's very likely obsolete</title>
<updated>2008-09-21T04:20:50Z</updated>
<author>
<name>Ilpo Järvinen</name>
</author>
<published>2008-09-21T04:20:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f09142eddb75005e41b0af3e5214979d8b534b1d'/>
<id>urn:sha1:f09142eddb75005e41b0af3e5214979d8b534b1d</id>
<content type='text'>
I suspect it might have been related to the changed amount
of lost skbs, which was counted by retransmit_cnt_hint that
got changed.

The place for this clearing was very illogical anyway,
it should have been after the LOST-bit clearing loop to
make any sense.

Signed-off-by: Ilpo Järvinen &lt;ilpo.jarvinen@helsinki.fi&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
