[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lwip-devel] [bug #20506] HTTP server doesn't call tcp_output
From: |
Kieran Mansley |
Subject: |
[lwip-devel] [bug #20506] HTTP server doesn't call tcp_output |
Date: |
Thu, 19 Jul 2007 14:29:23 +0000 |
User-agent: |
Opera/9.21 (X11; Linux i686; U; en) |
Follow-up Comment #21, bug #20506 (project lwip):
Hmm, that is odd; the size of the application's sends shouldn't make a
difference, although I agree that from the traces there it is!
We need to look into why in one case lwIP has to wait, but in the other it
can send data fine.
In fact, I think I understand this specific example:
- initial congestion window is 1 MSS (eg. 1500 bytes)
- lwIP sends the HTTP OK packet (#6 in your traces) which uses about 200
bytes of this window
- in the "with hack" case, the next packet in the send queue will be short
(1024 bytes) because we don't do very effective merging of packets and so
this fits in the rest of the available congestion window and can be sent
- in the "without hack" case the next packet in the send queue is large
(approx 1500 bytes) and so can't fit in the remaining congestion window.
The right solution to this is to do better merging and splitting of packets
in the send queue. In particular, splitting of the packet at the head.
I'd prefer to avoid having splitting in all cases as otherwise you can end up
with some really bad examples (like when you have a single small packet
followed by many large packets). Perhaps a good thing to try would be only
split a packet to send it if we are in slow start.
_______________________________________________________
Reply to this item at:
<http://savannah.nongnu.org/bugs/?20506>
_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/
- [lwip-devel] [bug #20506] HTTP server doesn't call tcp_output, (continued)
- [lwip-devel] [bug #20506] HTTP server doesn't call tcp_output, Vipin, 2007/07/19
- [lwip-devel] [bug #20506] HTTP server doesn't call tcp_output, Vipin, 2007/07/19
- [lwip-devel] [bug #20506] HTTP server doesn't call tcp_output, Vipin, 2007/07/19
- [lwip-devel] [bug #20506] HTTP server doesn't call tcp_output, Simon Goldschmidt, 2007/07/19
- [lwip-devel] [bug #20506] HTTP server doesn't call tcp_output, Kieran Mansley, 2007/07/19
- [lwip-devel] [bug #20506] HTTP server doesn't call tcp_output, Frédéric Bernon, 2007/07/19
- [lwip-devel] [bug #20506] HTTP server doesn't call tcp_output, Simon Goldschmidt, 2007/07/19
- [lwip-devel] [bug #20506] HTTP server doesn't call tcp_output, Kieran Mansley, 2007/07/19
- [lwip-devel] [bug #20506] HTTP server doesn't call tcp_output, Simon Goldschmidt, 2007/07/19
- [lwip-devel] [bug #20506] HTTP server doesn't call tcp_output, Frédéric Bernon, 2007/07/19
- [lwip-devel] [bug #20506] HTTP server doesn't call tcp_output,
Kieran Mansley <=
- [lwip-devel] [bug #20506] HTTP server doesn't call tcp_output, Frédéric Bernon, 2007/07/19
- [lwip-devel] [bug #20506] HTTP server doesn't call tcp_output, Simon Goldschmidt, 2007/07/19
- [lwip-devel] [bug #20506] HTTP server doesn't call tcp_output, Simon Goldschmidt, 2007/07/19
- [lwip-devel] [bug #20506] HTTP server doesn't call tcp_output, Simon Goldschmidt, 2007/07/19
- [lwip-devel] [bug #20506] HTTP server doesn't call tcp_output, Kieran Mansley, 2007/07/20
- [lwip-devel] [bug #20506] HTTP server doesn't call tcp_output, Simon Goldschmidt, 2007/07/20
- [lwip-devel] [bug #20506] HTTP server doesn't call tcp_output, Kieran Mansley, 2007/07/20
- [lwip-devel] [bug #20506] HTTP server doesn't call tcp_output, Simon Goldschmidt, 2007/07/20
- [lwip-devel] [bug #20506] HTTP server doesn't call tcp_output, Vipin, 2007/07/20
- [lwip-devel] [bug #20506] HTTP server doesn't call tcp_output, Kieran Mansley, 2007/07/20