[CCID 3]: Remove unused fields in packet history structure This removes two fields of the TX packet history structure which are not referenced by the CCID 3 code and are not needed: * dccphtx_sent - is redundant since the fact that an entry is present in the TX history in itself is an indication that the packet has been sent (cf. dccp_write_xmit and ccid3_hc_tx_packet_sent); * dccphtx_rtt - is nowhere referenced and is not even required: the `Preventing Oscillations' mechanism in [RFC 3448, 4.5] uses a moving-average, but does not require to memorize past RTTs; the history field has no further use; As a further benefit, the history entry size is reduced. NB : Adding the newly created entry is now at the end of packet_sent - if it is in the history before being fully filled in, list corruption is possible. Signed-off-by: Gerrit Renker <gerrit@xxxxxxxxxxxxxx> --- net/dccp/ccids/ccid3.c | 4 +--- net/dccp/ccids/lib/packet_history.h | 12 ++---------- 2 files changed, 3 insertions(+), 13 deletions(-) --- a/net/dccp/ccids/ccid3.c +++ b/net/dccp/ccids/ccid3.c @@ -408,13 +408,11 @@ static void ccid3_hc_tx_packet_sent(stru DCCP_CRIT("packet history - out of memory!"); return; } - dccp_tx_hist_add_entry(&hctx->ccid3hctx_hist, packet); do_gettimeofday(&now); packet->dccphtx_tstamp = now; packet->dccphtx_seqno = dccp_sk(sk)->dccps_gss; - packet->dccphtx_rtt = hctx->ccid3hctx_rtt; - packet->dccphtx_sent = 1; + dccp_tx_hist_add_entry(&hctx->ccid3hctx_hist, packet); } static void ccid3_hc_tx_packet_recv(struct sock *sk, struct sk_buff *skb) --- a/net/dccp/ccids/lib/packet_history.h +++ b/net/dccp/ccids/lib/packet_history.h @@ -54,9 +54,7 @@ */ struct dccp_tx_hist_entry { struct list_head dccphtx_node; - u64 dccphtx_seqno:48, - dccphtx_sent:1; - u32 dccphtx_rtt; + u64 dccphtx_seqno; struct timeval dccphtx_tstamp; }; @@ -71,13 +69,7 @@ static inline struct dccp_tx_hist_entry dccp_tx_hist_entry_new(struct dccp_tx_hist *hist, const gfp_t prio) { - struct dccp_tx_hist_entry *entry = kmem_cache_alloc(hist->dccptxh_slab, - prio); - - if (entry != NULL) - entry->dccphtx_sent = 0; - - return entry; + return kmem_cache_alloc(hist->dccptxh_slab, prio); } extern int dccp_tx_hist_get_send_time(struct dccp_tx_hist *, struct list_head *, - 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