All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: Test tree patch inventory - update
@ 2007-11-20 20:10 Arnaldo Carvalho de Melo
  2007-11-21  0:21 ` Arnaldo Carvalho de Melo
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Arnaldo Carvalho de Melo @ 2007-11-20 20:10 UTC (permalink / raw)
  To: dccp

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2007-11-22 10:29 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-11-20 20:10 Test tree patch inventory - update Arnaldo Carvalho de Melo
2007-11-21  0:21 ` Arnaldo Carvalho de Melo
2007-11-21 11:52 ` Gerrit Renker
2007-11-21 12:46 ` Arnaldo Carvalho de Melo
2007-11-21 13:18 ` Gerrit Renker
2007-11-22 10:29 ` Gerrit Renker

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.