This resubmission represents the same changeset as before, but with a significant reduction in the number of patches: from 40 down to 16. While an even smaller number of patches would be possible, this would lump together unrelated changes, which should be avoided (ugly). The set is line-by-line identical with the previous CCID3, apart from two format differences detailed below. Major changes: 1. All `glue' patches have been removed, each patch solves an actual problem. 2. All patch inter-dependencies have been completely removed: T h e e n t i r e t e s t t r e e i s n o w f u l l y b i s e c t a b l e This has been exhaustively verified on three different architectures: doing a full module build (not just source compilation) for each single patch in the test tree. This passed in all cases. The two changes are (a) I have added myself as MODULE_AUTHOR in ccids/lib/tfrc_module.c, so as to get emails about bugs (not that I believe/hope there are much, the code has been running allright for over 9 months now). (b) Another update with regard to Documentation/CodingStyle (in ccid3.c): - } else if (tfrc_lh_update_i_mean(&hcrx->ccid3hcrx_li_hist, skb)) + } else if (tfrc_lh_update_i_mean(&hcrx->ccid3hcrx_li_hist, skb)) { /* * Step (3) of [RFC 3448, 6.1]: Recompute I_mean and, if I_mean * has decreased (resp. p has increased), send feedback now. */ do_feedback = FBACK_PARAM_CHANGE; + } You can verify this by running a diff as follows: git-checkout -b old master curl http://www.erg.abdn.ac.uk/users/gerrit/dccp/testing_dccp/test-tree/test-tree_2.6.24-rc2.diff.gz|gzip -d|patch -p1 git-add net/dccp/ccids/lib/tfrc_module.c; git-commit -a -mold git-checkout -b new master git-pull git://eden-feed.erg.abdn.ac.uk/dccp_exp dccp git-diff old..new I have updated the CCID4 patches to match this change also. Ian, since you signed off every single of the 40 previous patches, I have kept your Signed-off-by's for this resubmission, since it is effectively identical with before. --------------------------------- Detailed Patch listing ------------------------------------------------------------- Patch #1: Rectifies incorrect use of MSS instead of `s' in the CCID3 code. Patch #2: Removes a code block which reports trivial/negligible amounts of Elapsed Time. Patch #3: Better detection of application-limited and idle periods. Patch #4: Inline for moving average (EWMA). Patch #5: Migrate & update TFRC TX history to singly-linked list. Patch #6: Remove old TFRC TX history infrastructure. Patch #7: Provide one file which holds the module build for dccp_tfrc_lib together. Patch #9: Reduce TFRC RX history to a small structure of only 4 entries (and that is sufficient). Patch #10: Hook up new TFRC RX history with CCID3. Patch #11: Remove old TFRC RX history infrastructure. Patch #12: Introduce ringbuffer-based loss intervals database (which updates/completes many of the loss algorithms). Patch #13: Interface new loss intervals database with CCID3. Patch #14: Remove old loss interval tracking infrastructure. Patch #15: Implement rfc3448bis changes to feedback reception (code used the old RFC 3448). Patch #16: Implement rfc3448bis changes to nofeedback timer handling (code used the old RFC 3448). As before, the entire changeset is fully documented on http://www.erg.abdn.ac.uk/users/gerrit/dccp/notes/ccid3_packet_reception/ - 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