I have no problems with this one. Shortens the namespace while keeping it. - Arnaldo
Em Wed, Oct 24, 2007 at 01:31:05PM +0100, Gerrit Renker escreveu: > Arnaldo can you please indicate if you are ok with this - there are other Ack > Vector > patches in the pipeline, and I would change them accordingly. > > ---------------------> Patch > <--------------------------------------------------- > [ACKVEC]: Reduce length of identifiers > > This is reduces the length of the struct ackvec/ackvec_record fields. It is > a purely text-based replacement: > > s#dccpavr_#avr_#g; > s#dccpav_#av_#g; > > and increases readability somewhat. > > Signed-off-by: Gerrit Renker <[EMAIL PROTECTED]> > --- > net/dccp/ackvec.c | 163 > +++++++++++++++++++++++++----------------------------- > net/dccp/ackvec.h | 62 ++++++++++---------- > 2 files changed, 108 insertions(+), 117 deletions(-) > > --- a/net/dccp/ackvec.h > +++ b/net/dccp/ackvec.h > @@ -32,54 +32,54 @@ > * > * This data structure is the one defined in RFC 4340, Appendix A. > * > - * @dccpav_buf_head - circular buffer head > - * @dccpav_buf_tail - circular buffer tail > - * @dccpav_buf_ackno - ack # of the most recent packet acknowledgeable in the > - * buffer (i.e. %dccpav_buf_head) > - * @dccpav_buf_nonce - the one-bit sum of the ECN Nonces on all packets acked > + * @av_buf_head - circular buffer head > + * @av_buf_tail - circular buffer tail > + * @av_buf_ackno - ack # of the most recent packet acknowledgeable in the > + * buffer (i.e. %av_buf_head) > + * @av_buf_nonce - the one-bit sum of the ECN Nonces on all packets acked > * by the buffer with State 0 > * > * Additionally, the HC-Receiver must keep some information about the > * Ack Vectors it has recently sent. For each packet sent carrying an > * Ack Vector, it remembers four variables: > * > - * @dccpav_records - list of dccp_ackvec_record > - * @dccpav_ack_nonce - the one-bit sum of the ECN Nonces for all State 0. > + * @av_records - list of dccp_ackvec_record > + * @av_ack_nonce - the one-bit sum of the ECN Nonces for all State 0. > * > - * @dccpav_time - the time in usecs > - * @dccpav_buf - circular buffer of acknowledgeable packets > + * @av_time - the time in usecs > + * @av_buf - circular buffer of acknowledgeable packets > */ > struct dccp_ackvec { > - u64 dccpav_buf_ackno; > - struct list_head dccpav_records; > - ktime_t dccpav_time; > - u16 dccpav_buf_head; > - u16 dccpav_vec_len; > - u8 dccpav_buf_nonce; > - u8 dccpav_ack_nonce; > - u8 dccpav_buf[DCCP_MAX_ACKVEC_LEN]; > + u64 av_buf_ackno; > + struct list_head av_records; > + ktime_t av_time; > + u16 av_buf_head; > + u16 av_vec_len; > + u8 av_buf_nonce; > + u8 av_ack_nonce; > + u8 av_buf[DCCP_MAX_ACKVEC_LEN]; > }; > > /** struct dccp_ackvec_record - ack vector record > * > * ACK vector record as defined in Appendix A of spec. > * > - * The list is sorted by dccpavr_ack_seqno > + * The list is sorted by avr_ack_seqno > * > - * @dccpavr_node - node in dccpav_records > - * @dccpavr_ack_seqno - sequence number of the packet this record was sent on > - * @dccpavr_ack_ackno - sequence number being acknowledged > - * @dccpavr_ack_ptr - pointer into dccpav_buf where this record starts > - * @dccpavr_ack_nonce - dccpav_ack_nonce at the time this record was sent > - * @dccpavr_sent_len - lenght of the record in dccpav_buf > + * @avr_node - node in av_records > + * @avr_ack_seqno - sequence number of the packet this record was sent on > + * @avr_ack_ackno - sequence number being acknowledged > + * @avr_ack_ptr - pointer into av_buf where this record starts > + * @avr_ack_nonce - av_ack_nonce at the time this record was sent > + * @avr_sent_len - lenght of the record in av_buf > */ > struct dccp_ackvec_record { > - struct list_head dccpavr_node; > - u64 dccpavr_ack_seqno; > - u64 dccpavr_ack_ackno; > - u16 dccpavr_ack_ptr; > - u16 dccpavr_sent_len; > - u8 dccpavr_ack_nonce; > + struct list_head avr_node; > + u64 avr_ack_seqno; > + u64 avr_ack_ackno; > + u16 avr_ack_ptr; > + u16 avr_sent_len; > + u8 avr_ack_nonce; > }; > > struct sock; > @@ -105,7 +105,7 @@ extern int dccp_insert_option_ackvec(struct sock *sk, > struct sk_buff *skb); > > static inline int dccp_ackvec_pending(const struct dccp_ackvec *av) > { > - return av->dccpav_vec_len; > + return av->av_vec_len; > } > #else /* CONFIG_IP_DCCP_ACKVEC */ > static inline int dccp_ackvec_init(void) > --- a/net/dccp/ackvec.c > +++ b/net/dccp/ackvec.c > @@ -30,7 +30,7 @@ static struct dccp_ackvec_record > *dccp_ackvec_record_new(void) > kmem_cache_alloc(dccp_ackvec_record_slab, GFP_ATOMIC); > > if (avr != NULL) > - INIT_LIST_HEAD(&avr->dccpavr_node); > + INIT_LIST_HEAD(&avr->avr_node); > > return avr; > } > @@ -40,7 +40,7 @@ static void dccp_ackvec_record_delete(struct > dccp_ackvec_record *avr) > if (unlikely(avr == NULL)) > return; > /* Check if deleting a linked record */ > - WARN_ON(!list_empty(&avr->dccpavr_node)); > + WARN_ON(!list_empty(&avr->avr_node)); > kmem_cache_free(dccp_ackvec_record_slab, avr); > } > > @@ -52,16 +52,15 @@ static void dccp_ackvec_insert_avr(struct dccp_ackvec *av, > * just add the AVR at the head of the list. > * -sorbo. > */ > - if (!list_empty(&av->dccpav_records)) { > + if (!list_empty(&av->av_records)) { > const struct dccp_ackvec_record *head = > - list_entry(av->dccpav_records.next, > + list_entry(av->av_records.next, > struct dccp_ackvec_record, > - dccpavr_node); > - BUG_ON(before48(avr->dccpavr_ack_seqno, > - head->dccpavr_ack_seqno)); > + avr_node); > + BUG_ON(before48(avr->avr_ack_seqno, head->avr_ack_seqno)); > } > > - list_add(&avr->dccpavr_node, &av->dccpav_records); > + list_add(&avr->avr_node, &av->av_records); > } > > int dccp_insert_option_ackvec(struct sock *sk, struct sk_buff *skb) > @@ -69,9 +68,8 @@ int dccp_insert_option_ackvec(struct sock *sk, struct > sk_buff *skb) > struct dccp_sock *dp = dccp_sk(sk); > struct dccp_ackvec *av = dp->dccps_hc_rx_ackvec; > /* Figure out how many options do we need to represent the ackvec */ > - const u16 nr_opts = DIV_ROUND_UP(av->dccpav_vec_len, > - DCCP_MAX_ACKVEC_OPT_LEN); > - u16 len = av->dccpav_vec_len + 2 * nr_opts, i; > + const u16 nr_opts = DIV_ROUND_UP(av->av_vec_len, > DCCP_MAX_ACKVEC_OPT_LEN); > + u16 len = av->av_vec_len + 2 * nr_opts, i; > u32 elapsed_time; > const unsigned char *tail, *from; > unsigned char *to; > @@ -81,7 +79,7 @@ int dccp_insert_option_ackvec(struct sock *sk, struct > sk_buff *skb) > if (DCCP_SKB_CB(skb)->dccpd_opt_len + len > DCCP_MAX_OPT_LEN) > return -1; > > - delta = ktime_us_delta(ktime_get_real(), av->dccpav_time); > + delta = ktime_us_delta(ktime_get_real(), av->av_time); > elapsed_time = delta / 10; > > if (elapsed_time != 0 && > @@ -95,9 +93,9 @@ int dccp_insert_option_ackvec(struct sock *sk, struct > sk_buff *skb) > DCCP_SKB_CB(skb)->dccpd_opt_len += len; > > to = skb_push(skb, len); > - len = av->dccpav_vec_len; > - from = av->dccpav_buf + av->dccpav_buf_head; > - tail = av->dccpav_buf + DCCP_MAX_ACKVEC_LEN; > + len = av->av_vec_len; > + from = av->av_buf + av->av_buf_head; > + tail = av->av_buf + DCCP_MAX_ACKVEC_LEN; > > for (i = 0; i < nr_opts; ++i) { > int copylen = len; > @@ -116,7 +114,7 @@ int dccp_insert_option_ackvec(struct sock *sk, struct > sk_buff *skb) > to += tailsize; > len -= tailsize; > copylen -= tailsize; > - from = av->dccpav_buf; > + from = av->av_buf; > } > > memcpy(to, from, copylen); > @@ -134,19 +132,19 @@ int dccp_insert_option_ackvec(struct sock *sk, struct > sk_buff *skb) > * buf_head; ack_ackno will equal buf_ackno; and ack_nonce will > * equal buf_nonce. > */ > - avr->dccpavr_ack_seqno = DCCP_SKB_CB(skb)->dccpd_seq; > - avr->dccpavr_ack_ptr = av->dccpav_buf_head; > - avr->dccpavr_ack_ackno = av->dccpav_buf_ackno; > - avr->dccpavr_ack_nonce = av->dccpav_buf_nonce; > - avr->dccpavr_sent_len = av->dccpav_vec_len; > + avr->avr_ack_seqno = DCCP_SKB_CB(skb)->dccpd_seq; > + avr->avr_ack_ptr = av->av_buf_head; > + avr->avr_ack_ackno = av->av_buf_ackno; > + avr->avr_ack_nonce = av->av_buf_nonce; > + avr->avr_sent_len = av->av_vec_len; > > dccp_ackvec_insert_avr(av, avr); > > dccp_pr_debug("%s ACK Vector 0, len=%d, ack_seqno=%llu, " > "ack_ackno=%llu\n", > - dccp_role(sk), avr->dccpavr_sent_len, > - (unsigned long long)avr->dccpavr_ack_seqno, > - (unsigned long long)avr->dccpavr_ack_ackno); > + dccp_role(sk), avr->avr_sent_len, > + (unsigned long long)avr->avr_ack_seqno, > + (unsigned long long)avr->avr_ack_ackno); > return 0; > } > > @@ -155,12 +153,12 @@ struct dccp_ackvec *dccp_ackvec_alloc(const gfp_t > priority) > struct dccp_ackvec *av = kmem_cache_alloc(dccp_ackvec_slab, priority); > > if (av != NULL) { > - av->dccpav_buf_head = DCCP_MAX_ACKVEC_LEN - 1; > - av->dccpav_buf_ackno = UINT48_MAX + 1; > - av->dccpav_buf_nonce = av->dccpav_buf_nonce = 0; > - av->dccpav_time = ktime_set(0, 0); > - av->dccpav_vec_len = 0; > - INIT_LIST_HEAD(&av->dccpav_records); > + av->av_buf_head = DCCP_MAX_ACKVEC_LEN - 1; > + av->av_buf_ackno = UINT48_MAX + 1; > + av->av_buf_nonce = 0; > + av->av_time = ktime_set(0, 0); > + av->av_vec_len = 0; > + INIT_LIST_HEAD(&av->av_records); > } > > return av; > @@ -171,12 +169,11 @@ void dccp_ackvec_free(struct dccp_ackvec *av) > if (unlikely(av == NULL)) > return; > > - if (!list_empty(&av->dccpav_records)) { > + if (!list_empty(&av->av_records)) { > struct dccp_ackvec_record *avr, *next; > > - list_for_each_entry_safe(avr, next, &av->dccpav_records, > - dccpavr_node) { > - list_del_init(&avr->dccpavr_node); > + list_for_each_entry_safe(avr, next, &av->av_records, avr_node) { > + list_del_init(&avr->avr_node); > dccp_ackvec_record_delete(avr); > } > } > @@ -187,13 +184,13 @@ void dccp_ackvec_free(struct dccp_ackvec *av) > static inline u8 dccp_ackvec_state(const struct dccp_ackvec *av, > const u32 index) > { > - return av->dccpav_buf[index] & DCCP_ACKVEC_STATE_MASK; > + return av->av_buf[index] & DCCP_ACKVEC_STATE_MASK; > } > > static inline u8 dccp_ackvec_len(const struct dccp_ackvec *av, > const u32 index) > { > - return av->dccpav_buf[index] & DCCP_ACKVEC_LEN_MASK; > + return av->av_buf[index] & DCCP_ACKVEC_LEN_MASK; > } > > /* > @@ -208,29 +205,29 @@ static inline int dccp_ackvec_set_buf_head_state(struct > dccp_ackvec *av, > unsigned int gap; > long new_head; > > - if (av->dccpav_vec_len + packets > DCCP_MAX_ACKVEC_LEN) > + if (av->av_vec_len + packets > DCCP_MAX_ACKVEC_LEN) > return -ENOBUFS; > > gap = packets - 1; > - new_head = av->dccpav_buf_head - packets; > + new_head = av->av_buf_head - packets; > > if (new_head < 0) { > if (gap > 0) { > - memset(av->dccpav_buf, DCCP_ACKVEC_STATE_NOT_RECEIVED, > + memset(av->av_buf, DCCP_ACKVEC_STATE_NOT_RECEIVED, > gap + new_head + 1); > gap = -new_head; > } > new_head += DCCP_MAX_ACKVEC_LEN; > } > > - av->dccpav_buf_head = new_head; > + av->av_buf_head = new_head; > > if (gap > 0) > - memset(av->dccpav_buf + av->dccpav_buf_head + 1, > + memset(av->av_buf + av->av_buf_head + 1, > DCCP_ACKVEC_STATE_NOT_RECEIVED, gap); > > - av->dccpav_buf[av->dccpav_buf_head] = state; > - av->dccpav_vec_len += packets; > + av->av_buf[av->av_buf_head] = state; > + av->av_vec_len += packets; > return 0; > } > > @@ -243,7 +240,7 @@ int dccp_ackvec_add(struct dccp_ackvec *av, const struct > sock *sk, > /* > * Check at the right places if the buffer is full, if it is, tell the > * caller to start dropping packets till the HC-Sender acks our ACK > - * vectors, when we will free up space in dccpav_buf. > + * vectors, when we will free up space in av_buf. > * > * We may well decide to do buffer compression, etc, but for now lets > * just drop. > @@ -263,22 +260,20 @@ int dccp_ackvec_add(struct dccp_ackvec *av, const > struct sock *sk, > */ > > /* See if this is the first ackno being inserted */ > - if (av->dccpav_vec_len == 0) { > - av->dccpav_buf[av->dccpav_buf_head] = state; > - av->dccpav_vec_len = 1; > - } else if (after48(ackno, av->dccpav_buf_ackno)) { > - const u64 delta = dccp_delta_seqno(av->dccpav_buf_ackno, > - ackno); > + if (av->av_vec_len == 0) { > + av->av_buf[av->av_buf_head] = state; > + av->av_vec_len = 1; > + } else if (after48(ackno, av->av_buf_ackno)) { > + const u64 delta = dccp_delta_seqno(av->av_buf_ackno, ackno); > > /* > * Look if the state of this packet is the same as the > * previous ackno and if so if we can bump the head len. > */ > if (delta == 1 && > - dccp_ackvec_state(av, av->dccpav_buf_head) == state && > - (dccp_ackvec_len(av, av->dccpav_buf_head) < > - DCCP_ACKVEC_LEN_MASK)) > - av->dccpav_buf[av->dccpav_buf_head]++; > + dccp_ackvec_state(av, av->av_buf_head) == state && > + dccp_ackvec_len(av, av->av_buf_head) < DCCP_ACKVEC_LEN_MASK) > + av->av_buf[av->av_buf_head]++; > else if (dccp_ackvec_set_buf_head_state(av, delta, state)) > return -ENOBUFS; > } else { > @@ -290,14 +285,14 @@ int dccp_ackvec_add(struct dccp_ackvec *av, const > struct sock *sk, > * the byte corresponding to S. (Indexing structures > * could reduce the complexity of this scan.) > */ > - u64 delta = dccp_delta_seqno(ackno, av->dccpav_buf_ackno); > - u32 index = av->dccpav_buf_head; > + u64 delta = dccp_delta_seqno(ackno, av->av_buf_ackno); > + u32 index = av->av_buf_head; > > while (1) { > const u8 len = dccp_ackvec_len(av, index); > const u8 state = dccp_ackvec_state(av, index); > /* > - * valid packets not yet in dccpav_buf have a reserved > + * valid packets not yet in av_buf have a reserved > * entry, with a len equal to 0. > */ > if (state == DCCP_ACKVEC_STATE_NOT_RECEIVED && > @@ -305,7 +300,7 @@ int dccp_ackvec_add(struct dccp_ackvec *av, const struct > sock *sk, > reserved seat! */ > dccp_pr_debug("Found %llu reserved seat!\n", > (unsigned long long)ackno); > - av->dccpav_buf[index] = state; > + av->av_buf[index] = state; > goto out; > } > /* len == 0 means one packet */ > @@ -318,8 +313,8 @@ int dccp_ackvec_add(struct dccp_ackvec *av, const struct > sock *sk, > } > } > > - av->dccpav_buf_ackno = ackno; > - av->dccpav_time = ktime_get_real(); > + av->av_buf_ackno = ackno; > + av->av_time = ktime_get_real(); > out: > return 0; > > @@ -349,9 +344,9 @@ void dccp_ackvector_print(const u64 ackno, const unsigned > char *vector, int len) > > void dccp_ackvec_print(const struct dccp_ackvec *av) > { > - dccp_ackvector_print(av->dccpav_buf_ackno, > - av->dccpav_buf + av->dccpav_buf_head, > - av->dccpav_vec_len); > + dccp_ackvector_print(av->av_buf_ackno, > + av->av_buf + av->av_buf_head, > + av->av_vec_len); > } > #endif > > @@ -361,17 +356,15 @@ static void dccp_ackvec_throw_record(struct dccp_ackvec > *av, > struct dccp_ackvec_record *next; > > /* sort out vector length */ > - if (av->dccpav_buf_head <= avr->dccpavr_ack_ptr) > - av->dccpav_vec_len = avr->dccpavr_ack_ptr - av->dccpav_buf_head; > + if (av->av_buf_head <= avr->avr_ack_ptr) > + av->av_vec_len = avr->avr_ack_ptr - av->av_buf_head; > else > - av->dccpav_vec_len = DCCP_MAX_ACKVEC_LEN - 1 > - - av->dccpav_buf_head > - + avr->dccpavr_ack_ptr; > + av->av_vec_len = DCCP_MAX_ACKVEC_LEN - 1 - > + av->av_buf_head + avr->avr_ack_ptr; > > /* free records */ > - list_for_each_entry_safe_from(avr, next, &av->dccpav_records, > - dccpavr_node) { > - list_del_init(&avr->dccpavr_node); > + list_for_each_entry_safe_from(avr, next, &av->av_records, avr_node) { > + list_del_init(&avr->avr_node); > dccp_ackvec_record_delete(avr); > } > } > @@ -386,16 +379,16 @@ void dccp_ackvec_check_rcv_ackno(struct dccp_ackvec > *av, struct sock *sk, > * windows. We will be receiving ACKs for stuff we sent a while back > * -sorbo. > */ > - list_for_each_entry_reverse(avr, &av->dccpav_records, dccpavr_node) { > - if (ackno == avr->dccpavr_ack_seqno) { > + list_for_each_entry_reverse(avr, &av->av_records, avr_node) { > + if (ackno == avr->avr_ack_seqno) { > dccp_pr_debug("%s ACK packet 0, len=%d, ack_seqno=%llu, > " > "ack_ackno=%llu, ACKED!\n", > dccp_role(sk), 1, > - (unsigned long > long)avr->dccpavr_ack_seqno, > - (unsigned long > long)avr->dccpavr_ack_ackno); > + (unsigned long long)avr->avr_ack_seqno, > + (unsigned long long)avr->avr_ack_ackno); > dccp_ackvec_throw_record(av, avr); > break; > - } else if (avr->dccpavr_ack_seqno > ackno) > + } else if (avr->avr_ack_seqno > ackno) > break; /* old news */ > } > } > @@ -409,7 +402,7 @@ static void dccp_ackvec_check_rcv_ackvector(struct > dccp_ackvec *av, > struct dccp_ackvec_record *avr; > > /* Check if we actually sent an ACK vector */ > - if (list_empty(&av->dccpav_records)) > + if (list_empty(&av->av_records)) > return; > > i = len; > @@ -418,8 +411,7 @@ static void dccp_ackvec_check_rcv_ackvector(struct > dccp_ackvec *av, > * I think it might be more efficient to work backwards. See comment on > * rcv_ackno. -sorbo. > */ > - avr = list_entry(av->dccpav_records.next, struct dccp_ackvec_record, > - dccpavr_node); > + avr = list_entry(av->av_records.next, struct dccp_ackvec_record, > avr_node); > while (i--) { > const u8 rl = *vector & DCCP_ACKVEC_LEN_MASK; > u64 ackno_end_rl; > @@ -430,15 +422,14 @@ static void dccp_ackvec_check_rcv_ackvector(struct > dccp_ackvec *av, > * If our AVR sequence number is greater than the ack, go > * forward in the AVR list until it is not so. > */ > - list_for_each_entry_from(avr, &av->dccpav_records, > - dccpavr_node) { > - if (!after48(avr->dccpavr_ack_seqno, *ackno)) > + list_for_each_entry_from(avr, &av->av_records, avr_node) { > + if (!after48(avr->avr_ack_seqno, *ackno)) > goto found; > } > - /* End of the dccpav_records list, not found, exit */ > + /* End of the av_records list, not found, exit */ > break; > found: > - if (between48(avr->dccpavr_ack_seqno, ackno_end_rl, *ackno)) { > + if (between48(avr->avr_ack_seqno, ackno_end_rl, *ackno)) { > const u8 state = *vector & DCCP_ACKVEC_STATE_MASK; > if (state != DCCP_ACKVEC_STATE_NOT_RECEIVED) { > dccp_pr_debug("%s ACK vector 0, len=%d, " > @@ -446,9 +437,9 @@ found: > "ACKED!\n", > dccp_role(sk), len, > (unsigned long long) > - avr->dccpavr_ack_seqno, > + avr->avr_ack_seqno, > (unsigned long long) > - avr->dccpavr_ack_ackno); > + avr->avr_ack_ackno); > dccp_ackvec_throw_record(av, avr); > break; > } - 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