On 08/16/2016 05:56 PM, Xin Long wrote: >>>> >>>> I'm testing on Linus' master, can we all use that please? >>>> >>> >>> [git] git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git >>> >>> [mechine] >>> Intel(R) Xeon(R) CPU E5-2690 v2 @ 3.00GHz >>> mem 62G (66000220K) >>> >>> [system] >>> # cat /etc/redhat-release >>> Red Hat Enterprise Linux Server release 7.3 Beta (Maipo) >>> >>> [commit 3684b03] >>> [root@hp-dl380pg8-11 lxin]# uname -r >>> 4.8.0-rc2.3684b03 >>> [root@hp-dl380pg8-11 lxin]# cat test.sh >>> killall -0 netserver || netserver -4 & >>> netperf -4 -t SCTP_STREAM_MANY -c -C -l 300 -- -m 10K -H 127.0.0.1 >> >> I just realized the test we are doing is not exactly the same. >> As the original report says: >> ip: ipv4 >> runtime: 300s >> nr_threads: 200% >> cluster: cs-localhost >> send_size: 10K >> test: SCTP_STREAM_MANY >> cpufreq_governor: performance >> >> Note the nr_threads: 200%, which means to start 2 times of CPU number >> processes of netperf. >> >> In our IVB i3(2 cores, 2 threads per core) case, 8 netperf processes >> are started concurrently: > OK, understand. > >> >> 2016-07-27 03:48:09 netperf -4 -t SCTP_STREAM_MANY -c -C -l 300 -- -m 10K -H >> 127.0.0.1 & >> 2016-07-27 03:48:09 netperf -4 -t SCTP_STREAM_MANY -c -C -l 300 -- -m 10K -H >> 127.0.0.1 & >> 2016-07-27 03:48:09 netperf -4 -t SCTP_STREAM_MANY -c -C -l 300 -- -m 10K -H >> 127.0.0.1 & >> 2016-07-27 03:48:09 netperf -4 -t SCTP_STREAM_MANY -c -C -l 300 -- -m 10K -H >> 127.0.0.1 & >> 2016-07-27 03:48:09 netperf -4 -t SCTP_STREAM_MANY -c -C -l 300 -- -m 10K -H >> 127.0.0.1 & >> 2016-07-27 03:48:09 netperf -4 -t SCTP_STREAM_MANY -c -C -l 300 -- -m 10K -H >> 127.0.0.1 & >> 2016-07-27 03:48:09 netperf -4 -t SCTP_STREAM_MANY -c -C -l 300 -- -m 10K -H >> 127.0.0.1 & >> 2016-07-27 03:48:09 netperf -4 -t SCTP_STREAM_MANY -c -C -l 300 -- -m 10K -H >> 127.0.0.1 & >> >> The throughput is the average of those runs. >> >> And I think we should be doing test on: >> commit a6c2f79287 ("sctp: implement prsctp TTL policy") (the bisected one) >> and >> commit 826d253d57 ("sctp: add SCTP_PR_ASSOC_STATUS on sctp sockopt") (its >> immediate parent) >> instead of Linus' master HEAD to avoid other factors. >> > OK, I will do tests as your suggestion now, but need to rebuild again :D > > can you disable pr_enable with "sysctl -w net.sctp.prsctp_enable=0", > then try again?
For commit a6c2f79287 ("sctp: implement prsctp TTL policy"), no matter the value of net.sctp.prsctp_enable, the throughput is almost the same: net.sctp.prsctp_enable = 0 { "netperf.Throughput_Mbps": [ 2353.3112499999997 ] } net.sctp.prsctp_enable = 1 { "netperf.Throughput_Mbps": [ 2371.5862500000003 ] } For its immediate parent: commit 826d253d57 ("sctp: add SCTP_PR_ASSOC_STATUS on sctp sockopt") No matter the value of net.sctp.prsctp_enable, the throughput is again almost the same: net.sctp.prsctp_enable = 0 { "netperf.Throughput_Mbps": [ 3838.8300000000004 ] } net.sctp.prsctp_enable = 1 { "netperf.Throughput_Mbps": [ 3751.4600000000005 ] } Does this result give any hint? Thanks, Aaron