From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751439AbcHQFEh (ORCPT ); Wed, 17 Aug 2016 01:04:37 -0400 Received: from mga01.intel.com ([192.55.52.88]:15074 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750784AbcHQFEf (ORCPT ); Wed, 17 Aug 2016 01:04:35 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.28,529,1464678000"; d="scan'208";a="866726662" Subject: Re: [LKP] [lkp] [sctp] a6c2f79287: netperf.Throughput_Mbps -37.2% regression To: Xin Long References: <20160727015425.GL21454@yexl-desktop> <20160805033109.GA28539@aaronlu.sh.intel.com> <20160808021031.GA17837@aaronlu.sh.intel.com> <6e529b10-117d-8af0-66b3-2ccfb71acf2a@intel.com> Cc: kernel test robot , Stephen Rothwell , lkp@01.org, "David S. Miller" , LKML From: Aaron Lu Message-ID: <47965feb-3a4d-4e07-a9ed-86a3d58fb911@intel.com> Date: Wed, 17 Aug 2016 13:04:29 +0800 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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