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 [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to