PERFORCE change 166476 for review
Andre Oppermann
andre at FreeBSD.org
Thu Jul 23 20:54:27 UTC 2009
http://perforce.freebsd.org/chv.cgi?CH=166476
Change 166476 by andre at andre_t61 on 2009/07/23 20:54:23
Be more consistent with the sequence space comparisons.
Have uma_zalloc zero out the structure on allocation.
Affected files ...
.. //depot/projects/tcp_new/netinet/tcp_sack.c#12 edit
Differences ...
==== //depot/projects/tcp_new/netinet/tcp_sack.c#12 (text+ko) ====
@@ -267,7 +267,7 @@
sacked += SEQ_DELTA(tsb->tsb_blk.end, sack.tsb_blk.end);
tsb->tsb_blk.end = sack.tsb_blk.end;
while ((tsbn = RB_NEXT(tcp_sackblocks, &tp->snd_sackblocks, tsb)) != NULL &&
- SEQ_GEQ(tsbn->tsb_blk.start, tsb->tsb_blk.end)) {
+ SEQ_GEQ(tsb->tsb_blk.end, tsbn->tsb_blk.start)) {
sacked -= SEQ_DELTA(sack.tsb_blk.end, tsbn->tsb_blk.start);
if (SEQ_GT(tsbn->tsb_blk.end, tsb->tsb_blk.end))
tsb->tsb_blk.end = tsbn->tsb_blk.end;
@@ -279,14 +279,14 @@
sacked += SEQ_DELTA(sack.tsb_blk.start, tsb->tsb_blk.start);
tsb->tsb_blk.start = sack.tsb_blk.start;
while ((tsbn = RB_PREV(tcp_sackblocks, &tp->snd_sackblocks, tsb)) != NULL &&
- SEQ_GEQ(tsbn->tsb_blk.end, tsb->tsb_blk.start)) {
+ SEQ_LEQ(tsb->tsb_blk.start, tsbn->tsb_blk.end)) {
sacked -= SEQ_DELTA(sack.tsb_blk.start, tsbn->tsb_blk.end);
if (SEQ_LT(tsbn->tsb_blk.start, tsb->tsb_blk.start))
tsb->tsb_blk.start = tsbn->tsb_blk.start;
tcp_sack_free(tp, tsbn);
}
}
- } else if ((tsb = (struct tcp_sack_block *)uma_zalloc(tcp_sackblock_zone, M_NOWAIT)) != NULL) {
+ } else if ((tsb = (struct tcp_sack_block *)uma_zalloc(tcp_sackblock_zone, (M_NOWAIT|M_ZERO))) != NULL) {
sacked += SEQ_DELTA(sack.tsb_blk.start, sack.tsb_blk.end);
tsb->tsb_blk.start = sack.tsb_blk.start;
tsb->tsb_blk.end = sack.tsb_blk.end;
More information about the p4-projects
mailing list