From: Vlad Y. <vla...@hp...> - 2005-12-22 15:22:55
|
The problem with is that when you don't need to bundle chunks, you send less data then you can really send. Running iperf and netperf with you patch gives a reduction of about 10% in throughput (this is on top of already really dismal numbers). -vlad Mark Butler wrote: > This patch reduces the sctp data fragmentation point to allow room for a > small SACK chunk and an ECNE chunk to be bundled with DATA chunks from > fragmented messages. This keeps SACK and ECNE from being delivered in > standalone control-chunk only packets when there is bidirectional > traffic. It also keeps the fragmentation point a multiple of four bytes. > Signed-off-by: Mark Butler <bu...@mi...> > > === > diff -Nru a/include/net/sctp/sctp.h b/include/net/sctp/sctp.h > --- a/include/net/sctp/sctp.h 2005-12-14 16:50:41.000000000 -0700 > +++ b/include/net/sctp/sctp.h 2005-12-21 20:14:05.000000000 -0700 > @@ -442,13 +442,18 @@ > { > int frag = pmtu; > > - frag -= sp->pf->af->net_header_len; > - frag -= sizeof(struct sctphdr) + sizeof(struct sctp_data_chunk); > + frag = min_t(int, frag, SCTP_MAX_CHUNK_LEN); > + > + frag -= sp->pf->af->net_header_len; + frag -= sizeof(struct > sctphdr) + sizeof(struct sctp_data_chunk); > + > + frag -= 24; /* allow room for small SACK */ > + frag -= 8; /* allow room for ECNE or CWR */ > > if (sp->user_frag) > frag = min_t(int, frag, sp->user_frag); > > - frag = min_t(int, frag, SCTP_MAX_CHUNK_LEN); > + frag &= ~0x3; /* multiple of 4 bytes */ > > return frag; > } > > > > ------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. Do you grep through log > files > for problems? Stop! Download the new AJAX search engine that makes > searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! > http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click > _______________________________________________ > Lksctp-developers mailing list > Lks...@li... > https://lists.sourceforge.net/lists/listinfo/lksctp-developers > |