svn commit: r202492 - stable/8/sys/netinet
Michael Tuexen
tuexen at FreeBSD.org
Sun Jan 17 17:10:17 UTC 2010
Author: tuexen
Date: Sun Jan 17 17:10:17 2010
New Revision: 202492
URL: http://svn.freebsd.org/changeset/base/202492
Log:
MFC 198499
Improve the round robin stream scheduler.
Modified:
stable/8/sys/netinet/sctp_output.c
Directory Properties:
stable/8/sys/ (props changed)
stable/8/sys/amd64/include/xen/ (props changed)
stable/8/sys/cddl/contrib/opensolaris/ (props changed)
stable/8/sys/contrib/dev/acpica/ (props changed)
stable/8/sys/contrib/pf/ (props changed)
stable/8/sys/dev/xen/xenpci/ (props changed)
Modified: stable/8/sys/netinet/sctp_output.c
==============================================================================
--- stable/8/sys/netinet/sctp_output.c Sun Jan 17 17:05:59 2010 (r202491)
+++ stable/8/sys/netinet/sctp_output.c Sun Jan 17 17:10:17 2010 (r202492)
@@ -7190,22 +7190,16 @@ sctp_select_a_stream(struct sctp_tcb *st
/* Find the next stream to use */
if (asoc->last_out_stream == NULL) {
- strq = asoc->last_out_stream = TAILQ_FIRST(&asoc->out_wheel);
- if (asoc->last_out_stream == NULL) {
- /* huh nothing on the wheel, TSNH */
- return (NULL);
- }
- goto done_it;
- }
- strq = TAILQ_NEXT(asoc->last_out_stream, next_spoke);
-done_it:
- if (strq == NULL) {
- strq = asoc->last_out_stream = TAILQ_FIRST(&asoc->out_wheel);
+ strq = TAILQ_FIRST(&asoc->out_wheel);
+ } else {
+ strq = TAILQ_NEXT(asoc->last_out_stream, next_spoke);
+ if (strq == NULL) {
+ strq = TAILQ_FIRST(&asoc->out_wheel);
+ }
}
/* Save off the last stream */
asoc->last_out_stream = strq;
return (strq);
-
}
More information about the svn-src-all
mailing list