Browse code

linux-esx: sync with generic kernel + STA support

Change-Id: I7b8b24373e3a1cb028d7889bd3a11a1dbdc171bc
Reviewed-on: http://photon-jenkins.eng.vmware.com/662
Tested-by: jenkins-photon <wangnan2015@hotmail.com>
Reviewed-by: Sharath George

Alexey Makhalov authored on 2016/03/25 15:29:22
Showing 3 changed files
... ...
@@ -1,7 +1,7 @@
1 1
 From d5e7229bec41406a4040a1ac9131e24cb1f8768d Mon Sep 17 00:00:00 2001
2 2
 From: Alexey Makhalov <amakhalov@vmware.com>
3 3
 Date: Wed, 30 Sep 2015 23:00:00 +0000
4
-Subject: [PATCH 1/7] Measure correct boot time.
4
+Subject: [PATCH 01/11] Measure correct boot time.
5 5
 
6 6
 ---
7 7
  arch/x86/Kconfig          |  8 ++++++++
... ...
@@ -98,7 +98,7 @@ index 5650655..c386186 100644
98 98
 From 500436e32d4dffae5d78f12be72c2e6784ab8cfb Mon Sep 17 00:00:00 2001
99 99
 From: Alexey Makhalov <amakhalov@vmware.com>
100 100
 Date: Fri, 2 Oct 2015 20:00:06 +0000
101
-Subject: [PATCH 2/7] PV io_delay for VMware guest.
101
+Subject: [PATCH 02/11] PV io_delay for VMware guest.
102 102
 
103 103
 ---
104 104
  arch/x86/kernel/cpu/vmware.c | 13 +++++++++++++
... ...
@@ -149,7 +149,7 @@ index 628a059..8fdd031 100644
149 149
 From adff5db39b45d8adef2b4579ec46ab1bb721a81f Mon Sep 17 00:00:00 2001
150 150
 From: Alexey Makhalov <amakhalov@vmware.com>
151 151
 Date: Wed, 7 Oct 2015 22:53:18 +0000
152
-Subject: [PATCH 3/7] Improved tsc based sched_clock & clocksource.
152
+Subject: [PATCH 03/11] Improved tsc based sched_clock & clocksource.
153 153
 
154 154
 ---
155 155
  arch/x86/Kconfig             |  1 +
... ...
@@ -327,7 +327,7 @@ index c0a2051..284a7ba 100644
327 327
 From 3bd5760c3b1f6cb39568361561d7d1e5440f1109 Mon Sep 17 00:00:00 2001
328 328
 From: Alexey Makhalov <amakhalov@vmware.com>
329 329
 Date: Mon, 12 Oct 2015 22:43:38 +0000
330
-Subject: [PATCH 4/7] Move read_boot_clock64 into pv_time_ops.
330
+Subject: [PATCH 04/11] Move read_boot_clock64 into pv_time_ops.
331 331
 
332 332
 ---
333 333
  arch/x86/Kconfig                      | 14 ++++++--
... ...
@@ -635,7 +635,7 @@ index 284a7ba..615aeb4 100644
635 635
 From aa93eaec3f709633007ab6ce3ddbb8aaa455b557 Mon Sep 17 00:00:00 2001
636 636
 From: Alexey Makhalov <amakhalov@vmware.com>
637 637
 Date: Thu, 5 Nov 2015 21:02:52 +0000
638
-Subject: [PATCH 5/7] Fix clocksource_vmware issue in VM version <= 10
638
+Subject: [PATCH 05/11] Fix clocksource_vmware issue in VM version <= 10
639 639
 
640 640
 ---
641 641
  arch/x86/kernel/cpu/vmware.c | 48 +++++++++++++++++++++++++++++++++++++++++---
... ...
@@ -733,7 +733,7 @@ index 1bf1fe3..0b89bb9 100644
733 733
 From 245c6ff168fabde177b5b6023356b6005b0efbef Mon Sep 17 00:00:00 2001
734 734
 From: Alexey Makhalov <amakhalov@vmware.com>
735 735
 Date: Tue, 10 Nov 2015 11:46:57 +0000
736
-Subject: [PATCH 6/7] Get lapic timer frequency from HV, skip calibration
736
+Subject: [PATCH 06/11] Get lapic timer frequency from HV, skip calibration
737 737
 
738 738
 ---
739 739
  arch/x86/kernel/cpu/vmware.c | 48 +++++---------------------------------------
... ...
@@ -823,7 +823,7 @@ index 0b89bb9..b16618b 100644
823 823
 From 23055114ca27a04044ebbe38853834e0aa869da0 Mon Sep 17 00:00:00 2001
824 824
 From: Alexey Makhalov <amakhalov@vmware.com>
825 825
 Date: Tue, 15 Dec 2015 21:31:18 +0000
826
-Subject: [PATCH 7/7] Skip rdrand reseed
826
+Subject: [PATCH 07/11] Skip rdrand reseed
827 827
 
828 828
 ---
829 829
  arch/x86/kernel/cpu/common.c | 2 ++
... ...
@@ -864,3 +864,452 @@ index 136ac74..0685891 100644
864 864
 -- 
865 865
 1.9.1
866 866
 
