Srikar Dronamraju
f3232321db
powerpc/topology: Override cpu_smt_mask
...
On Power9, a pair of SMT4 cores can be presented by the firmware as a SMT8
core for backward compatibility reasons, with the fusion of two SMT4 cores.
Powerpc allows LPARs to be live migrated from Power8 to Power9. Existing
software developed/configured for Power8, expects to see a SMT8 core.
In order to maintain userspace backward compatibility (with Power8 chips in
case of Power9) in enterprise Linux systems, the topology_sibling_cpumask
has to be set to SMT8 core.
cpu_smt_mask() should generally point to the cpu mask of the SMT4 core.
Hence override the default cpu_smt_mask() to be powerpc specific
allowing for better scheduling behaviour on Power.
schbench
(latency measured in usecs, so lesser is better)
Without patch With patch
Latency percentiles (usec) Latency percentiles (usec)
50.0000th: 34 50.0000th: 38
75.0000th: 47 75.0000th: 52
90.0000th: 54 90.0000th: 60
95.0000th: 57 95.0000th: 64
*99.0000th: 62 *99.0000th: 72
99.5000th: 65 99.5000th: 75
99.9000th: 76 99.9000th: 3452
min=0, max=9205 min=0, max=9344
schbench (With Cede disabled)
Without patch With patch
Latency percentiles (usec) Latency percentiles (usec)
50.0000th: 20 50.0000th: 21
75.0000th: 28 75.0000th: 29
90.0000th: 33 90.0000th: 34
95.0000th: 35 95.0000th: 37
*99.0000th: 40 *99.0000th: 40
99.5000th: 48 99.5000th: 42
99.9000th: 94 99.9000th: 79
min=0, max=791 min=0, max=791
perf bench sched pipe
usec/ops : lesser is better
Without patch
N Min Max Median Avg Stddev
101 5.095113 5.595269 5.204842 5.2298776 0.10762713
5.10 - 5.15 : ################################################## 23% (24)
5.15 - 5.20 : ############################################# 21% (22)
5.20 - 5.25 : ################################################## 23% (24)
5.25 - 5.30 : ######################### 11% (12)
5.30 - 5.35 : ########## 4% (5)
5.35 - 5.40 : ######## 3% (4)
5.40 - 5.45 : ######## 3% (4)
5.45 - 5.50 : #### 1% (2)
5.50 - 5.55 : ## 0% (1)
5.55 - 5.60 : #### 1% (2)
With patch
N Min Max Median Avg Stddev
101 5.134675 8.524719 5.207658 5.2780985 0.34911969
5.1 - 5.5 : ################################################## 94% (95)
5.5 - 5.8 : ## 3% (4)
5.8 - 6.2 : 0% (1)
6.2 - 6.5 :
6.5 - 6.8 :
6.8 - 7.2 :
7.2 - 7.5 :
7.5 - 7.8 :
7.8 - 8.2 :
8.2 - 8.5 :
perf bench sched pipe (cede disabled)
usec/ops : lesser is better
Without patch
N Min Max Median Avg Stddev
101 7.884227 12.576538 7.956474 8.0170722 0.46159054
7.9 - 8.4 : ################################################## 99% (100)
8.4 - 8.8 :
8.8 - 9.3 :
9.3 - 9.8 :
9.8 - 10.2 :
10.2 - 10.7 :
10.7 - 11.2 :
11.2 - 11.6 :
11.6 - 12.1 :
12.1 - 12.6 :
With patch
N Min Max Median Avg Stddev
101 7.956021 8.217284 8.015615 8.0283866 0.049844967
7.96 - 7.98 : ###################### 12% (13)
7.98 - 8.01 : ################################################## 28% (29)
8.01 - 8.03 : #################################### 20% (21)
8.03 - 8.06 : ######################### 14% (15)
8.06 - 8.09 : ###################### 12% (13)
8.09 - 8.11 : ###### 3% (4)
8.11 - 8.14 : ### 1% (2)
8.14 - 8.17 : ### 1% (2)
8.17 - 8.19 :
8.19 - 8.22 : # 0% (1)
Observations: With the patch, the initial run/iteration takes a slight
longer time. This can be attributed to the fact that now we pick a CPU
from a idle core which could be sleep mode. Once we remove the cede,
state the numbers improve in favour of the patch.
ebizzy:
transactions per second (higher is better)
without patch
N Min Max Median Avg Stddev
100 1018433 1304470 1193208 1182315.7 60018.733
1018433 - 1047037 : ###### 3% (3)
1047037 - 1075640 : ######## 4% (4)
1075640 - 1104244 : ######## 4% (4)
1104244 - 1132848 : ############### 7% (7)
1132848 - 1161452 : #################################### 17% (17)
1161452 - 1190055 : ########################## 12% (12)
1190055 - 1218659 : ############################################# 21% (21)
1218659 - 1247263 : ################################################## 23% (23)
1247263 - 1275866 : ######## 4% (4)
1275866 - 1304470 : ######## 4% (4)
with patch
N Min Max Median Avg Stddev
100 967014 1292938 1208819 1185281.8 69815.851
967014 - 999606 : ## 1% (1)
999606 - 1032199 : ## 1% (1)
1032199 - 1064791 : ############ 6% (6)
1064791 - 1097384 : ########## 5% (5)
1097384 - 1129976 : ################## 9% (9)
1129976 - 1162568 : #################### 10% (10)
1162568 - 1195161 : ########################## 13% (13)
1195161 - 1227753 : ############################################ 22% (22)
1227753 - 1260346 : ################################################## 25% (25)
1260346 - 1292938 : ############## 7% (7)
Observations: Not much changes, ebizzy is not much impacted.
Signed-off-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20200807074517.27957-2-srikar@linux.vnet.ibm.com
2020-09-16 22:05:19 +10:00
..
2020-09-15 22:13:22 +10:00
2020-09-15 22:13:31 +10:00
2019-05-30 11:26:32 -07:00
2020-01-25 12:18:51 -05:00
2018-07-30 22:48:16 +10:00
2018-07-30 22:48:16 +10:00
2020-07-23 17:43:44 +10:00
2019-05-24 17:27:11 +02:00
2020-08-07 10:33:50 -07:00
2020-07-27 00:01:29 +10:00
2020-05-28 23:24:36 +10:00
2019-06-07 19:00:14 +10:00
2019-11-18 22:27:51 +11:00
2019-05-30 11:26:32 -07:00
2020-05-28 23:24:35 +10:00
2020-09-02 11:00:21 +10:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2020-05-28 23:24:36 +10:00
2018-08-08 00:32:25 +10:00
2020-05-19 00:10:37 +10:00
2020-01-03 09:32:51 +01:00
2019-05-30 11:26:32 -07:00
2018-01-20 23:29:02 -06:00
2019-12-09 13:54:34 -06:00
2019-05-30 11:26:32 -07:00
2019-04-30 22:37:48 +10:00
2020-09-15 22:13:36 +10:00
2020-09-16 22:05:19 +10:00
2020-07-27 00:01:31 +10:00
2020-07-29 23:47:54 +10:00
2019-08-20 21:22:15 +10:00
2020-07-29 21:02:09 +10:00
2019-05-30 11:26:35 -07:00
2019-05-30 11:26:35 -07:00
2019-05-30 11:26:35 -07:00
2019-05-30 11:26:35 -07:00
2020-05-19 00:11:04 +10:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2020-08-11 14:13:24 -07:00
2019-06-05 17:30:28 +02:00
2019-11-20 20:31:40 +01:00
2020-04-01 14:30:50 +11:00
2020-09-02 11:00:21 +10:00
2018-07-30 22:48:17 +10:00
2020-07-10 12:00:01 +02:00
2019-05-30 11:26:35 -07:00
2020-07-26 23:34:21 +10:00
2020-07-27 14:29:23 -04:00
2019-08-30 09:40:15 +10:00
2019-06-05 17:37:07 +02:00
2020-07-27 00:01:31 +10:00
2020-07-29 21:08:12 +10:00
2020-07-23 17:43:44 +10:00
2020-05-04 22:29:58 +10:00
2019-09-14 00:04:45 +10:00
2019-05-30 11:26:32 -07:00
2020-07-29 21:09:37 +10:00
2020-08-17 23:35:58 +10:00
2020-05-12 19:34:53 +03:00
2019-05-24 17:36:45 +02:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:35 -07:00
2019-06-05 17:30:28 +02:00
2019-05-30 11:26:32 -07:00
2020-05-19 00:10:34 +10:00
2020-05-28 23:24:36 +10:00
2020-07-29 23:47:53 +10:00
2020-07-22 23:00:27 +10:00
2020-06-04 19:06:22 -07:00
2019-05-24 17:39:01 +02:00
2020-07-29 21:09:37 +10:00
2020-09-02 11:00:20 +10:00
2019-05-30 11:26:35 -07:00
2019-05-30 11:26:35 -07:00
2019-01-14 20:39:27 +11:00
2020-09-15 22:13:20 +10:00
2020-09-02 11:00:18 +10:00
2020-07-22 00:01:23 +10:00
2020-08-25 01:31:33 +10:00
2020-04-30 12:35:26 +10:00
2020-07-16 13:12:46 +10:00
2020-07-23 17:41:36 +10:00
2019-05-30 11:26:32 -07:00
2019-08-27 13:03:34 +10:00
2020-06-09 09:39:13 -07:00
2020-05-11 23:15:15 +10:00
2019-05-30 11:26:32 -07:00
2018-03-13 15:50:37 +11:00
2020-09-02 11:00:19 +10:00
2019-05-30 11:26:32 -07:00
2020-08-18 13:39:52 +10:00
2020-08-07 10:33:50 -07:00
2020-07-29 23:47:53 +10:00
2020-07-29 23:47:54 +10:00
2018-10-20 13:26:47 +11:00
2019-05-30 11:26:32 -07:00
2020-05-19 00:10:39 +10:00
2020-06-09 09:39:13 -07:00
2020-03-19 16:39:52 +11:00
2019-06-05 17:30:28 +02:00
2020-05-29 16:09:27 +10:00
2020-07-22 21:56:41 +10:00
2020-07-28 12:34:52 +10:00
2020-06-12 11:05:52 -07:00
2019-06-19 17:09:55 +02:00
2020-07-29 21:02:09 +10:00
2019-06-05 17:30:28 +02:00
2020-08-21 18:03:47 -04:00
2020-07-29 21:02:10 +10:00
2020-07-23 15:50:01 +10:00
2019-05-21 11:28:45 +02:00
2019-11-24 15:06:33 -08:00
2020-07-10 12:00:01 +02:00
2019-05-30 11:26:39 -07:00
2020-09-15 22:13:38 +10:00
2019-05-30 11:26:32 -07:00
2020-08-17 14:13:18 +10:00
2019-08-30 09:55:41 +10:00
2018-02-05 21:34:31 +01:00
2019-06-19 17:09:55 +02:00
2020-08-24 14:12:54 +10:00
2019-04-08 12:09:27 +01:00
2020-07-22 00:01:24 +10:00
2020-07-20 22:57:58 +10:00
2020-06-05 12:39:30 -07:00
2019-05-24 17:27:12 +02:00
2018-05-25 12:04:42 +10:00
2019-05-24 17:27:12 +02:00
2019-06-05 17:37:18 +02:00
2019-06-05 17:37:17 +02:00
2019-05-30 11:26:32 -07:00
2018-10-21 19:32:07 +11:00
2019-06-05 17:37:17 +02:00
2019-02-26 23:28:24 +11:00
2019-05-30 11:26:32 -07:00
2020-03-04 22:44:27 +11:00
2019-11-13 00:33:22 +11:00
2019-05-30 11:26:32 -07:00
2020-08-07 10:33:50 -07:00
2019-08-20 21:22:15 +10:00
2020-04-10 15:36:21 -07:00
2020-07-27 00:01:30 +10:00
2020-07-27 00:01:29 +10:00
2019-06-05 17:37:06 +02:00
2020-09-15 22:13:39 +10:00
2020-01-06 16:25:29 +11:00
2020-08-04 23:15:59 +10:00
2019-05-30 11:26:32 -07:00
2020-08-17 13:11:22 +10:00
2020-08-17 13:11:22 +10:00
2019-09-24 15:54:09 -07:00
2019-05-03 01:20:23 +10:00
2019-05-03 01:20:23 +10:00
2020-06-09 09:39:14 -07:00
2020-07-20 22:57:59 +10:00
2020-07-26 23:34:19 +10:00
2019-05-30 11:26:32 -07:00
2018-05-25 12:04:41 +10:00
2019-07-15 12:41:26 +10:00
2019-05-30 11:26:32 -07:00
2020-08-25 01:31:31 +10:00
2020-01-23 21:31:17 +11:00
2019-07-13 16:08:36 -07:00
2019-05-24 17:27:12 +02:00
2020-07-27 00:01:32 +10:00
2020-07-29 23:47:52 +10:00
2019-08-22 23:12:47 +10:00
2019-05-30 11:26:35 -07:00
2020-09-15 22:13:38 +10:00
2020-06-02 20:59:20 +10:00
2019-05-30 11:26:39 -07:00
2019-05-30 11:26:39 -07:00
2019-06-05 17:37:07 +02:00
2019-07-13 16:08:36 -07:00
2019-07-05 00:43:50 +10:00
2020-07-29 21:08:15 +10:00
2020-07-27 00:01:29 +10:00
2020-07-27 00:01:29 +10:00
2020-01-23 21:31:14 +11:00
2019-05-30 11:26:32 -07:00
2020-05-28 23:24:35 +10:00
2018-07-30 22:48:17 +10:00
2020-09-15 22:13:38 +10:00
2018-05-25 12:04:43 +10:00
2019-05-30 11:26:32 -07:00
2020-06-02 20:59:08 +10:00
2020-07-16 13:12:40 +10:00
2020-06-18 12:10:37 -07:00
2019-11-12 12:25:49 +11:00
2020-07-16 13:12:32 +10:00
2019-11-13 00:33:22 +11:00
2019-05-30 11:26:32 -07:00
2020-04-01 14:30:51 +11:00
2020-07-22 23:00:27 +10:00
2018-12-04 19:45:01 +11:00
2020-04-01 13:42:13 +11:00
2020-07-26 23:34:26 +10:00
2020-07-26 23:34:26 +10:00
2020-05-26 22:22:21 +10:00
2020-09-16 22:05:19 +10:00
2020-07-27 00:01:32 +10:00
2020-07-29 21:02:12 +10:00
2020-07-27 00:01:23 +10:00
2020-07-27 00:01:29 +10:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:39 -07:00
2019-05-30 11:26:32 -07:00
2020-07-23 17:43:44 +10:00
2018-10-03 15:40:03 +10:00
2018-08-08 00:32:30 +10:00
2020-07-27 00:01:31 +10:00
2020-09-14 23:07:14 +10:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2020-04-20 16:53:01 +10:00
2018-07-30 22:48:17 +10:00
2020-05-15 11:58:54 +10:00
2018-05-10 23:25:14 +10:00
2019-02-23 22:31:39 +11:00
2019-05-03 01:20:23 +10:00
2019-05-30 11:26:35 -07:00
2019-05-30 11:26:32 -07:00
2020-04-03 00:10:00 +11:00
2020-07-29 21:08:27 +10:00
2020-07-29 21:08:15 +10:00
2020-08-07 11:33:26 -07:00
2018-07-30 22:48:21 +10:00
2018-05-24 16:04:02 +10:00
2020-07-16 13:12:40 +10:00
2019-06-19 17:09:55 +02:00
2019-05-01 16:45:05 +10:00
2019-05-30 11:26:35 -07:00
2019-05-30 11:26:35 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2020-09-15 22:13:32 +10:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-11-28 17:02:31 +11:00
2019-11-28 17:02:31 +11:00
2020-04-03 00:09:59 +11:00
2020-05-19 00:10:39 +10:00
2018-10-19 15:09:04 +11:00
2020-04-20 16:53:14 +10:00
2020-01-23 21:31:15 +11:00
2020-03-13 21:13:06 +11:00
2020-04-23 10:50:26 +09:00
2019-05-30 11:26:32 -07:00
2019-12-10 10:12:55 +01:00
2020-05-07 22:58:31 +10:00
2020-07-16 13:12:44 +10:00
2019-05-30 11:26:32 -07:00
2018-05-25 12:04:38 +10:00
2019-05-30 11:26:35 -07:00