From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753466AbcHQFiA (ORCPT ); Wed, 17 Aug 2016 01:38:00 -0400 Received: from mga11.intel.com ([192.55.52.93]:31323 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750809AbcHQFh7 (ORCPT ); Wed, 17 Aug 2016 01:37:59 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.28,529,1464678000"; d="gz'50?scan'50,208,50";a="1036917803" 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> <47965feb-3a4d-4e07-a9ed-86a3d58fb911@intel.com> Cc: kernel test robot , Stephen Rothwell , lkp@01.org, "David S. Miller" , LKML From: Aaron Lu Message-ID: <371c1f25-bc00-c36a-a7f5-fbe05cd58abc@intel.com> Date: Wed, 17 Aug 2016 13:34:52 +0800 MIME-Version: 1.0 In-Reply-To: <47965feb-3a4d-4e07-a9ed-86a3d58fb911@intel.com> Content-Type: multipart/mixed; boundary="------------7A7398B546D6951230FD88A6" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This is a multi-part message in MIME format. --------------7A7398B546D6951230FD88A6 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit On 08/17/2016 01:04 PM, Aaron Lu wrote: > 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: The perf-profile data for the two commits are attached(for the case of prsctp_enable=1, the perf-profile data doesn't get collected for the 0 case for some reason, I'm checking the problem now). The CPU gets much more idle time in the bisected commit a6c2f79287: 68.89% 0.70% [kernel.kallsyms] [k] entry_SYSCALL_64_fastpath 49.32% 0.12% [kernel.kallsyms] [k] sys_sendmsg 49.17% 0.12% [kernel.kallsyms] [k] __sys_sendmsg 48.58% 0.22% [kernel.kallsyms] [k] ___sys_sendmsg 46.69% 0.06% [kernel.kallsyms] [k] sock_sendmsg 46.31% 0.16% [kernel.kallsyms] [k] inet_sendmsg 45.90% 0.98% [kernel.kallsyms] [k] sctp_sendmsg 29.66% 0.45% [kernel.kallsyms] [k] sctp_do_sm 29.54% 0.23% [kernel.kallsyms] [k] cpu_startup_entry 28.81% 0.68% [kernel.kallsyms] [k] sctp_cmd_interpreter.isra.24 26.20% 0.00% [kernel.kallsyms] [k] start_secondary 23.04% 0.09% [kernel.kallsyms] [k] sctp_inq_push 23.03% 0.08% [kernel.kallsyms] [k] call_cpuidle 22.94% 0.00% [kernel.kallsyms] [k] cpuidle_enter 22.60% 0.18% [kernel.kallsyms] [k] cpuidle_enter_state 21.99% 21.99% [kernel.kallsyms] [k] intel_idle ... ... While its immediate parent commit 826d253d57 is mostly busy working: 98.53% 0.83% [kernel.kallsyms] [k] entry_SYSCALL_64_fastpath 78.13% 0.12% [kernel.kallsyms] [k] sys_sendmsg 78.03% 0.16% [kernel.kallsyms] [k] __sys_sendmsg 77.08% 0.28% [kernel.kallsyms] [k] ___sys_sendmsg 74.44% 0.08% [kernel.kallsyms] [k] sock_sendmsg 73.82% 0.13% [kernel.kallsyms] [k] inet_sendmsg 73.34% 1.44% [kernel.kallsyms] [k] sctp_sendmsg 47.52% 0.75% [kernel.kallsyms] [k] sctp_do_sm 46.19% 0.90% [kernel.kallsyms] [k] sctp_cmd_interpreter.isra.24 37.17% 1.43% [kernel.kallsyms] [k] sctp_outq_flush 36.93% 0.08% [kernel.kallsyms] [k] sctp_outq_uncork 34.24% 0.15% [kernel.kallsyms] [k] sctp_inq_push ... ... No idle related function above 1%. Will the bisected commit make the idle possible? Thanks, Aaron --------------7A7398B546D6951230FD88A6 Content-Type: application/gzip; name="perf-profile-a6c2f79287.gz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="perf-profile-a6c2f79287.gz" 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 --------------7A7398B546D6951230FD88A6 Content-Type: application/gzip; name="perf-profile-826d253d57.gz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="perf-profile-826d253d57.gz" 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 KQ8ya4N71EalWf/07u7u/wEmKuEV/8kBAA== --------------7A7398B546D6951230FD88A6--