Em Wed, Nov 21, 2007 at 11:52:55AM +0000, Gerrit Renker escreveu: > | > Test Tree Inventory > | > =================== > | > > | > [CCID3]: Ignore trivial amounts of elapsed time > | > | Applied, but I think we can revisit elapsed time later by taking a > | timestamp earlier, at dccp_v4_rcv, because then there can be time spent > | in sk_backlog, etc. We could then store a timestamp on skb->cb and the > | ccids would set a flag on dccp_sock to tell that the timestamp is > | wanted. > | > The elapsed time is needed for RTT measurements and you are right, the > hole RTT measurement issue needs more work. And this includes CCID2 > which goes into the other extreme and uses a coarse-grained HZ > resolution of RTTs. But ever since there was the issue with interface > timestamps (skb_get_timestamp) I got convinced that it is not useful > to increase the resolution below, say, 1 millisecond. (There was a > discussion with Ian about above patch where this came up.) The reason > is that when we do such fine-grained resolution, we also get a lot of > noise: much of the TCP code works very well with just the jiffies > resolution. > With regard to your point, I think it would be ideal to use timestamps > in the TCP High-Speed way (RFC 1323), where we could use a resolution of > 0.00001 seconds (dccp_timestamp() and RFC 4340, 13.). That is still > very high-resolution when considering that the RFC2988 remarks regarding > clock granularity in part referred back to that old BSD timer which had > a 0.5 second granularity. > I agree fully with your suggestion: all CCID-specific RTT measurement > code can be eliminated once there is a working alternative. The > challenge that needs to be overcome is to make the timestamp usage robust > against packet duplication and re-ordering. I'll try at some point to measure the maximum time a packet stays on sk_backlog on a heavily loaded server. But agreed, this is not urgent, just to keep on the back of our minds for later. > | Just moving ccid3hcrx_bytes_recv to after ccid3hcrx_tfrc we can save 8 > | bytes. > This is good news - with regard to the above I still have in the back of > my mind that there are unused icsk fields which may also be used for > storing timestamps; this could help (in a future effort) to reduce further. > > > | > 2. Main CCID3 patch set > | > ----------------------- > | > This is the original CCID3 patch set, developed in Feb/Mar, significantly reordered to > | > make the test tree fully bisectable. > | > The patch set does three things (reflected in the order of batches): > | > > | > (1) new TX history for TFRC (packet_history.{c,h}), > | > | Why do we need DECLARE_TFRC_TX_CACHE? > | > It is not needed for compilation. When I first did this patch set there were three different > kmem_caches defined in ccid3.c: > * one for the TX history (packet_history.c; for which the above macro was declared), > * one for the RX history (packet_history.c) > * one for the Loss History (loss_interval.c) > The loss interval history has since gone, this was done when you worked on Ian's patch set > around March/April. When the patch set is fully applied, the RX history cache also goes, > since the new patch set uses at most 4 entries per socket which are supplied by a static > kmem_cache in packet_history.c. > Long story, short conclusion: if you think this is an eyesore, feel free to take it out. I > left it in since I thought it would make the purpose clearer (since ctags then automatically > jumps to packet_history.h). > > > | > [TFRC]: New RX history implementation > | > | > | +static struct kmem_cache *tfrcxh; > | > | Why "xh"? > | > This is a typo, my mistake. I had meant to use the suffix `rxh' to indicate that > this static cache is for the RX history, but it somehow merged with `r' > from tfrc. Are you okay with tfrc_rxh? I will uploaded a revised patch tfrc_rx_hist would be better, its not overly long and for the casual reader provides more info. > which uses this identifier instead. Thank you for pointing this out. > > Gerrit - To unsubscribe from this list: send the line "unsubscribe dccp" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html