Em Sat, Nov 17, 2007 at 03:42:52PM +0000, Gerrit Renker escreveu: > Test Tree Inventory > =================== > > This is the list of current small batches (from oldest to latest) as of Sat 17 Nov. > The entire test tree is fully bisectable, so batches can be combined freely. > > Spaces in between sets indicate separate blocks. > > The CCID3 set has been completely re-arranged and recombined to give self-contained and > independent patches. Within the set there are further, self-contained blocks. > > > 1. Miscellaneous CCID3 fixes > ---------------------------- > A small set of various fixes, independent of the main CCID3 patch set. > > [CCID3]: Revert use of MSS instead of s Applied. > [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. Ah, and there is more space to save, after this patch the layout is this, on x86_64: struct ccid3_hc_rx_sock { struct tfrc_rx_info ccid3hcrx_tfrc; /* 0 12 */ /* XXX 4 bytes hole, try to pack */ u64 ccid3hcrx_seqno_nonloss:48; /* 16 8 */ u64 ccid3hcrx_ccval_nonloss:4; /* 16 8 */ u64 ccid3hcrx_ccval_last_counter:4; /* 16 8 */ enum ccid3_hc_rx_states ccid3hcrx_state:8; /* 20 4 */ u32 ccid3hcrx_bytes_recv; /* 24 4 */ /* XXX 4 bytes hole, try to pack */ ktime_t ccid3hcrx_tstamp_last_feedback; /* 32 8 */ ktime_t ccid3hcrx_tstamp_last_ack; /* 40 8 */ struct list_head ccid3hcrx_hist; /* 48 16 */ /* --- cacheline 1 boundary (64 bytes) --- */ struct list_head ccid3hcrx_li_hist; /* 64 16 */ u16 ccid3hcrx_s; /* 80 2 */ /* XXX 2 bytes hole, try to pack */ u32 ccid3hcrx_pinv; /* 84 4 */ /* size: 88, cachelines: 2 */ /* sum members: 78, holes: 3, sum holes: 10 */ /* last cacheline: 24 bytes */ }; Just moving ccid3hcrx_bytes_recv to after ccid3hcrx_tfrc we can save 8 bytes. > [CCID3]: Accurately determine idle & application-limited periods Applied. > [CCID3]: Inline for moving average Applied > 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? > (2) new RX history for TFRC (packet_history.{c,h}), > (3) new Loss Intervals database (loss_interval.{c,h}). > > (Actually it is 3+1/2 things, the third patch introduces tfrc_module.c). > > [TFRC]: Migrate TX history to singly-linked list > [TFRC]: Remove old (doubly-linked list) TX history > > [TFRC]: Provide central source file and debug facility > > [TFRC]: New RX history implementation +static struct kmem_cache *tfrcxh; Why "xh"? > [CCID3]: Hook up with new RX history interface > [TFRC]: Remove old RX history interface Will try to continue later today. - Arnaldo - 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