On 3/26/07, Ian McDonald <[EMAIL PROTECTED]> wrote:
On 3/22/07, Gerrit Renker <[EMAIL PROTECTED]> wrote: > [CCID 3]: Remove unused fields in packet history structure > Acked-by: Ian McDonald <[EMAIL PROTECTED]>
Indeed it reduced the size: [EMAIL PROTECTED] net-2.6.22]$ cat /tmp/before /* <eb7c> /home/acme/git/net-2.6.22/net/dccp/ccids/lib/packet_history.h:55 */ struct dccp_tx_hist_entry { struct list_head dccphtx_node; /* 0 16 */ u64 dccphtx_seqno:48; /* 16 8 */ u64 dccphtx_sent:1; /* 16 8 */ /* XXX 15 bits hole, try to pack */ u32 dccphtx_rtt; /* 24 4 */ /* XXX 4 bytes hole, try to pack */ struct timeval dccphtx_tstamp; /* 32 16 */ }; /* size: 48, cachelines: 1 */ /* sum members: 44, holes: 1, sum holes: 4 */ /* bit holes: 1, sum bit holes: 15 bits */ /* last cacheline: 48 bytes */ [EMAIL PROTECTED] net-2.6.22]$ pahole -e ../build/mica/net-2.6.22/net/dccp/ccids/ccid3.o dccp_tx_hist_entry /* <eb7c> /home/acme/git/net-2.6.22/net/dccp/ccids/lib/packet_history.h:55 */ struct dccp_tx_hist_entry { struct list_head dccphtx_node; /* 0 16 */ u64 dccphtx_seqno; /* 16 8 */ struct timeval dccphtx_tstamp; /* 24 16 */ }; /* size: 40, cachelines: 1 */ /* last cacheline: 40 bytes */ [EMAIL PROTECTED] net-2.6.22]$ I wonder if we could make this a single linked list, lemme see.. I think so, and by doing that we get the struct down to 32 bytes, making it cacheline friendly, and also simplify the operations, i.e. that opencoded list operation would just go away, will leave this for later, in a TODO file. - 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