867
+
868
+From bd806a16d202bf9dc41fbe3f8e39545e704adf9e Mon Sep 17 00:00:00 2001
869
+From: Alexey Makhalov <amakhalov@vmware.com>
870
+Date: Thu, 3 Dec 2015 00:46:46 +0000
871
+Subject: [PATCH 08/11] STA implementation. first version.
872
+
873
+---
874
+ arch/x86/kernel/cpu/vmware.c | 163 +++++++++++++++++++++++++++++++++++++++++++
875
+ 1 file changed, 163 insertions(+)
876
+
877
+diff --git a/arch/x86/kernel/cpu/vmware.c b/arch/x86/kernel/cpu/vmware.c
878
+index b16618b..cf1fb64 100644
879
+--- a/arch/x86/kernel/cpu/vmware.c
880
+@@ -28,6 +28,8 @@
881
+ #include <asm/hypervisor.h>
882
+ #include <asm/timer.h>
883
+ #include <linux/sched.h>
884
++#include <linux/cpu.h>
885
++#include <asm/pci_x86.h>
886
+ 
887
+ #define CPUID_VMWARE_INFO_LEAF	0x40000000
888
+ #define VMWARE_HYPERVISOR_MAGIC	0x564D5868
889
+@@ -38,6 +40,10 @@
890
+ #define VMWARE_PORT_CMD_GETVCPU_INFO	68
891
+ #define VMWARE_PORT_CMD_LEGACY_X2APIC	3
892
+ #define VMWARE_PORT_CMD_VCPU_RESERVED	31
893
++#define VMWARE_PORT_CMD_STEALCLOCK	91
894
++# define CMD_STEALCLOCK_ENABLE		0
895
++# define CMD_STEALCLOCK_DISABLE		1
896
++
897
+ 
898
+ #define VMWARE_PORT(cmd, eax, ebx, ecx, edx)				\
899
+ 	__asm__("inl (%%dx)" :						\
900
+@@ -47,6 +53,34 @@
901
+ 			"2"(VMWARE_HYPERVISOR_PORT), "3"(UINT_MAX) :	\
902
+ 			"memory");
903
+ 
904
++struct vmware_steal_time {
905
++	uint64_t clock;	/* stolen time counter in units of vtsc */
906
++	uint64_t reserved;
907
++};
908
++static DEFINE_PER_CPU(struct vmware_steal_time, steal_time) __aligned(64);
909
++static int has_steal_clock = 0;
910
++
911
++static int vmware_cmd_stealclock(int subcmd, uint32_t arg1, uint32_t arg2)
912
++{
913
++	uint32_t result, info;
914
++	__asm__ __volatile__ ("inl (%%dx)"
915
++		:	"=a" (result),
916
++			"=c" (info)
917
++		:       "a"  (VMWARE_HYPERVISOR_MAGIC),
918
++			"c"  (VMWARE_PORT_CMD_STEALCLOCK),
919
++			"d"  (VMWARE_HYPERVISOR_PORT),
920
++			"b"  (subcmd),
921
++			"S"  (arg1),
922
++			"D"  (arg2));
923
++	return result;
924
++}
925
++#define STEALCLOCK_ENABLE(pa)					\
926
++	vmware_cmd_stealclock(CMD_STEALCLOCK_ENABLE,		\
927
++			      (pa) >> 32, (pa) & 0xffffffff)
928
++
929
++#define STEALCLOCK_DISABLE()					\
930
++	vmware_cmd_stealclock(CMD_STEALCLOCK_DISABLE, 0, 0)
931
++
932
+ static inline int __vmware_platform(void)
933
+ {
934
+ 	uint32_t eax, ebx, ecx, edx;
935
+@@ -134,6 +168,114 @@ static void vmware_read_boot_clock64(struct timespec64 *ts)
936
+ 	}
937
+ }
938
+ 
939
++static uint64_t vmware_steal_clock(int cpu)
940
++{
941
++	struct vmware_steal_time *steal;
942
++
943
++	steal = &per_cpu(steal_time, cpu);
944
++	return mul_u64_u32_shr(steal->clock, vmware_cyc2ns.cyc2ns_mul,
945
++			       CYC2NS_SCALE_FACTOR);
946
++}
947
++
948
++static void vmware_register_steal_time(void)
949
++{
950
++	int cpu = smp_processor_id();
951
++	struct vmware_steal_time *st = &per_cpu(steal_time, cpu);
952
++
953
++	if (!has_steal_clock)
954
++		return;
955
++
956
++	memset(st, 0, sizeof(*st));
957
++
958
++	if (STEALCLOCK_ENABLE(slow_virt_to_phys(st)) != 0) {
959
++		has_steal_clock = 0;
960
++		return;
961
++	}
962
++
963
++	pr_info("vmware-stealtime: cpu %d, pa %llx\n",
964
++		cpu, (unsigned long long) slow_virt_to_phys(st));
965
++}
966
++
967
++void vmware_disable_steal_time(void)
968
++{
969
++	if (!has_steal_clock)
970
++		return;
971
++
972
++	STEALCLOCK_DISABLE();
973
++}
974
++
975
++static void vmware_guest_cpu_init(void)
976
++{
977
++	if (has_steal_clock)
978
++		vmware_register_steal_time();
979
++}
980
++
981
++#ifdef CONFIG_SMP
982
++static void __init vmware_smp_prepare_boot_cpu(void)
983
++{
984
++	vmware_guest_cpu_init();
985
++	native_smp_prepare_boot_cpu();
986
++}
987
++
988
++static void vmware_guest_cpu_online(void *dummy)
989
++{
990
++	vmware_guest_cpu_init();
991
++}
992
++
993
++static void vmware_guest_cpu_offline(void *dummy)
994
++{
995
++	vmware_disable_steal_time();
996
++}
997
++
998
++static int vmware_cpu_notify(struct notifier_block *self, unsigned long action,
999
++			  void *hcpu)
1000
++{
1001
++	int cpu = (unsigned long)hcpu;
1002
++	switch (action) {
1003
++	case CPU_ONLINE:
1004
++	case CPU_DOWN_FAILED:
1005
++	case CPU_ONLINE_FROZEN:
1006
++		smp_call_function_single(cpu, vmware_guest_cpu_online,
1007
++			NULL, 0);
1008
++		break;
1009
++	case CPU_DOWN_PREPARE:
1010
++	case CPU_DOWN_PREPARE_FROZEN:
1011
++		smp_call_function_single(cpu, vmware_guest_cpu_offline,
1012
++			NULL, 1);
1013
++		break;
1014
++	default:
1015
++		break;
1016
++	}
1017
++	return NOTIFY_OK;
1018
++}
1019
++
1020
++static struct notifier_block vmware_cpu_notifier = {
1021
++        .notifier_call  = vmware_cpu_notify,
1022
++};
1023
++#endif
1024
++
1025
++static int sta_enabled = 1; /* steal time accounting */
1026
++static int parse_vmw_no_sta(char *arg)
1027
++{
1028
++        sta_enabled = 0;
1029
++        return 0;
1030
++}
1031
++
1032
++early_param("vmw-no-sta", parse_vmw_no_sta);
1033
++
1034
++static __init int activate_jump_labels(void)
1035
++{
1036
++	if (has_steal_clock) {
1037
++		static_key_slow_inc(&paravirt_steal_enabled);
1038
++		if (sta_enabled)
1039
++			static_key_slow_inc(&paravirt_steal_rq_enabled);
1040
++	}
1041
++
1042
++	return 0;
1043
++}
1044
++arch_initcall(activate_jump_labels);
1045
++
1046
++
1047
+ static void __init paravirt_ops_setup(void)
1048
+ {
1049
+ 	pv_info.name = "VMware";
1050
+@@ -141,9 +283,18 @@ static void __init paravirt_ops_setup(void)
1051
+ 	pv_time_ops.sched_clock = vmware_sched_clock;
1052
+ 	pv_time_ops.read_boot_clock64 = vmware_read_boot_clock64;
1053
+ 
1054
++	/*
1055
++	 * TODO: check for STEAL_TIME support
1056
++	 */
1057
++	if (1) {
1058
++		has_steal_clock = 1;
1059
++		pv_time_ops.steal_clock = vmware_steal_clock;
1060
++	}
1061
++
1062
+ #ifdef CONFIG_X86_IO_APIC
1063
+ 	no_timer_check = 1;
1064
+ #endif
1065
++
1066
+ }
1067
+ 
1068
+ static void __init vmware_platform_setup(void)
1069
+@@ -176,6 +327,18 @@ static void __init vmware_platform_setup(void)
1070
+ 	clocksource_register_khz(&clocksource_vmware, vtsc_khz);
1071
+ 
1072
+ 	paravirt_ops_setup();
1073
++
1074
++#ifdef CONFIG_SMP
1075
++	smp_ops.smp_prepare_boot_cpu = vmware_smp_prepare_boot_cpu;
1076
++	register_cpu_notifier(&vmware_cpu_notifier);
1077
++#else
1078
++	vmware_guest_cpu_init();
1079
++#endif
1080
++
1081
++#ifdef CONFIG_PCI
1082
++	/* PCI BIOS service won't work from a PV guest. */
1083
++	pci_probe &= ~PCI_PROBE_BIOS;
1084
++#endif
1085
+ }
1086
+ 
1087
+ /*
1088
+-- 
1089
+1.9.1
1090
+
1091
+
1092
+From 8496145f4f5fcd430e5d8f493066a8e54aaaf96b Mon Sep 17 00:00:00 2001
1093
+From: Alexey Makhalov <amakhalov@vmware.com>
1094
+Date: Wed, 13 Jan 2016 22:54:04 +0000
1095
+Subject: [PATCH 09/11] STA. updated version
1096
+
1097
+---
1098
+ arch/x86/kernel/cpu/vmware.c | 34 ++++++++++++++++++++++++----------
1099
+ 1 file changed, 24 insertions(+), 10 deletions(-)
1100
+
1101
+diff --git a/arch/x86/kernel/cpu/vmware.c b/arch/x86/kernel/cpu/vmware.c
1102
+index cf1fb64..196703c 100644
1103
+--- a/arch/x86/kernel/cpu/vmware.c
1104
+@@ -41,16 +41,23 @@
1105
+ #define VMWARE_PORT_CMD_LEGACY_X2APIC	3
1106
+ #define VMWARE_PORT_CMD_VCPU_RESERVED	31
1107
+ #define VMWARE_PORT_CMD_STEALCLOCK	91
1108
+-# define CMD_STEALCLOCK_ENABLE		0
1109
+-# define CMD_STEALCLOCK_DISABLE		1
1110
++# define CMD_STEALCLOCK_STATUS		0
1111
++#  define STEALCLOCK_IS_NOT_AVALIABLE	0
1112
++#  define STEALCLOCK_IS_ENABLED		1
1113
++#  define STEALCLOCK_IS_DISABLED	2
1114
++# define CMD_STEALCLOCK_ENABLE		1
1115
++# define CMD_STEALCLOCK_DISABLE		2
1116
+ 
1117
+ 
1118
+ #define VMWARE_PORT(cmd, eax, ebx, ecx, edx)				\
1119
++	VMWARE_PORT2(cmd, eax, ebx, ecx, edx, UINT_MAX)
1120
++
1121
++#define VMWARE_PORT2(cmd, eax, ebx, ecx, edx, arg)			\
1122
+ 	__asm__("inl (%%dx)" :						\
1123
+ 			"=a"(eax), "=c"(ecx), "=d"(edx), "=b"(ebx) :	\
1124
+ 			"0"(VMWARE_HYPERVISOR_MAGIC),			\
1125
+ 			"1"(VMWARE_PORT_CMD_##cmd),			\
1126
+-			"2"(VMWARE_HYPERVISOR_PORT), "3"(UINT_MAX) :	\
1127
++			"2"(VMWARE_HYPERVISOR_PORT), "3"(arg) :		\
1128
+ 			"memory");
1129
+ 
1130
+ struct vmware_steal_time {
1131
+@@ -60,6 +67,13 @@ struct vmware_steal_time {
1132
+ static DEFINE_PER_CPU(struct vmware_steal_time, steal_time) __aligned(64);
1133
+ static int has_steal_clock = 0;
1134
+ 
1135
++static int vmware_is_stealclock_available(void)
1136
++{
1137
++	uint32_t eax, ebx, ecx, edx;
1138
++	VMWARE_PORT2(STEALCLOCK, eax, ebx, ecx, edx, CMD_STEALCLOCK_STATUS);
1139
++	printk("%s:%d %d %d\n", __FUNCTION__, __LINE__, eax, ebx);
1140
++	return eax == 0 && ebx != STEALCLOCK_IS_NOT_AVALIABLE;
1141
++}
1142
+ static int vmware_cmd_stealclock(int subcmd, uint32_t arg1, uint32_t arg2)
1143
+ {
1144
+ 	uint32_t result, info;
1145
+@@ -283,10 +297,7 @@ static void __init paravirt_ops_setup(void)
1146
+ 	pv_time_ops.sched_clock = vmware_sched_clock;
1147
+ 	pv_time_ops.read_boot_clock64 = vmware_read_boot_clock64;
1148
+ 
1149
+-	/*
1150
+-	 * TODO: check for STEAL_TIME support
1151
+-	 */
1152
+-	if (1) {
1153
++	if (vmware_is_stealclock_available()) {
1154
+ 		has_steal_clock = 1;
1155
+ 		pv_time_ops.steal_clock = vmware_steal_clock;
1156
+ 	}
1157
+@@ -328,12 +339,15 @@ static void __init vmware_platform_setup(void)
1158
+ 
1159
+ 	paravirt_ops_setup();
1160
+ 
1161
++	/* vmware_cpu_notifier is used only by STA */
1162
++	if (has_steal_clock) {
1163
+ #ifdef CONFIG_SMP
1164
+-	smp_ops.smp_prepare_boot_cpu = vmware_smp_prepare_boot_cpu;
1165
+-	register_cpu_notifier(&vmware_cpu_notifier);
1166
++		smp_ops.smp_prepare_boot_cpu = vmware_smp_prepare_boot_cpu;
1167
++		register_cpu_notifier(&vmware_cpu_notifier);
1168
+ #else
1169
+-	vmware_guest_cpu_init();
1170
++		vmware_guest_cpu_init();
1171
+ #endif
1172
++	}
1173
+ 
1174
+ #ifdef CONFIG_PCI
1175
+ 	/* PCI BIOS service won't work from a PV guest. */
1176
+-- 
1177
+1.9.1
1178
+
1179
+
1180
+From a8f165433de453994aef84a9d6bf1704a18b3a95 Mon Sep 17 00:00:00 2001
1181
+From: Alexey Makhalov <amakhalov@vmware.com>
1182
+Date: Tue, 15 Mar 2016 22:29:23 +0000
1183
+Subject: [PATCH 10/11] STA: version with a single backdoor command.
1184
+
1185
+---
1186
+ arch/x86/kernel/cpu/vmware.c | 35 +++++++++++++++--------------------
1187
+ 1 file changed, 15 insertions(+), 20 deletions(-)
1188
+
1189
+diff --git a/arch/x86/kernel/cpu/vmware.c b/arch/x86/kernel/cpu/vmware.c
1190
+index 196703c..743b8ad 100644
1191
+--- a/arch/x86/kernel/cpu/vmware.c
1192
+@@ -41,12 +41,9 @@
1193
+ #define VMWARE_PORT_CMD_LEGACY_X2APIC	3
1194
+ #define VMWARE_PORT_CMD_VCPU_RESERVED	31
1195
+ #define VMWARE_PORT_CMD_STEALCLOCK	91
1196
+-# define CMD_STEALCLOCK_STATUS		0
1197
+-#  define STEALCLOCK_IS_NOT_AVALIABLE	0
1198
+-#  define STEALCLOCK_IS_ENABLED		1
1199
+-#  define STEALCLOCK_IS_DISABLED	2
1200
+-# define CMD_STEALCLOCK_ENABLE		1
1201
+-# define CMD_STEALCLOCK_DISABLE		2
1202
++# define STEALCLOCK_IS_NOT_AVALIABLE	-1
1203
++# define STEALCLOCK_IS_DISABLED		0
1204
++# define STEALCLOCK_IS_ENABLED		1
1205
+ 
1206
+ 
1207
+ #define VMWARE_PORT(cmd, eax, ebx, ecx, edx)				\
1208
+@@ -62,19 +59,12 @@
1209
+ 
1210
+ struct vmware_steal_time {
1211
+ 	uint64_t clock;	/* stolen time counter in units of vtsc */
1212
+-	uint64_t reserved;
1213
++	uint64_t reserved[7];
1214
+ };
1215
+ static DEFINE_PER_CPU(struct vmware_steal_time, steal_time) __aligned(64);
1216
+ static int has_steal_clock = 0;
1217
+ 
1218
+-static int vmware_is_stealclock_available(void)
1219
+-{
1220
+-	uint32_t eax, ebx, ecx, edx;
1221
+-	VMWARE_PORT2(STEALCLOCK, eax, ebx, ecx, edx, CMD_STEALCLOCK_STATUS);
1222
+-	printk("%s:%d %d %d\n", __FUNCTION__, __LINE__, eax, ebx);
1223
+-	return eax == 0 && ebx != STEALCLOCK_IS_NOT_AVALIABLE;
1224
+-}
1225
+-static int vmware_cmd_stealclock(int subcmd, uint32_t arg1, uint32_t arg2)
1226
++static int vmware_cmd_stealclock(uint32_t arg1, uint32_t arg2)
1227
+ {
1228
+ 	uint32_t result, info;
1229
+ 	__asm__ __volatile__ ("inl (%%dx)"
1230
+@@ -83,17 +73,22 @@ static int vmware_cmd_stealclock(int subcmd, uint32_t arg1, uint32_t arg2)
1231
+ 		:       "a"  (VMWARE_HYPERVISOR_MAGIC),
1232
+ 			"c"  (VMWARE_PORT_CMD_STEALCLOCK),
1233
+ 			"d"  (VMWARE_HYPERVISOR_PORT),
1234
+-			"b"  (subcmd),
1235
++			"b"  (0),
1236
+ 			"S"  (arg1),
1237
+ 			"D"  (arg2));
1238
+ 	return result;
1239
+ }
1240
+ #define STEALCLOCK_ENABLE(pa)					\
1241
+-	vmware_cmd_stealclock(CMD_STEALCLOCK_ENABLE,		\
1242
+-			      (pa) >> 32, (pa) & 0xffffffff)
1243
++	(vmware_cmd_stealclock((pa) >> 32, (pa) & 0xffffffff)   \
1244
++			== STEALCLOCK_IS_ENABLED)
1245
+ 
1246
+ #define STEALCLOCK_DISABLE()					\
1247
+-	vmware_cmd_stealclock(CMD_STEALCLOCK_DISABLE, 0, 0)
1248
++	vmware_cmd_stealclock(0, 1)
1249
++
1250
++static int vmware_is_stealclock_available(void)
1251
++{
1252
++	return STEALCLOCK_DISABLE() != STEALCLOCK_IS_NOT_AVALIABLE;
1253
++}
1254
+ 
1255
+ static inline int __vmware_platform(void)
1256
+ {
1257
+@@ -201,7 +196,7 @@ static void vmware_register_steal_time(void)
1258
+ 
1259
+ 	memset(st, 0, sizeof(*st));
1260
+ 
1261
+-	if (STEALCLOCK_ENABLE(slow_virt_to_phys(st)) != 0) {
1262
++	if (!STEALCLOCK_ENABLE(slow_virt_to_phys(st))) {
1263
+ 		has_steal_clock = 0;
1264
+ 		return;
1265
+ 	}
1266
+-- 
1267
+1.9.1
1268
+
1269
+
1270
+From 27b9b08cf68f55fbfa297eb047f7d1309e0a60cf Mon Sep 17 00:00:00 2001
1271
+From: Alexey Makhalov <amakhalov@vmware.com>
1272
+Date: Fri, 25 Mar 2016 01:14:17 +0000
1273
+Subject: [PATCH 11/11] Remove delays for smpboot
1274
+
1275
+---
1276
+ arch/x86/kernel/smpboot.c | 6 +++---
1277
+ 1 file changed, 3 insertions(+), 3 deletions(-)
1278
+
1279
+diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
1280
+index b1f3ed9..8f0be52 100644
1281
+--- a/arch/x86/kernel/smpboot.c
1282
+@@ -560,7 +560,7 @@ wakeup_secondary_cpu_via_nmi(int apicid, unsigned long start_eip)
1283
+ 	/*
1284
+ 	 * Give the other CPU some time to accept the IPI.
1285
+ 	 */
1286
+-	udelay(200);
1287
++//	udelay(200);
1288
+ 	if (APIC_INTEGRATED(apic_version[boot_cpu_physical_apicid])) {
1289
+ 		maxlvt = lapic_get_maxlvt();
1290
+ 		if (maxlvt > 3)			/* Due to the Pentium erratum 3AP.  */
1291
+@@ -665,7 +665,7 @@ wakeup_secondary_cpu_via_init(int phys_apicid, unsigned long start_eip)
1292
+ 		/*
1293
+ 		 * Give the other CPU some time to accept the IPI.
1294
+ 		 */
1295
+-		udelay(300);
1296
++//		udelay(300);
1297
+ 
1298
+ 		pr_debug("Startup point 1\n");
1299
+ 
1300
+@@ -675,7 +675,7 @@ wakeup_secondary_cpu_via_init(int phys_apicid, unsigned long start_eip)
1301
+ 		/*
1302
+ 		 * Give the other CPU some time to accept the IPI.
1303
+ 		 */
1304
+-		udelay(200);
1305
++//		udelay(200);
1306
+ 
1307
+ 		if (maxlvt > 3)		/* Due to the Pentium erratum 3AP.  */
1308
+ 			apic_write(APIC_ESR, 0);
1309
+-- 
1310
+1.9.1
1311
+
... ...
@@ -15,9 +15,11 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y
15 15
 CONFIG_MMU=y
16 16
 CONFIG_NEED_DMA_MAP_STATE=y
17 17
 CONFIG_NEED_SG_DMA_LENGTH=y
18
+CONFIG_GENERIC_ISA_DMA=y
18 19
 CONFIG_GENERIC_BUG=y
19 20
 CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
20 21
 CONFIG_GENERIC_HWEIGHT=y
22
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
21 23
 CONFIG_RWSEM_XCHGADD_ALGORITHM=y
22 24
 CONFIG_GENERIC_CALIBRATE_DELAY=y
23 25
 CONFIG_ARCH_HAS_CPU_RELAX=y
... ...
@@ -102,18 +104,17 @@ CONFIG_GENERIC_CMOS_UPDATE=y
102 102
 CONFIG_TICK_ONESHOT=y
103 103
 CONFIG_NO_HZ_COMMON=y
104 104
 # CONFIG_HZ_PERIODIC is not set
105
-# CONFIG_NO_HZ_IDLE is not set
106
-CONFIG_NO_HZ_FULL=y
107
-# CONFIG_NO_HZ_FULL_ALL is not set
108
-# CONFIG_NO_HZ_FULL_SYSIDLE is not set
105
+CONFIG_NO_HZ_IDLE=y
106
+# CONFIG_NO_HZ_FULL is not set
109 107
 CONFIG_NO_HZ=y
110 108
 CONFIG_HIGH_RES_TIMERS=y
111 109
 
112 110
 #
113 111
 # CPU/Task time and stats accounting
114 112
 #
115
-CONFIG_VIRT_CPU_ACCOUNTING=y
116
-CONFIG_VIRT_CPU_ACCOUNTING_GEN=y
113
+CONFIG_TICK_CPU_ACCOUNTING=y
114
+# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
115
+# CONFIG_IRQ_TIME_ACCOUNTING is not set
117 116
 CONFIG_BSD_PROCESS_ACCT=y
118 117
 CONFIG_BSD_PROCESS_ACCT_V3=y
119 118
 CONFIG_TASKSTATS=y
... ...
@@ -129,14 +130,11 @@ CONFIG_TREE_RCU=y
129 129
 CONFIG_SRCU=y
130 130
 # CONFIG_TASKS_RCU is not set
131 131
 CONFIG_RCU_STALL_COMMON=y
132
-CONFIG_CONTEXT_TRACKING=y
133
-CONFIG_RCU_USER_QS=y
134
-# CONFIG_CONTEXT_TRACKING_FORCE is not set
135 132
 # CONFIG_TREE_RCU_TRACE is not set
136 133
 CONFIG_RCU_NOCB_CPU=y
137
-# CONFIG_RCU_NOCB_CPU_NONE is not set
134
+CONFIG_RCU_NOCB_CPU_NONE=y
138 135
 # CONFIG_RCU_NOCB_CPU_ZERO is not set
139
-CONFIG_RCU_NOCB_CPU_ALL=y
136
+# CONFIG_RCU_NOCB_CPU_ALL is not set
140 137
 # CONFIG_RCU_EXPEDITE_BOOT is not set
141 138
 # CONFIG_BUILD_BIN2C is not set
142 139
 # CONFIG_IKCONFIG is not set
... ...
@@ -191,18 +189,18 @@ CONFIG_HAVE_UID16=y
191 191
 CONFIG_SYSCTL_EXCEPTION_TRACE=y
192 192
 CONFIG_HAVE_PCSPKR_PLATFORM=y
193 193
 CONFIG_BPF=y
194
-CONFIG_EXPERT=y
195
-# CONFIG_UID16 is not set
194
+# CONFIG_EXPERT is not set
195
+CONFIG_UID16=y
196 196
 CONFIG_MULTIUSER=y
197 197
 CONFIG_SGETMASK_SYSCALL=y
198
-# CONFIG_SYSFS_SYSCALL is not set
199
-CONFIG_SYSCTL_SYSCALL=y
198
+CONFIG_SYSFS_SYSCALL=y
199
+# CONFIG_SYSCTL_SYSCALL is not set
200 200
 CONFIG_KALLSYMS=y
201
-CONFIG_KALLSYMS_ALL=y
201
+# CONFIG_KALLSYMS_ALL is not set
202 202
 CONFIG_PRINTK=y
203 203
 CONFIG_BUG=y
204 204
 CONFIG_ELF_CORE=y
205
-# CONFIG_PCSPKR_PLATFORM is not set
205
+CONFIG_PCSPKR_PLATFORM=y
206 206
 CONFIG_BASE_FULL=y
207 207
 CONFIG_FUTEX=y
208 208
 CONFIG_EPOLL=y
... ...
@@ -223,12 +221,9 @@ CONFIG_HAVE_PERF_EVENTS=y
223 223
 CONFIG_PERF_EVENTS=y
224 224
 # CONFIG_DEBUG_PERF_USE_VMALLOC is not set
225 225
 CONFIG_VM_EVENT_COUNTERS=y
226
-CONFIG_SLUB_DEBUG=y
227 226
 # CONFIG_COMPAT_BRK is not set
228
-# CONFIG_SLAB is not set
229
-CONFIG_SLUB=y
230
-# CONFIG_SLOB is not set
231
-CONFIG_SLUB_CPU_PARTIAL=y
227
+CONFIG_SLAB=y
228
+# CONFIG_SLUB is not set
232 229
 CONFIG_SYSTEM_TRUSTED_KEYRING=y
233 230
 # CONFIG_PROFILING is not set
234 231
 CONFIG_HAVE_OPROFILE=y
... ...
@@ -259,7 +254,6 @@ CONFIG_HAVE_PERF_REGS=y
259 259
 CONFIG_HAVE_PERF_USER_STACK_DUMP=y
260 260
 CONFIG_HAVE_ARCH_JUMP_LABEL=y
261 261
 CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
262
-CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
263 262
 CONFIG_HAVE_CMPXCHG_LOCAL=y
264 263
 CONFIG_HAVE_CMPXCHG_DOUBLE=y
265 264
 CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
... ...
@@ -381,7 +375,7 @@ CONFIG_PARAVIRT=y
381 381
 # CONFIG_KVM_GUEST is not set
382 382
 CONFIG_VMWARE=y
383 383
 CONFIG_VMWARE_ONLY=y
384
-# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
384
+CONFIG_PARAVIRT_TIME_ACCOUNTING=y
385 385
 CONFIG_PARAVIRT_CLOCK=y
386 386
 CONFIG_NO_BOOTMEM=y
387 387
 # CONFIG_MK8 is not set
... ...
@@ -399,18 +393,18 @@ CONFIG_X86_CMPXCHG64=y
399 399
 CONFIG_X86_CMOV=y
400 400
 CONFIG_X86_MINIMUM_CPU_FAMILY=64
401 401
 CONFIG_X86_DEBUGCTLMSR=y
402
-CONFIG_PROCESSOR_SELECT=y
403 402
 CONFIG_CPU_SUP_INTEL=y
404
-# CONFIG_CPU_SUP_AMD is not set
405
-# CONFIG_CPU_SUP_CENTAUR is not set
403
+CONFIG_CPU_SUP_AMD=y
404
+CONFIG_CPU_SUP_CENTAUR=y
406 405
 CONFIG_HPET_TIMER=y
407 406
 CONFIG_HPET_EMULATE_RTC=y
408 407
 CONFIG_DMI=y
408
+# CONFIG_GART_IOMMU is not set
409 409
 # CONFIG_CALGARY_IOMMU is not set
410 410
 CONFIG_SWIOTLB=y
411 411
 CONFIG_IOMMU_HELPER=y
412 412
 # CONFIG_MAXSMP is not set
413
-CONFIG_NR_CPUS=32
413
+CONFIG_NR_CPUS=128
414 414
 # CONFIG_SCHED_SMT is not set
415 415
 CONFIG_SCHED_MC=y
416 416
 CONFIG_PREEMPT_NONE=y
... ...
@@ -501,7 +495,7 @@ CONFIG_HZ=250
501 501
 CONFIG_SCHED_HRTICK=y
502 502
 # CONFIG_KEXEC is not set
503 503
 # CONFIG_CRASH_DUMP is not set
504
-CONFIG_PHYSICAL_START=0x100000
504
+CONFIG_PHYSICAL_START=0x1000000
505 505
 CONFIG_RELOCATABLE=y
506 506
 # CONFIG_RANDOMIZE_BASE is not set
507 507
 CONFIG_PHYSICAL_ALIGN=0x1000000
... ...
@@ -540,7 +534,7 @@ CONFIG_ACPI_HOTPLUG_CPU=y
540 540
 # CONFIG_ACPI_INITRD_TABLE_OVERRIDE is not set
541 541
 # CONFIG_ACPI_DEBUG is not set
542 542
 # CONFIG_ACPI_PCI_SLOT is not set
543
-# CONFIG_X86_PM_TIMER is not set
543
+CONFIG_X86_PM_TIMER=y
544 544
 CONFIG_ACPI_CONTAINER=y
545 545
 CONFIG_ACPI_HOTPLUG_MEMORY=y
546 546
 CONFIG_ACPI_HOTPLUG_IOAPIC=y
... ...
@@ -582,11 +576,14 @@ CONFIG_PCI=y
582 582
 CONFIG_PCI_DIRECT=y
583 583
 # CONFIG_PCI_MMCONFIG is not set
584 584
 CONFIG_PCI_DOMAINS=y
585
-# CONFIG_PCI_CNB20LE_QUIRK is not set
586 585
 CONFIG_PCIEPORTBUS=y
587 586
 # CONFIG_HOTPLUG_PCI_PCIE is not set
588 587
 # CONFIG_PCIEAER is not set
589
-# CONFIG_PCIEASPM is not set
588
+CONFIG_PCIEASPM=y
589
+# CONFIG_PCIEASPM_DEBUG is not set
590
+CONFIG_PCIEASPM_DEFAULT=y
591
+# CONFIG_PCIEASPM_POWERSAVE is not set
592
+# CONFIG_PCIEASPM_PERFORMANCE is not set
590 593
 CONFIG_PCI_BUS_ADDR_T_64BIT=y
591 594
 CONFIG_PCI_MSI=y
592 595
 CONFIG_PCI_MSI_IRQ_DOMAIN=y
... ...
@@ -602,11 +599,12 @@ CONFIG_PCI_LABEL=y
602 602
 #
603 603
 # PCI host controller drivers
604 604
 #
605
-# CONFIG_ISA_DMA_API is not set
605
+CONFIG_ISA_DMA_API=y
606
+CONFIG_AMD_NB=y
606 607
 # CONFIG_PCCARD is not set
607 608
 CONFIG_HOTPLUG_PCI=y
608 609
 CONFIG_HOTPLUG_PCI_ACPI=y
609
-CONFIG_HOTPLUG_PCI_ACPI_IBM=m
610
+# CONFIG_HOTPLUG_PCI_ACPI_IBM is not set
610 611
 # CONFIG_HOTPLUG_PCI_CPCI is not set
611 612
 # CONFIG_HOTPLUG_PCI_SHPC is not set
612 613
 # CONFIG_RAPIDIO is not set
... ...
@@ -1101,7 +1099,7 @@ CONFIG_EXTRA_FIRMWARE=""
1101 1101
 # CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set
1102 1102
 CONFIG_ALLOW_DEV_COREDUMP=y
1103 1103
 # CONFIG_DEBUG_DRIVER is not set
1104
-CONFIG_DEBUG_DEVRES=y
1104
+# CONFIG_DEBUG_DEVRES is not set
1105 1105
 # CONFIG_SYS_HYPERVISOR is not set
1106 1106
 # CONFIG_GENERIC_CPU_DEVICES is not set
1107 1107
 CONFIG_GENERIC_CPU_AUTOPROBE=y
... ...
@@ -1125,6 +1123,7 @@ CONFIG_PNP_DEBUG_MESSAGES=y
1125 1125
 CONFIG_PNPACPI=y
1126 1126
 CONFIG_BLK_DEV=y
1127 1127
 # CONFIG_BLK_DEV_NULL_BLK is not set
1128
+# CONFIG_BLK_DEV_FD is not set
1128 1129
 # CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
1129 1130
 # CONFIG_BLK_CPQ_CISS_DA is not set
1130 1131
 # CONFIG_BLK_DEV_DAC960 is not set
... ...
@@ -1292,10 +1291,13 @@ CONFIG_SCSI_MPT3SAS_MAX_SGE=128
1292 1292
 CONFIG_SCSI_MPT3SAS_LOGGING=y
1293 1293
 # CONFIG_SCSI_UFSHCD is not set
1294 1294
 # CONFIG_SCSI_HPTIOP is not set
1295
+# CONFIG_SCSI_BUSLOGIC is not set
1295 1296
 CONFIG_VMWARE_PVSCSI=y
1296 1297
 # CONFIG_SCSI_SNIC is not set
1297 1298
 # CONFIG_SCSI_DMX3191D is not set
1299
+# CONFIG_SCSI_EATA is not set
1298 1300
 # CONFIG_SCSI_FUTURE_DOMAIN is not set
1301
+# CONFIG_SCSI_GDTH is not set
1299 1302
 # CONFIG_SCSI_ISCI is not set
1300 1303
 # CONFIG_SCSI_IPS is not set
1301 1304
 # CONFIG_SCSI_INITIO is not set
... ...
@@ -1395,7 +1397,6 @@ CONFIG_ATA_PIIX=m
1395 1395
 # CONFIG_PATA_MPIIX is not set
1396 1396
 # CONFIG_PATA_NS87410 is not set
1397 1397
 # CONFIG_PATA_OPTI is not set
1398
-# CONFIG_PATA_PLATFORM is not set
1399 1398
 # CONFIG_PATA_RZ1000 is not set
1400 1399
 
1401 1400
 #
... ...
@@ -1604,16 +1605,16 @@ CONFIG_KEYBOARD_ATKBD=y
1604 1604
 # CONFIG_KEYBOARD_XTKBD is not set
1605 1605
 CONFIG_INPUT_MOUSE=y
1606 1606
 CONFIG_MOUSE_PS2=m
1607
-# CONFIG_MOUSE_PS2_ALPS is not set
1608
-# CONFIG_MOUSE_PS2_LOGIPS2PP is not set
1609
-# CONFIG_MOUSE_PS2_SYNAPTICS is not set
1610
-# CONFIG_MOUSE_PS2_CYPRESS is not set
1611
-# CONFIG_MOUSE_PS2_LIFEBOOK is not set
1612
-# CONFIG_MOUSE_PS2_TRACKPOINT is not set
1607
+CONFIG_MOUSE_PS2_ALPS=y
1608
+CONFIG_MOUSE_PS2_LOGIPS2PP=y
1609
+CONFIG_MOUSE_PS2_SYNAPTICS=y
1610
+CONFIG_MOUSE_PS2_CYPRESS=y
1611
+CONFIG_MOUSE_PS2_LIFEBOOK=y
1612
+CONFIG_MOUSE_PS2_TRACKPOINT=y
1613 1613
 # CONFIG_MOUSE_PS2_ELANTECH is not set
1614 1614
 # CONFIG_MOUSE_PS2_SENTELIC is not set
1615 1615
 # CONFIG_MOUSE_PS2_TOUCHKIT is not set
1616
-# CONFIG_MOUSE_PS2_FOCALTECH is not set
1616
+CONFIG_MOUSE_PS2_FOCALTECH=y
1617 1617
 # CONFIG_MOUSE_PS2_VMMOUSE is not set
1618 1618
 # CONFIG_MOUSE_SERIAL is not set
1619 1619
 # CONFIG_MOUSE_APPLETOUCH is not set
... ...
@@ -1688,7 +1689,6 @@ CONFIG_SERIAL_CORE=m
1688 1688
 # CONFIG_SERIAL_ARC is not set
1689 1689
 # CONFIG_SERIAL_RP2 is not set
1690 1690
 # CONFIG_SERIAL_FSL_LPUART is not set
1691
-CONFIG_TTY_PRINTK=y
1692 1691
 # CONFIG_IPMI_HANDLER is not set
1693 1692
 # CONFIG_HW_RANDOM is not set
1694 1693
 # CONFIG_NVRAM is not set
... ...
@@ -1890,7 +1890,8 @@ CONFIG_BCMA_POSSIBLE=y
1890 1890
 # Graphics support
1891 1891
 #
1892 1892
 # CONFIG_AGP is not set
1893
-# CONFIG_VGA_ARB is not set
1893
+CONFIG_VGA_ARB=y
1894
+CONFIG_VGA_ARB_MAX_GPUS=16
1894 1895
 # CONFIG_VGA_SWITCHEROO is not set
1895 1896
 
1896 1897
 #
... ...
@@ -2093,12 +2094,6 @@ CONFIG_USB_HID=m
2093 2093
 # CONFIG_USB_HIDDEV is not set
2094 2094
 
2095 2095
 #
2096
-# USB HID Boot Protocol drivers
2097
-#
2098
-# CONFIG_USB_KBD is not set
2099
-# CONFIG_USB_MOUSE is not set
2100
-
2101
-#
2102 2096
 # I2C HID support
2103 2097
 #
2104 2098
 # CONFIG_I2C_HID is not set
... ...
@@ -2115,7 +2110,6 @@ CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
2115 2115
 CONFIG_USB_DEFAULT_PERSIST=y
2116 2116
 # CONFIG_USB_DYNAMIC_MINORS is not set
2117 2117
 # CONFIG_USB_OTG_WHITELIST is not set
2118
-# CONFIG_USB_OTG_BLACKLIST_HUB is not set
2119 2118
 # CONFIG_USB_OTG_FSM is not set
2120 2119
 # CONFIG_USB_ULPI_BUS is not set
2121 2120
 CONFIG_USB_MON=m
... ...
@@ -2338,6 +2332,7 @@ CONFIG_VIRT_DRIVERS=y
2338 2338
 # Clock Source drivers
2339 2339
 #
2340 2340
 CONFIG_CLKEVT_I8253=y
2341
+CONFIG_I8253_LOCK=y
2341 2342
 CONFIG_CLKBLD_I8253=y
2342 2343
 # CONFIG_ATMEL_PIT is not set
2343 2344
 # CONFIG_SH_TIMER_CMT is not set
... ...
@@ -2497,7 +2492,7 @@ CONFIG_NETWORK_FILESYSTEMS=y
2497 2497
 CONFIG_NFS_FS=m
2498 2498
 CONFIG_NFS_V2=m
2499 2499
 CONFIG_NFS_V3=m
2500
-# CONFIG_NFS_V3_ACL is not set
2500
+CONFIG_NFS_V3_ACL=y
2501 2501
 CONFIG_NFS_V4=m
2502 2502
 # CONFIG_NFS_SWAP is not set
2503 2503
 CONFIG_NFS_V4_1=y
... ...
@@ -2507,8 +2502,8 @@ CONFIG_PNFS_BLOCK=m
2507 2507
 CONFIG_PNFS_FLEXFILE_LAYOUT=m
2508 2508
 CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org"
2509 2509
 # CONFIG_NFS_V4_1_MIGRATION is not set
2510
-# CONFIG_NFS_USE_LEGACY_DNS is not set
2511
-CONFIG_NFS_USE_KERNEL_DNS=y
2510
+CONFIG_NFS_USE_LEGACY_DNS=y
2511
+CONFIG_NFS_DEBUG=y
2512 2512
 CONFIG_NFSD=m
2513 2513
 CONFIG_NFSD_V3=y
2514 2514
 # CONFIG_NFSD_V3_ACL is not set
... ...
@@ -2518,11 +2513,12 @@ CONFIG_NFSD_PNFS=y
2518 2518
 CONFIG_GRACE_PERIOD=m
2519 2519
 CONFIG_LOCKD=m
2520 2520
 CONFIG_LOCKD_V4=y
2521
+CONFIG_NFS_ACL_SUPPORT=m
2521 2522
 CONFIG_NFS_COMMON=y
2522 2523
 CONFIG_SUNRPC=m
2523 2524
 CONFIG_SUNRPC_GSS=m
2524 2525
 CONFIG_SUNRPC_BACKCHANNEL=y
2525
-# CONFIG_SUNRPC_DEBUG is not set
2526
+CONFIG_SUNRPC_DEBUG=y
2526 2527
 # CONFIG_CEPH_FS is not set
2527 2528
 CONFIG_CIFS=m
2528 2529
 # CONFIG_CIFS_STATS is not set
... ...
@@ -2598,7 +2594,7 @@ CONFIG_TRACE_IRQFLAGS_SUPPORT=y
2598 2598
 #
2599 2599
 CONFIG_PRINTK_TIME=y
2600 2600
 CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
2601
-CONFIG_BOOT_PRINTK_DELAY=y
2601
+# CONFIG_BOOT_PRINTK_DELAY is not set
2602 2602
 CONFIG_DYNAMIC_DEBUG=y
2603 2603
 
2604 2604
 #
... ...
@@ -2616,10 +2612,9 @@ CONFIG_DEBUG_FS=y
2616 2616
 # CONFIG_HEADERS_CHECK is not set
2617 2617
 CONFIG_DEBUG_SECTION_MISMATCH=y
2618 2618
 CONFIG_ARCH_WANT_FRAME_POINTERS=y
2619
-CONFIG_FRAME_POINTER=y
2619
+# CONFIG_FRAME_POINTER is not set
2620 2620
 # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
2621
-CONFIG_MAGIC_SYSRQ=y
2622
-CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1
2621
+# CONFIG_MAGIC_SYSRQ is not set
2623 2622
 CONFIG_DEBUG_KERNEL=y
2624 2623
 
2625 2624
 #
... ...
@@ -2628,22 +2623,20 @@ CONFIG_DEBUG_KERNEL=y
2628 2628
 # CONFIG_PAGE_EXTENSION is not set
2629 2629
 # CONFIG_DEBUG_PAGEALLOC is not set
2630 2630
 # CONFIG_DEBUG_OBJECTS is not set
2631
-# CONFIG_SLUB_DEBUG_ON is not set
2632
-# CONFIG_SLUB_STATS is not set
2631
+# CONFIG_DEBUG_SLAB is not set
2633 2632
 CONFIG_HAVE_DEBUG_KMEMLEAK=y
2634 2633
 # CONFIG_DEBUG_KMEMLEAK is not set
2635 2634
 # CONFIG_DEBUG_STACK_USAGE is not set
2636 2635
 # CONFIG_DEBUG_VM is not set
2637 2636
 # CONFIG_DEBUG_VIRTUAL is not set
2638
-# CONFIG_DEBUG_MEMORY_INIT is not set
2637
+CONFIG_DEBUG_MEMORY_INIT=y
2639 2638
 # CONFIG_DEBUG_PER_CPU_MAPS is not set
2640 2639
 CONFIG_HAVE_DEBUG_STACKOVERFLOW=y
2641 2640
 # CONFIG_DEBUG_STACKOVERFLOW is not set
2642 2641
 CONFIG_HAVE_ARCH_KMEMCHECK=y
2643 2642
 # CONFIG_KMEMCHECK is not set
2644 2643
 CONFIG_HAVE_ARCH_KASAN=y
2645
-# CONFIG_KASAN is not set
2646
-CONFIG_DEBUG_SHIRQ=y
2644
+# CONFIG_DEBUG_SHIRQ is not set
2647 2645
 
2648 2646
 #
2649 2647
 # Debug Lockups and Hangs
... ...
@@ -2656,9 +2649,9 @@ CONFIG_PANIC_TIMEOUT=0
2656 2656
 CONFIG_SCHED_DEBUG=y
2657 2657
 CONFIG_SCHED_INFO=y
2658 2658
 CONFIG_SCHEDSTATS=y
2659
-CONFIG_SCHED_STACK_END_CHECK=y
2659
+# CONFIG_SCHED_STACK_END_CHECK is not set
2660 2660
 # CONFIG_DEBUG_TIMEKEEPING is not set
2661
-CONFIG_TIMER_STATS=y
2661
+# CONFIG_TIMER_STATS is not set
2662 2662
 
2663 2663
 #
2664 2664
 # Lock Debugging (spinlocks, mutexes, etc...)
... ...
@@ -2690,13 +2683,13 @@ CONFIG_DEBUG_BUGVERBOSE=y
2690 2690
 # CONFIG_TORTURE_TEST is not set
2691 2691
 # CONFIG_RCU_TORTURE_TEST is not set
2692 2692
 CONFIG_RCU_CPU_STALL_TIMEOUT=60
2693
-# CONFIG_RCU_CPU_STALL_INFO is not set
2693
+CONFIG_RCU_CPU_STALL_INFO=y
2694 2694
 # CONFIG_RCU_TRACE is not set
2695 2695
 # CONFIG_RCU_EQS_DEBUG is not set
2696 2696
 # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
2697 2697
 # CONFIG_NOTIFIER_ERROR_INJECTION is not set
2698 2698
 # CONFIG_FAULT_INJECTION is not set
2699
-CONFIG_LATENCYTOP=y
2699
+# CONFIG_LATENCYTOP is not set
2700 2700
 CONFIG_ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS=y
2701 2701
 # CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
2702 2702
 CONFIG_USER_STACKTRACE_SUPPORT=y
... ...
@@ -2738,14 +2731,14 @@ CONFIG_TRACING_SUPPORT=y
2738 2738
 CONFIG_HAVE_ARCH_KGDB=y
2739 2739
 # CONFIG_KGDB is not set
2740 2740
 CONFIG_STRICT_DEVMEM=y
2741
-CONFIG_X86_VERBOSE_BOOTUP=y
2741
+# CONFIG_X86_VERBOSE_BOOTUP is not set
2742 2742
 CONFIG_EARLY_PRINTK=y
2743 2743
 # CONFIG_EARLY_PRINTK_DBGP is not set
2744 2744
 # CONFIG_EARLY_PRINTK_EFI is not set
2745 2745
 # CONFIG_X86_PTDUMP is not set
2746 2746
 CONFIG_DEBUG_RODATA=y
2747 2747
 # CONFIG_DEBUG_RODATA_TEST is not set
2748
-CONFIG_DEBUG_SET_MODULE_RONX=y
2748
+# CONFIG_DEBUG_SET_MODULE_RONX is not set
2749 2749
 # CONFIG_DEBUG_NX_TEST is not set
2750 2750
 CONFIG_DOUBLEFAULT=y
2751 2751
 # CONFIG_DEBUG_TLBFLUSH is not set
... ...
@@ -2755,12 +2748,12 @@ CONFIG_IO_DELAY_TYPE_0X80=0
2755 2755
 CONFIG_IO_DELAY_TYPE_0XED=1
2756 2756
 CONFIG_IO_DELAY_TYPE_UDELAY=2
2757 2757
 CONFIG_IO_DELAY_TYPE_NONE=3
2758
-CONFIG_IO_DELAY_0X80=y
2758
+# CONFIG_IO_DELAY_0X80 is not set
2759 2759
 # CONFIG_IO_DELAY_0XED is not set
2760 2760
 # CONFIG_IO_DELAY_UDELAY is not set
2761
-# CONFIG_IO_DELAY_NONE is not set
2762
-CONFIG_DEFAULT_IO_DELAY_TYPE=0
2763
-CONFIG_DEBUG_BOOT_PARAMS=y
2761
+CONFIG_IO_DELAY_NONE=y
2762
+CONFIG_DEFAULT_IO_DELAY_TYPE=3
2763
+# CONFIG_DEBUG_BOOT_PARAMS is not set
2764 2764
 # CONFIG_CPA_DEBUG is not set
2765 2765
 # CONFIG_OPTIMIZE_INLINING is not set
2766 2766
 # CONFIG_DEBUG_ENTRY is not set
... ...
@@ -2,7 +2,7 @@
2 2
 Summary:       Kernel
3 3
 Name:          linux-esx
4 4
 Version:       4.2.0
5
-Release:       17%{?dist}
5
+Release:       18%{?dist}
6 6
 License:       GPLv2
7 7
 URL:           http://www.kernel.org/
8 8
 Group:         System Environment/Kernel
... ...
@@ -15,12 +15,16 @@ Patch0:        RDS-race-condition-on-unbound-socket-null-deref.patch
15 15
 Patch1:        KEYS-Fix-keyring-ref-leak-in-join_session_keyring.patch
16 16
 Patch2:        ovl-fix-permission-checking-for-setattr.patch
17 17
 Patch3:        double-tcp_mem-limits.patch
18
-Patch4:         veth-do-not-modify-ip_summed.patch
19
-Patch5:        01-clear-linux.patch
20
-Patch6:        02-pci-probe.patch
21
-Patch7:        03-poweroff.patch
22
-Patch8:        04-quiet-boot.patch
23
-Patch9:        05-pv-ops.patch
18
+Patch4:        veth-do-not-modify-ip_summed.patch
19
+Patch5:        sysctl-sched_weighted_cpuload_uses_rla.patch
20
+Patch6:        watchdog-Disable-watchdog-on-virtual-machines.patch
21
+Patch7:        SUNRPC-Ensure-that-we-wait-for-connections-to-comple.patch
22
+Patch8:        SUNRPC-Do-not-reuse-srcport-for-TIME_WAIT-socket.patch
23
+Patch9:        01-clear-linux.patch
24
+Patch10:       02-pci-probe.patch
25
+Patch11:       03-poweroff.patch
26
+Patch12:       04-quiet-boot.patch
27
+Patch13:       05-pv-ops.patch
24 28
 BuildRequires: bc 
25 29
 BuildRequires: kbd
26 30
 BuildRequires: kmod
... ...
@@ -65,6 +69,10 @@ The Linux package contains the Linux kernel doc files
65 65
 %patch7 -p1
66 66
 %patch8 -p1
67 67
 %patch9 -p1
68
+%patch10 -p1
69
+%patch11 -p1
70
+%patch12 -p1
71
+%patch13 -p1
68 72
 
69 73
 %build
70 74
 make mrproper
... ...
@@ -130,6 +138,10 @@ ln -sf %{name}-%{version}-%{release}.cfg /boot/photon.cfg
130 130
 /usr/src/%{name}-headers-%{version}-%{release}
131 131
 
132 132
 %changelog
133
+*   Thu Mar 24 2016 Alexey Makhalov <amakhalov@vmware.com> 4.2.0-18
134
+-   Apply photon8 config (+stack protector regular)
135
+-   pv-ops patch: added STA support
136
+-   Added patches from generic kernel
133 137
 *   Tue Mar 09 2016 Harish Udaiya Kumar <hudaiyakumar@vmware.com> 4.2.0-17
134 138
 -   Enable ACPI hotplug support in kernel config
135 139
 *   Sun Feb 14 2016 Alexey Makhalov <amakhalov@vmware.com> 4.2.0-16