+8.6% netperf.Throughput_Mbps increase by "page_alloc: fair zone allocator policy"
by fengguang.wu@intel.com
Hi Johannes,
We are pleased to notice that your commit 81c0a2bb51 ("mm: page_alloc:
fair zone allocator policy") improves performance in the netperf
TCP_STREAM case:
e085dbc52fad8d79fa22 81c0a2bb515fd4daae8c
------------------------ ------------------------
649.00 +8.6% 704.80 lkp-nex04/micro/netperf/120s-200%-TCP_STREAM
649.00 +8.6% 704.80 TOTAL netperf.Throughput_Mbps
Thanks,
Fengguang
PS. The changed items compared between the bisect GOOD/BAD commits.
netperf.Throughput_Mbps
760 ++-------------------------------------------------------------------+
| |
740 O+ O O OO O OO |
| OO O |
720 ++ O |
| O O O O O O O OO O O O OO |
700 ++ OO OO O OO O O O O O O
| |
680 *+**.*.*.**.*.*.* |
| : * |
660 ++ : : : O .* |
| :.*.* : : .* .* *.*. * + O |
640 ++ * * * * + .* * * |
| * |
620 ++-------------------------------------------------------------------+
vmstat.system.cs
550000 ++----------------------------------------------------------------+
500000 O+O O OO O OO O OO O O OO O O O O O O O O OO O O OO O OO |
| O O O O |
450000 ++ O O O
400000 ++ |
350000 ++ O O |
300000 ++ |
| |
250000 ++ |
200000 ++ |
150000 ++ |
100000 ++ |
| |
50000 *+**.*.**.*.**.*.**.**.*.**.*.**.*.**.*.**.* |
0 ++----------------------------------------------------------------+
lock_stat.&(&zone->lock)->rlock.contentions
2.4e+07 ++---------------------------------------------------------------+
| O O |
2.2e+07 O+OO O OO OO O OO O
| O O |
2e+07 ++ |
| O OO O O O OO O O O |
1.8e+07 ++ O O O O O O O O O O O O O |
| O |
1.6e+07 ++ |
| |
1.4e+07 ++ .* * |
*.**.*.**.**.*.**.* :+ *.*.* |
1.2e+07 ++ * *.*.**.**.*.** |
| |
1e+07 ++---------------------------------------------------------------+
lock_stat.&(&zone->lock)->rlock.contentions.get_page_from_freelist
2.6e+07 ++---------------------------------------------------------------+
| O OO O O O |
2.4e+07 O+OO OO O O O
2.2e+07 ++ O O |
| O OO O O O OO O O O O |
2e+07 ++ O O O O O OO O O O O O O |
1.8e+07 ++ |
| |
1.6e+07 ++ |
1.4e+07 ++ |
| |
1.2e+07 ++ * |
1e+07 *+**.*.**.**.*.**.*.* + *.*.* |
| * *.*.**.**.*.** |
8e+06 ++---------------------------------------------------------------+
lock_stat.&(&zone->lock)->rlock.contentions.__free_pages_ok
2.2e+07 ++---------------------------------------------O-----------------+
| O |
2.1e+07 ++ |
2e+07 ++ O O
O O O O OO O OO |
1.9e+07 ++ O O O |
| |
1.8e+07 ++ |
| OO O |
1.7e+07 ++ .*O * O O O OO O O OO |
1.6e+07 ++**. .* *.* O : O O O O O O O O O |
* *.** *.*.* :: :.*.* O |
1.5e+07 ++ :: * *. .* .* .*.* |
| * * * * * |
1.4e+07 ++---------------------------------------------------------------+
lock_stat.rcu_node_1.contentions
100000 ++----------------------------------------------------------------+
95000 ++ * |
| *. +: |
90000 ++ * *.*. * : * :.* |
85000 ++ :+ : * + +: * |
| * * *.: * : * * |
80000 *+**. + *.*.* + .* * +: O |
75000 ++ * * O *O |
70000 ++ O O OO O O OO |
O O OO O O O O O O O O O O O
65000 ++ O O O O O O O OO O |
60000 ++ O O O |
| O |
55000 ++ O |
50000 ++----------------------------------------------------------------+
lock_stat.rcu_node_1.contentions.rcu_process_callbacks
180000 ++----------------------------------------------------------------+
| * |
170000 ++ * :: |
160000 ++ :+ : : |
| * *.*. * : * *.* |
150000 ++ * * :+ : * + +: |
140000 *+ * : *.*. :+ .**.: *.: O * * |
| * + : O * * O * *O O |
130000 ++OO * O O O OO O O O OO O |
120000 O+ O O O O O O O O OO O O
| O O O O O |
110000 ++ O O O O |
100000 ++ O |
| |
90000 ++----------------------------------------------------------------+
iostat.cpu.user
1.8 ++-------------------------------------------------------------------+
1.7 ++ O OO O O OO O O |
| O O O |
1.6 ++O O O O O OO O O OO O O O |
1.5 O+ O O O O O OO O |
1.4 ++ O O |
1.3 ++ O O
| |
1.2 ++ O O |
1.1 ++ * |
1 ++ + :.*.* |
0.9 *+ *.*.*.* .*.*.* *.*.* * *.*.* |
| * * :.*. .*.*.* |
0.8 ++ * ** |
0.7 ++-------------------------------------------------------------------+
8 years, 8 months
[page->ptl] performance changes
by Fengguang Wu
Hi Kirill,
FYI, we see big performance changes with you commit:
commit b5be3c49b81094d7aa0cefafac50c69d788be2ed
Author: Kirill A. Shutemov <kirill.shutemov(a)linux.intel.com>
Date: Wed Oct 9 16:45:45 2013 +0300
mm: dynamic allocate page->ptl if it cannot be embedded to struct page
Signed-off-by: Kirill A. Shutemov <kirill.shutemov(a)linux.intel.com>
:040000 040000 17899e0220d995b818586bf7beff7717c754148b 7161f88433ea4e4cd1913dadda4248731c1af9cd M arch
:040000 040000 d957e2d0991054a1c601d088f9fddbd79a97a262 b28decbfc775fc858626c67017d32405f61694d0 M include
:040000 040000 1908d09dfad8b4c0e1e088f5eecbfd47b446e144 c7799383dab307848bbb891cb1f2e1ebbebe7124 M mm
bisect run success
# bad: [7a6e4b26215d315c80d49ed3a14deaafaf276e48] Merge 'radeon-alex/drm-fixes-3.12' into devel-hourly-2013101006
# good: [15c03dd4859ab16f9212238f29dd315654aa94f6] Linux 3.12-rc3
git bisect start '7a6e4b26215d315c80d49ed3a14deaafaf276e48' '15c03dd4859ab16f9212238f29dd315654aa94f6' '--'
# good: [2a02081f51ac5f9a3c61e7105be6d8f227d5ddc7] Merge 'regmap/topic/core' into devel-hourly-2013101006
git bisect good 2a02081f51ac5f9a3c61e7105be6d8f227d5ddc7
# good: [6e3172648c99be68179beee1e2df90486a54dd8b] Merge 'arm-soc/next/dt' into devel-hourly-2013101006
git bisect good 6e3172648c99be68179beee1e2df90486a54dd8b
# bad: [b572b6ab9498e59e475743a00658a3600f2b3f1a] Merge 'ipsec-next/testing' into devel-hourly-2013101006
git bisect bad b572b6ab9498e59e475743a00658a3600f2b3f1a
# bad: [2d6ed245dbe4713ca7d8a106d0153acdaaf67fdf] Merge 'rcu/dev.2013.10.09b' into devel-hourly-2013101006
git bisect bad 2d6ed245dbe4713ca7d8a106d0153acdaaf67fdf
# good: [30b8b333e4a3874146a5c7d6c95573e9ff173697] Merge 'arm-soc/mvebu/drivers' into devel-hourly-2013101006
git bisect good 30b8b333e4a3874146a5c7d6c95573e9ff173697
# good: [8c8f6e64847f9407f30238dd3e7ab6c0f97429ff] sh: handle pgtable_page_ctor() fail
git bisect good 8c8f6e64847f9407f30238dd3e7ab6c0f97429ff
# good: [b6ef7255b339a978a559c7fd02a5e67f3099cccb] mlx4_fc: enable FC target role
git bisect good b6ef7255b339a978a559c7fd02a5e67f3099cccb
# bad: [28c1de28a19c6efb6ef7380c5f4701018f8c7874] Merge 'kas/dynamic_ptl/v1' into devel-hourly-2013101006
git bisect bad 28c1de28a19c6efb6ef7380c5f4701018f8c7874
# good: [ffacba0ebf499ac928254c156cc9ca80074e331e] unicore32: handle pgtable_page_ctor() fail
git bisect good ffacba0ebf499ac928254c156cc9ca80074e331e
# good: [9619df7b869352bfef98f0e93ac0a2ce1f9a58be] xtensa: handle pgtable_page_ctor() fail
git bisect good 9619df7b869352bfef98f0e93ac0a2ce1f9a58be
# bad: [b5be3c49b81094d7aa0cefafac50c69d788be2ed] mm: dynamic allocate page->ptl if it cannot be embedded to struct page
git bisect bad b5be3c49b81094d7aa0cefafac50c69d788be2ed
# good: [cdf8588809f4bedbf92f11d3c59f3d7a16f19d5b] iommu/arm-smmu: handle pgtable_page_ctor() fail
git bisect good cdf8588809f4bedbf92f11d3c59f3d7a16f19d5b
# first bad commit: [b5be3c49b81094d7aa0cefafac50c69d788be2ed] mm: dynamic allocate page->ptl if it cannot be embedded to struct page
time.user_time
160 ++-------------------------------------------------------------------+
| |
140 ++ O |
120 ++ |
| O O O O |
100 O+O O O O O O O |
| O O O O O O |
80 ++ O O O O O O |
| O O O |
60 ++ O |
40 ++ |
*. .*. .* .*.*. *.*. .*. .**.|
20 ++**.*. .** * *.*.** * *.**.*.**. .*.** **.*.*.* .*.* *
| * * * |
0 ++-------------------------------------------------------------------+
time.minor_page_faults
2.2e+08 ++---------------------------------------------------------------+
| |
2e+08 O+OO OO O O O OO O O O O O OO O O |
1.8e+08 ++ |
| O O O |
1.6e+08 ++ O O O OO O O |
1.4e+08 ++ |
| |
1.2e+08 ++ |
1e+08 ++ |
| |
8e+07 ++ |
6e+07 ++ |
*.**.*.**.**. .**.*.**.**.*.**.*.**.**.*.**.*.**.**.*.**.*.**.**.*
4e+07 ++-----------*---------------------------------------------------+
time.voluntary_context_switches
600000 ++-O----O---------------------------O---O--O--O-------------------+
O O O O O O O OO O O O O |
500000 ++ |
| |
| |
400000 ++ O |
| O O O O OO O O O |
300000 ++ |
| |
200000 ++ |
| |
*. .*.* .*.**. .*.**.*.**.*. *.*. *.*.**.*.* .**.*. *.*.**.|
100000 ++**.*.** * ** * * * * *
| |
0 ++----------------------------------------------------------------+
will-it-scale.page_fault3.15.threads
2.2e+06 ++O--------------------------------------------------------------+
O O O OO OO O OO O OO OO O OO O OO OO O OO O O |
2e+06 ++ |
| |
1.8e+06 ++ |
1.6e+06 ++ |
| |
1.4e+06 ++ |
| |
1.2e+06 ++ |
1e+06 ++ |
| |
800000 ++ .*. *. .*. .* |
*.**.*.**.**.*.** * **.*.**.*.**.**.*.**.*.**.** **.*.** *.*
600000 ++---------------------------------------------------------------+
will-it-scale.page_fault3.15.threads_idle
95 ++------------------------------------------------------------------+
94.5 O+OO O O OO O OO O OO O O OO O OO OO O O OO O O |
| O |
94 ++ |
93.5 ++ |
| |
93 ++ |
92.5 ++ |
92 ++ |
| |
91.5 ++ |
91 ++ |
| |
90.5 ++* .*.* .*. *.*.* .**.*. *. |
90 *+-*-*----*---*-----*-*-*-**-*-**-*-**-*-*------**-*-*--*-*-**-*-**-*
will-it-scale.page_fault3.30.threads
1.8e+06 ++O------------------------------------O-O-----------------------+
O O O OO O O OO O O OO O OO O OO OO O O O |
1.6e+06 ++ O O |
| |
1.4e+06 ++ |
1.2e+06 ++ |
| |
1e+06 ++ |
| |
800000 ++ |
600000 ++ |
| |
400000 ++* *. *. *. .*.**. .* .*.* .* .**.|
* *.*.**.**.*.**.*.**.* *.* *.* ** * *.** *.* * *
200000 ++---------------------------------------------------------------+
will-it-scale.page_fault3.30.threads_idle
88 ++--------------------------------------------------------------------+
87 O+O OO O O O O O OO O O OO O O OO O O OO O O OO O |
| O |
86 ++ |
85 ++ |
84 ++ |
83 ++ |
| |
82 ++ |
81 ++ |
80 ++ |
79 ++ |
|.*. *. .*. .* .*. .**.|
78 *+ **.*.*.**.*.*.**.*.*.* *.*.**.* **.*.* *.*.*.**.*.*.** * *
77 ++--------------------------------------------------------------------+
will-it-scale.page_fault3.45.threads
1.6e+06 ++---------------------------------------------------------------+
O O O O OO OO O OO |
1.4e+06 ++OO OO O O OO O OO OO O OO O O |
| |
1.2e+06 ++ |
| |
1e+06 ++ |
| |
800000 ++ |
| |
600000 ++ |
| |
400000 ++* |
* *.*.**.**.*.**.*.**.**.*.**.*.**.**. .**.*.**.**.*.**.*.**.**.*
200000 ++-------------------------------------*-------------------------+
will-it-scale.page_fault3.45.threads_idle
80 ++--------------------------------------------------------------------+
O O OO OO O O OO O O OO O O OO O O OO O |
78 ++ O O O OO O |
76 ++ |
| |
74 ++ |
| |
72 ++ |
| |
70 ++ |
68 ++ |
|.*. *. .*. |
66 *+ **.*.*.* * **.*.*.**.*.*.**.*.*.**. .*.**.*.*.**.*.*.**.*.*.**.*
| * |
64 ++--------------------------------------------------------------------+
will-it-scale.page_fault3.60.threads
1.8e+06 ++---------------------------------------------------------------+
| O O O O O |
1.6e+06 O+OO O O O OO O OO O O OO OO O O OO O |
| O O |
1.4e+06 ++ |
1.2e+06 ++ |
| |
1e+06 ++ |
| |
800000 ++ |
600000 ++ |
| |
400000 ++ |
*.**.*.**.**. .**.*.**.* .*.**.*.**.**.*.**.*.**.**.*. *.*.**.**.*
200000 ++-----------*----------*-----------------------------*----------+
will-it-scale.page_fault3.60.threads_idle
75 O+---O---O-O--O-O------O--O---O-OO------O-----O--O--------------------+
| O O O OO O O O O O O O O O |
| O |
70 ++ |
| |
| |
65 ++ |
| |
60 ++ |
| |
| |
55 *+*.**.*.*.**. .*.**.*.*.**.*.*.**.*.*.**.*.*.**.*.*.**.*.*.**.*.*.**.*
| * |
| |
50 ++--------------------------------------------------------------------+
will-it-scale.page_fault3.90.threads
1.8e+06 ++---------------------------------------------------------------+
| OO O OO OO O O O O O O O OO O O O |
1.6e+06 O+ O O OO O O O OO |
| |
1.4e+06 ++ |
1.2e+06 ++ |
| |
1e+06 ++ |
| |
800000 ++ |
600000 ++ |
| |
400000 ++ |
*. *.*.**.**.*.**.*.**.**.*.**.*.**.**.*.**.*.**.**.*.**.*.**.**.|
200000 ++*--------------------------------------------------------------*
will-it-scale.page_fault3.90.threads_idle
70 ++--------------------------------------------------------------------+
| |
65 ++O OO O O OO O OO O O OO O O OO O OO O O OO O |
60 O+ O O |
| |
55 ++ |
| |
50 ++ |
| |
45 ++ |
40 ++ |
| |
35 ++ |
*.*.**.*.*.**.*.*.**.*.*.**.*.*.**.*.*.**.*.*.**.*.*.**.*.*.**.*.*.**.*
30 ++--------------------------------------------------------------------+
will-it-scale.page_fault3.120.threads
1.8e+06 ++---------------------------------------------------------------+
O OO O OO OO O OO O O OO O OO O OO OO O OO O O |
1.6e+06 ++ |
| O |
1.4e+06 ++ |
1.2e+06 ++ |
| |
1e+06 ++ |
| |
800000 ++ |
600000 ++ |
| |
400000 ++ |
*.**.*.**.**.*.**.*.**. *.*.**.*. *.**.*.**.*.**.**. .**.*.**.**.*
200000 ++---------------------*---------*------------------*------------+
will-it-scale.page_fault3.120.threads_idle
60 ++--------------------------------------------------------------------+
55 O+O O O OO O O OO O OO O O O O O |
| OO O O O O O O OO O |
50 ++ |
45 ++ |
40 ++ |
35 ++ |
| |
30 ++ |
25 ++ |
20 ++ |
15 ++ |
*.*.**.*.*.**.*.*.**.*.*. *.*.*.**. .**.*.*. *.*.*.**. .*.**.*. .**.*
10 ++ * *.* * * * |
5 ++--------------------------------------------------------------------+
vmstat.system.in
18600 ++--------------------------*--------------------------------------+
18400 ++ *.* *. .* .* *.**.*.* *.*. * |
*.* + : * * + : * + *.*.* .*. .*.* .*. *.*.**.*
18200 ++ * * : *.* * ** * * |
18000 ++ * |
| |
17800 ++ |
17600 ++ |
17400 ++ |
| |
17200 O+OO O O O |
17000 ++ O OO O OO OO O O OO O O O |
| O O O O O O O |
16800 ++ O |
16600 ++-----------------------------------------------------------------+
vmstat.system.cs
7000 ++------------------------------------------------------------------+
6500 ++OO O OO O OO O O OO O O OO O O |
O O O O O O O OO O O |
6000 ++ |
5500 ++ |
| |
5000 ++ |
4500 ++ |
4000 ++ |
| |
3500 ++ |
3000 ++ |
| |
2500 ++ .*. .* |
2000 *+**-*-*-**---**-*-**-*-*-**-*-**-*-**-*-*-**-*-**-*-**-*-*-**-*--*-*
vmstat.cpu.id
68 ++-----O-O-O--O---O-------O-O-O-OO-O---O------------------------------+
| |
67 O+O OO O O O O O O O O O O OO O |
66 ++ |
| |
65 ++ |
64 ++ |
| |
63 ++ |
62 ++ |
| |
61 ++ |
60 ++ |
| |
59 *+*-**-*-*-**-*-*-**-*-*-**-*-*-**-*-*-**-*-*-**-*-*-**-*-*-**-*-*-**-*
lock_stat.&(&mm->page_table_lock)->rlock.contentions
6e+07 ++-----------------------------------------------------------------+
|.* .* |
5e+07 *+ *.*.**.*.* .*.**.*.**.*.**.*.*.**.*.**.*.**.*.**.*.**.*.**.* *.*
| * |
| |
4e+07 ++ |
| |
3e+07 ++ |
| |
2e+07 ++ |
| |
| |
1e+07 ++ |
| |
0 O+OO-O-OO-O-OO-O-OO-O-OO-O-OO-O-O-OO-O-OO-O-OO-O-------------------+
iostat.cpu.user
1.4 ++-------------------------------------------------------------------+
| |
1.3 ++ O O |
| O OO O |
1.2 O+O O O O O O O O |
| O O O O O O O |
1.1 ++ O OO O |
| O |
1 ++ O O |
| * * |
0.9 ++ + + **.* :+ .* * *. * |
*.* .*. .* * + +: *. *.* :+ + .* + * +|
0.8 ++ * *.** *.*.**.*.*. .* * *.* * * *.* *
| **.* |
0.7 ++-------------------------------------------------------------------+
iostat.cpu.system
40 *+--*--*---*--*---**-*-*-**-*-*-**-*-*--*---*-**-*-*-**-*-*-**-*-*-*--*
39 ++* * * * * * * * |
| |
38 ++ |
37 ++ |
| |
36 ++ |
35 ++ |
34 ++ |
| |
33 ++ |
32 ++ |
| O |
31 O+O OO O O OO O O OO O OO O O OO O O OO O O OO O |
30 ++--------------------------------------------------------------------+
iostat.cpu.idle
69 ++--------------------------------------------------------------------+
68 O+O O O O O O O O O OO O O OO O O OO O OO O |
| O O O O O |
67 ++ |
66 ++ |
| |
65 ++ |
64 ++ |
63 ++ |
| |
62 ++ |
61 ++ |
| |
60 *+*.**.*.*.**.*.*.**.*.*. *.*.*.**. .*.**.*.*.**.*.*.**. .*.**.*.*.**.|
59 ++-----------------------*---------*--------------------*-------------*
8 years, 8 months
Re: [LKP] [tip:sched/core] sched/balancing: Fix cfs_rq-> task_h_load calculation
by Yuanhan Liu
On Fri, Sep 20, 2013 at 06:46:59AM -0700, tip-bot for Vladimir Davydov wrote:
> Commit-ID: 7e3115ef5149fc502e3a2e80719dba54a8e7409d
> Gitweb: http://git.kernel.org/tip/7e3115ef5149fc502e3a2e80719dba54a8e7409d
> Author: Vladimir Davydov <vdavydov(a)parallels.com>
> AuthorDate: Sat, 14 Sep 2013 19:39:46 +0400
> Committer: Ingo Molnar <mingo(a)kernel.org>
> CommitDate: Fri, 20 Sep 2013 11:59:39 +0200
>
> sched/balancing: Fix cfs_rq->task_h_load calculation
>
> Patch a003a2 (sched: Consider runnable load average in move_tasks())
> sets all top-level cfs_rqs' h_load to rq->avg.load_avg_contrib, which is
> always 0. This mistype leads to all tasks having weight 0 when load
> balancing in a cpu-cgroup enabled setup. There obviously should be sum
> of weights of all runnable tasks there instead. Fix it.
Hi Vladimir,
FYI, Here we found a 17% netperf regression by this patch. Here are some
changed stats between this commit 7e3115ef5149fc502e3a2e80719dba54a8e7409d
and it's parent(3029ede39373c368f402a76896600d85a4f7121b)
NOTE: both commit had been tested 10+ times.
stat 7e3115ef5149fc502e3a2e80719 3029ede39373c368f402a768966
netperf.Throughput_Mbps [ 2515 - 2593 ] -- [ 3010 - 3042 ]
lock_stat.&(&base->lock)->rlock.contentions.run_timer_softirq [ 188 - 261 ] -- [ 1907 - 2018 ]
lock_stat.&rq->lock.contentions [ 16885 - 23944 ] -- [ 2.6544e+05 - 2.8201e+05 ]
lock_stat.slock-AF_INET/1.contentions.release_sock [ 28993 - 34079 ] -- [ 2.6537e+05 - 2.7814e+05 ]
lock_stat.slock-AF_INET/1.contentions.tcp_v4_rcv [ 54906 - 64453 ] -- [ 4.6572e+05 - 4.8895e+05 ]
lock_stat.slock-AF_INET/1.contentions [ 54778 - 64265 ] -- [ 4.6503e+05 - 4.8831e+05 ]
lock_stat.slock-AF_INET/1.contentions.lock_sock_nested [ 25382 - 29998 ] -- [ 1.9822e+05 - 2.0934e+05 ]
lock_stat.slock-AF_INET.contentions.lock_sock_nested [ 1.5861e+05 - 1.8802e+05 ] -- [ 1.2317e+06 - 1.3016e+06 ]
lock_stat.slock-AF_INET.contentions.tcp_v4_rcv [ 1.9181e+05 - 2.2617e+05 ] -- [ 1.5482e+06 - 1.6346e+06 ]
lock_stat.slock-AF_INET.contentions [ 1.9259e+05 - 2.269e+05 ] -- [ 1.5536e+06 - 1.6403e+06 ]
lock_stat.&(&base->lock)->rlock.contentions [ 5658 - 9045 ] -- [ 1.3812e+05 - 1.478e+05 ]
lock_stat.&(&base->lock)->rlock.contentions.lock_timer_base [ 11006 - 17636 ] -- [ 2.7183e+05 - 2.9104e+05 ]
lock_stat.slock-AF_INET.contentions.release_sock [ 33931 - 39607 ] -- [ 3.2735e+05 - 3.4512e+05 ]
lock_stat.&(&base->lock)->rlock.contentions.mod_timer [ 93 - 152 ] -- [ 2347 - 2643 ]
lock_stat.&(&zone->lock)->rlock.contentions.__free_pages_ok [ 6.4647e+07 - 6.6226e+07 ] -- [ 5.3604e+07 - 5.5065e+07 ]
vmstat.system.in [ 8921 - 9414 ] -- [ 27103 - 28369 ]
vmstat.system.cs [ 1.4924e+05 - 1.9988e+05 ] -- [ 6.1384e+05 - 6.4036e+05 ]
lock_stat.&(&zone->lock)->rlock.contentions [ 6.7612e+07 - 6.9817e+07 ] -- [ 5.7419e+07 - 5.8889e+07 ]
lock_stat.rcu_node_1.contentions.rcu_process_callbacks [ 81543 - 87346 ] -- [ 97955 - 1.0295e+05 ]
iostat.cpu.user [ 1.4141 - 1.5051 ] -- [ 2.1044 - 2.1732 ]
lock_stat.&(&zone->lock)->rlock.contentions.get_page_from_freelist [ 7.0564e+07 - 7.3656e+07 ] -- [ 6.1222e+07 - 6.2746e+07 ]
lock_stat.&rq->lock.contentions.__schedule [ 8276 - 11422 ] -- [ 1.1656e+05 - 1.9275e+05 ]
iostat.cpu.system [ 95.387 - 95.516 ] -- [ 94.736 - 94.81 ]
vmstat.cpu.sy [ 96 - 96 ] -- [ 95 - 95 ]
And here are the text plot charts for those changed stats:
* for 7e3115ef5149fc502e3a2e80719dba54a8e7409d(this commit)
O for 3029ede39373c368f402a76896600d85a4f7121b(parent)
netperf.Throughput_Mbps
3100 ++------------------------------------------------------------------+
O O |
3000 ++ O O O O O O O O
| |
| |
2900 ++ |
| |
2800 ++ |
| |
2700 ++ |
| |
| |
2600 ++ ..*......*.......*......*.......*...... ....*
| .... *... |
2500 *+------*------*----------------------------------------------------+
vmstat.system.in
30000 ++-----------------------------------------------------------------+
28000 O+ O O O |
| O O O O O O
26000 ++ |
24000 ++ |
22000 ++ |
20000 ++ |
| |
18000 ++ |
16000 ++ |
14000 ++ |
12000 ++ |
| |
10000 *+.....*.......*......*.......*......*.......*......*.......*......*
8000 ++-----------------------------------------------------------------+
vmstat.system.cs
700000 ++----------------------------------------------------------------+
O O |
600000 ++ O O O O O O O O
| |
| |
500000 ++ |
| |
400000 ++ |
| |
300000 ++ |
| |
| ...*
200000 ++ ...*...... ....*...... ....*... |
*......*.......*... *... *......*... |
100000 ++----------------------------------------------------------------+
vmstat.cpu.sy
96 *+------*------*--------------*-------*------*-------*------*-------*
| : : |
| : : |
95.8 ++ : : |
| : : |
| : : |
95.6 ++ : : |
| : : |
95.4 ++ : : |
| : : |
| : : |
95.2 ++ : : |
| : : |
| : : |
95 O+------O------O-------*------O-------O------O-------O------O-------O
lock_stat.&(&zone->lock)->rlock.contentions
7.2e+07 ++---------------------------------------------------------------+
| |
7e+07 ++ ...*......*.......*......*...... ...*.......*..... |
6.8e+07 *+.. *... . |
| *......*
6.6e+07 ++ |
| |
6.4e+07 ++ |
| |
6.2e+07 ++ |
6e+07 ++ |
| O O
5.8e+07 ++ O O O O |
O O O |
5.6e+07 ++---------------------------O-----------------------------------+
lock_stat.&(&zone->lock)->rlock.contentions.get_page_from_freelist
7.4e+07 ++---------------------------*---------------------*-------------+
| ....*... . ...*... .. |
7.2e+07 *+.....*......*... *... . |
| *......*
7e+07 ++ |
| |
6.8e+07 ++ |
| |
6.6e+07 ++ |
| |
6.4e+07 ++ |
| O O O
6.2e+07 ++ O O O |
O O O |
6e+07 ++---------------------------O-----------------------------------+
lock_stat.&(&zone->lock)->rlock.contentions.__free_pages_ok
6.8e+07 ++---------------------------------------------------------------+
| ....*..... |
6.6e+07 *+.....*......*.......*......*......*......*... . |
6.4e+07 ++ *......*
| |
6.2e+07 ++ |
| |
6e+07 ++ |
| |
5.8e+07 ++ |
5.6e+07 ++ |
| O O O
5.4e+07 O+ O O O O |
| O O |
5.2e+07 ++---------------------------------------------------------------+
lock_stat.slock-AF_INET.contentions
1.8e+06 ++---------------------------------------------------------------+
O O O O |
1.6e+06 ++ O O O O O O
1.4e+06 ++ |
| |
1.2e+06 ++ |
1e+06 ++ |
| |
800000 ++ |
600000 ++ |
| |
400000 ++ |
200000 *+..... ....*......*......*......*....... ...*......*
| *......*... *... |
0 ++---------------------------------------------------------------+
lock_stat.slock-AF_INET.contentions.lock_sock_nested
1.4e+06 ++---------------------------------------------------------------+
O O O O |
1.2e+06 ++ O O O O O O
| |
1e+06 ++ |
| |
800000 ++ |
| |
600000 ++ |
| |
400000 ++ |
| |
200000 *+.....*......*.......*......*......*......*.......*......*......*
| |
0 ++---------------------------------------------------------------+
lock_stat.slock-AF_INET.contentions.release_sock
350000 O+-----O---------------------O--------------O---------------------+
| O O O O O O
300000 ++ |
| |
250000 ++ |
| |
200000 ++ |
| |
150000 ++ |
| |
100000 ++ |
| |
50000 ++ ...*...... ....*......*...... ....*......*
*......*.......*... *... *... |
0 ++----------------------------------------------------------------+
lock_stat.slock-AF_INET.contentions.tcp_v4_rcv
1.8e+06 ++---------------------------------------------------------------+
O O O O |
1.6e+06 ++ O O O O O O
1.4e+06 ++ |
| |
1.2e+06 ++ |
1e+06 ++ |
| |
800000 ++ |
600000 ++ |
| |
400000 ++ |
200000 *+..... ....*......*......*......*....... ...*......*
| *......*... *... |
0 ++---------------------------------------------------------------+
lock_stat.rcu_node_1.contentions.rcu_process_callbacks
110000 ++----------------------------------------------------------------+
| |
105000 ++ O |
| O |
O O O
100000 ++ O O O |
| O O |
95000 ++ |
| |
90000 ++ .*
| .... |
| .*.......*......*..... ..*. |
85000 ++.... . .*...... .... |
*. *....... .... *. |
80000 ++-----------------------------------*----------------------------+
lock_stat.slock-AF_INET/1.contentions
500000 ++---------------------------O--------------O---------------------+
O O O O O O O O
450000 ++ |
400000 ++ |
| |
350000 ++ |
300000 ++ |
| |
250000 ++ |
200000 ++ |
| |
150000 ++ |
100000 ++ |
| ....*...... |
50000 *+-----*-------*------*------*--------------*------*-------*------*
lock_stat.slock-AF_INET/1.contentions.tcp_v4_rcv
500000 ++---------------------------O--------------O---------------------+
O O O O O O O O
450000 ++ |
400000 ++ |
| |
350000 ++ |
300000 ++ |
| |
250000 ++ |
200000 ++ |
| |
150000 ++ |
100000 ++ |
| ....*...... |
50000 *+-----*-------*------*------*--------------*------*-------*------*
lock_stat.slock-AF_INET/1.contentions.release_sock
300000 ++----------------------------------------------------------------+
O O O O O |
250000 ++ O O O O O
| |
| |
200000 ++ |
| |
150000 ++ |
| |
100000 ++ |
| |
| |
50000 ++ ...*...... ....*......*...... ....*......*
*......*.......*... *... *... |
0 ++----------------------------------------------------------------+
lock_stat.slock-AF_INET/1.contentions.lock_sock_nested
220000 ++----------------------------------------------------------------+
200000 O+ O O O O O O O |
| O O
180000 ++ |
160000 ++ |
| |
140000 ++ |
120000 ++ |
100000 ++ |
| |
80000 ++ |
60000 ++ |
| |
40000 ++ ...*...... ....*......*...... ....*......*
20000 *+-----*-------*-------------*---------------------*--------------+
lock_stat.&rq->lock.contentions
300000 O+----------------------------------------------------------------+
| O O O O O |
250000 ++ O O O O
| |
| |
200000 ++ |
| |
150000 ++ |
| |
100000 ++ |
| |
| |
50000 ++ |
*......*.......*......*......*.......*......*......*.......*......*
0 ++----------------------------------------------------------------+
lock_stat.&rq->lock.contentions.__schedule
200000 O+----------------------------------------------------------------+
180000 ++ O O O O O O
| |
160000 ++ |
140000 ++ |
| O |
120000 ++ O O |
100000 ++ |
80000 ++ |
| |
60000 ++ |
40000 ++ |
| |
20000 *+.....*.......*......*......*.......*......*......*.......*......*
0 ++----------------------------------------------------------------+
lock_stat.&(&base->lock)->rlock.contentions
160000 ++----------------------------------------------------------------+
O O O O O
140000 ++ O O O O O |
120000 ++ |
| |
100000 ++ |
| |
80000 ++ |
| |
60000 ++ |
40000 ++ |
| |
20000 ++ |
*...... ...*......*.......*......*......*.......*......*
0 ++-----*-------*--------------------------------------------------+
lock_stat.&(&base->lock)->rlock.contentions.lock_timer_base
300000 O+-----O---------------------O------------------------------------+
| O O O O O O O
250000 ++ |
| |
| |
200000 ++ |
| |
150000 ++ |
| |
100000 ++ |
| |
| |
50000 ++ |
*......*.......*......*......*.......*......*......*.......*......*
0 ++----------------------------------------------------------------+
lock_stat.&(&base->lock)->rlock.contentions.run_timer_softirq
2200 ++------------------------------------------------------------------+
2000 O+ O O O |
| O O O O O O
1800 ++ |
1600 ++ |
1400 ++ |
1200 ++ |
| |
1000 ++ |
800 ++ |
600 ++ |
400 ++ |
| ....*...... ....*......*....... ...*.......|
200 *+......*......*... *... *... *
0 ++------------------------------------------------------------------+
lock_stat.&(&base->lock)->rlock.contentions.mod_timer
3000 ++------------------------------------------------------------------+
| |
2500 O+ O O O O O
| O O O |
| |
2000 ++ |
| |
1500 ++ |
| O |
1000 ++ |
| |
| |
500 ++ |
*....... ....*......*.......*......*.......*......*.......*
0 ++------*------*----------------------------------------------------+
iostat.cpu.user
2.2 O+--------------------------------------------O----------------------+
| O O O O O O O |
2.1 ++ O
2 ++ |
| |
1.9 ++ |
1.8 ++ |
| |
1.7 ++ |
1.6 ++ |
| |
1.5 ++ ....*......*....... ...*.......*
1.4 *+......*...... ....*... *.......*... |
| *... |
1.3 ++-------------------------------------------------------------------+
iostat.cpu.system
95.6 ++------------------------------------------------------------------+
*....... ...*.......*..... ....*..... |
95.5 ++ *... . ...*... . |
95.4 ++ *.......*... *.......*
| |
95.3 ++ |
95.2 ++ |
| |
95.1 ++ |
95 ++ |
| |
94.9 ++ |
94.8 ++ O O O
O O O O O O O |
94.7 ++------------------------------------------------------------------+
And here is the bisect log:
# bad: [e9a5cecac4145ba4a64827ac55728d33f5c8bb79] Merge 'drm/drm-fixes' into devel-hourly-2013092910
# good: [272b98c6455f00884f0350f775c5342358ebb73f] Linux 3.12-rc1
git bisect start 'e9a5cecac4145ba4a64827ac55728d33f5c8bb79' '272b98c6455f00884f0350f775c5342358ebb73f' '--'
# bad: [654fdd041227d7de1594baa61c58f2c87bd0640f] Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
git bisect bad 654fdd041227d7de1594baa61c58f2c87bd0640f
# good: [b75ff5e84bb6c2d43a8ec39b240c80f0543821f0] Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
git bisect good b75ff5e84bb6c2d43a8ec39b240c80f0543821f0
# good: [d8524ae9d6f492a9c6db9f4d89c5f9b8782fa2d5] Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux
git bisect good d8524ae9d6f492a9c6db9f4d89c5f9b8782fa2d5
# good: [4a10c2ac2f368583138b774ca41fac4207911983] Linux 3.12-rc2
git bisect good 4a10c2ac2f368583138b774ca41fac4207911983
# good: [a153e67bda3639a46edac6205610ae63c0fdea4c] Merge branch 'akpm' (patches from Andrew Morton)
git bisect good a153e67bda3639a46edac6205610ae63c0fdea4c
# good: [fa7315871046b9a4c48627905691dbde57e51033] perf: Fix capabilities bitfield compatibility in 'struct perf_event_mmap_page'
git bisect good fa7315871046b9a4c48627905691dbde57e51033
# bad: [82dfaa58a79c121be3611ce549dec806f2e6004f] Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
git bisect bad 82dfaa58a79c121be3611ce549dec806f2e6004f
# good: [bdc5663fa14de657f24080ee959670d49c8dd094] Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
git bisect good bdc5663fa14de657f24080ee959670d49c8dd094
# good: [3029ede39373c368f402a76896600d85a4f7121b] sched/balancing: Fix 'local->avg_load > busiest->avg_load' case in fix_small_imbalance()
git bisect good 3029ede39373c368f402a76896600d85a4f7121b
# bad: [7e3115ef5149fc502e3a2e80719dba54a8e7409d] sched/balancing: Fix cfs_rq->task_h_load calculation
git bisect bad 7e3115ef5149fc502e3a2e80719dba54a8e7409d
# first bad commit: [7e3115ef5149fc502e3a2e80719dba54a8e7409d] sched/balancing: Fix cfs_rq->task_h_load calculation
Please feel free to ask more data.
Thanks.
--yliu
>
> Signed-off-by: Vladimir Davydov <vdavydov(a)parallels.com>
> Reviewed-by: Paul Turner <pjt(a)google.com>
> Signed-off-by: Peter Zijlstra <peterz(a)infradead.org>
> Link: http://lkml.kernel.org/r/1379173186-11944-1-git-send-email-vdavydov@paral...
> Signed-off-by: Ingo Molnar <mingo(a)kernel.org>
> ---
> kernel/sched/fair.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
> index 2aedacc..7c70201 100644
> --- a/kernel/sched/fair.c
> +++ b/kernel/sched/fair.c
> @@ -4242,7 +4242,7 @@ static void update_cfs_rq_h_load(struct cfs_rq *cfs_rq)
> }
>
> if (!se) {
> - cfs_rq->h_load = rq->avg.load_avg_contrib;
> + cfs_rq->h_load = cfs_rq->runnable_load_avg;
> cfs_rq->last_h_load_update = now;
> }
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo(a)vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
8 years, 9 months