Change-Id: I8c7d7f63b1deca18132edef5047415eec631381b
Reviewed-on: http://photon-jenkins.eng.vmware.com/106
Tested-by: jenkins-photon <wangnan2015@hotmail.com>
Reviewed-by: Sharath George
... | ... |
@@ -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/5] Measure correct boot time. |
|
4 |
+Subject: [PATCH 1/6] 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/5] PV io_delay for VMware guest. |
|
101 |
+Subject: [PATCH 2/6] 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/5] Improved tsc based sched_clock & clocksource. |
|
152 |
+Subject: [PATCH 3/6] 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/5] Move read_boot_clock64 into pv_time_ops. |
|
330 |
+Subject: [PATCH 4/6] 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/5] Fix clocksource_vmware issue in VM version <= 10 |
|
638 |
+Subject: [PATCH 5/6] Fix clocksource_vmware issue in VM version <= 10 |
|
639 | 639 |
|
640 | 640 |
--- |
641 | 641 |
arch/x86/kernel/cpu/vmware.c | 48 +++++++++++++++++++++++++++++++++++++++++--- |
... | ... |
@@ -729,3 +729,93 @@ index 1bf1fe3..0b89bb9 100644 |
729 | 729 |
-- |
730 | 730 |
1.9.1 |
731 | 731 |
|
732 |
+ |
|
733 |
+From 245c6ff168fabde177b5b6023356b6005b0efbef Mon Sep 17 00:00:00 2001 |
|
734 |
+From: Alexey Makhalov <amakhalov@vmware.com> |
|
735 |
+Date: Tue, 10 Nov 2015 11:46:57 +0000 |
|
736 |
+Subject: [PATCH 6/6] Get lapic timer frequency from HV, skip calibration |
|
737 |
+ |
|
738 |
+--- |
|
739 |
+ arch/x86/kernel/cpu/vmware.c | 48 +++++--------------------------------------- |
|
740 |
+ 1 file changed, 5 insertions(+), 43 deletions(-) |
|
741 |
+ |
|
742 |
+diff --git a/arch/x86/kernel/cpu/vmware.c b/arch/x86/kernel/cpu/vmware.c |
|
743 |
+index 0b89bb9..b16618b 100644 |
|
744 |
+--- a/arch/x86/kernel/cpu/vmware.c |
|
745 |
+@@ -96,45 +96,11 @@ static struct clocksource clocksource_vmware = { |
|
746 |
+ }; |
|
747 |
+ |
|
748 |
+ #ifdef CONFIG_VMWARE_ONLY |
|
749 |
+-/* |
|
750 |
+- * clocksource_vmware_periodic - is a temporary clocksource only for |
|
751 |
+- * early boot initialization. |
|
752 |
+- * Hack to avoid infinite looping in calibrate_APIC_clock() when |
|
753 |
+- * tsc_deadline_timer is not supported by hypervisor (VM version <= 10) |
|
754 |
+- * calibrate_APIC_clock() relies on _periodic_ timer! |
|
755 |
+- * In that case we do not need to use clocksource that is valid for |
|
756 |
+- * hres/oneshot timer. |
|
757 |
+- */ |
|
758 |
+-static struct clocksource __initdata clocksource_vmware_periodic = { |
|
759 |
+- .name = "vmware-clock-periodic", |
|
760 |
+- .read = vmware_clock_get_cycles, |
|
761 |
+- .rating = 100, |
|
762 |
+- .mask = CLOCKSOURCE_MASK(64), |
|
763 |
+-}; |
|
764 |
+- |
|
765 |
+-static struct clocksource __initdata * initial_clocksource; |
|
766 |
+- |
|
767 |
+-/* |
|
768 |
+- * clocksource_vmware_register |
|
769 |
+- * |
|
770 |
+- * Time to register real clocksource. It will be activated in |
|
771 |
+- * clocksource_done_booting(). |
|
772 |
+- */ |
|
773 |
+-static int __init clocksource_vmware_register(void) |
|
774 |
+-{ |
|
775 |
+- if (!boot_cpu_has(X86_FEATURE_TSC_DEADLINE_TIMER)) { |
|
776 |
+- clocksource_register_khz(&clocksource_vmware, vtsc_khz); |
|
777 |
+- clocksource_unregister(&clocksource_vmware_periodic); |
|
778 |
+- } |
|
779 |
+- return 0; |
|
780 |
+-} |
|
781 |
+-subsys_initcall(clocksource_vmware_register); |
|
782 |
+- |
|
783 |
+ /* We want to use clocksource_vmware from the beginning to avoid drifting in |
|
784 |
+ monotonic clock */ |
|
785 |
+ struct clocksource * __init clocksource_default_clock(void) |
|
786 |
+ { |
|
787 |
+- return initial_clocksource; |
|
788 |
++ return &clocksource_vmware; |
|
789 |
+ } |
|
790 |
+ #endif |
|
791 |
+ |
|
792 |
+@@ -197,21 +163,17 @@ static void __init vmware_platform_setup(void) |
|
793 |
+ printk(KERN_INFO "Pre Kernel boot time: %dms\n", |
|
794 |
+ (unsigned int) (tsc_at_head / vtsc_khz)); |
|
795 |
+ |
|
796 |
++#ifdef CONFIG_X86_LOCAL_APIC |
|
797 |
++ /* Skip lapic calibration since we know bus frequency. */ |
|
798 |
++ lapic_timer_frequency = ecx; |
|
799 |
++#endif |
|
800 |
+ vmware_cyc2ns.cyc2ns_mul = |
|
801 |
+ DIV_ROUND_CLOSEST(NSEC_PER_MSEC << CYC2NS_SCALE_FACTOR, |
|
802 |
+ vtsc_khz); |
|
803 |
+ vmware_cyc2ns.cyc2ns_shift = CYC2NS_SCALE_FACTOR; |
|
804 |
+ vmware_cyc2ns.cyc2ns_offset = tsc_at_head; |
|
805 |
+ |
|
806 |
+-#ifdef CONFIG_VMWARE_ONLY |
|
807 |
+- if (!boot_cpu_has(X86_FEATURE_TSC_DEADLINE_TIMER)) |
|
808 |
+- initial_clocksource = &clocksource_vmware_periodic; |
|
809 |
+- else |
|
810 |
+- initial_clocksource = &clocksource_vmware; |
|
811 |
+- clocksource_register_khz(initial_clocksource, vtsc_khz); |
|
812 |
+-#else |
|
813 |
+ clocksource_register_khz(&clocksource_vmware, vtsc_khz); |
|
814 |
+-#endif |
|
815 |
+ |
|
816 |
+ paravirt_ops_setup(); |
|
817 |
+ } |
|
818 |
+-- |
|
819 |
+1.9.1 |
|
820 |
+ |
... | ... |
@@ -1436,7 +1436,7 @@ CONFIG_FUSION_MAX_SGE=128 |
1436 | 1436 |
CONFIG_NETDEVICES=y |
1437 | 1437 |
CONFIG_NET_CORE=y |
1438 | 1438 |
# CONFIG_BONDING is not set |
1439 |
-# CONFIG_DUMMY is not set |
|
1439 |
+CONFIG_DUMMY=m |
|
1440 | 1440 |
# CONFIG_EQUALIZER is not set |
1441 | 1441 |
# CONFIG_NET_FC is not set |
1442 | 1442 |
# CONFIG_NET_TEAM is not set |
... | ... |
@@ -2,7 +2,7 @@ |
2 | 2 |
Summary: Kernel |
3 | 3 |
Name: linux-esx |
4 | 4 |
Version: 4.2.0 |
5 |
-Release: 6%{?dist} |
|
5 |
+Release: 7%{?dist} |
|
6 | 6 |
License: GPLv2 |
7 | 7 |
URL: http://www.kernel.org/ |
8 | 8 |
Group: System Environment/Kernel |
... | ... |
@@ -120,8 +120,11 @@ ln -sf %{name}-%{version}-%{release}.cfg /boot/photon.cfg |
120 | 120 |
/usr/src/%{name}-headers-%{version}-%{release} |
121 | 121 |
|
122 | 122 |
%changelog |
123 |
+* Tue Nov 10 2015 Alexey Makhalov <amakhalov@vmware.com> 4.2.0-7 |
|
124 |
+- Get LAPIC timer frequency from HV, skip boot time calibration. |
|
125 |
+- .config: + dummy net driver (M). |
|
123 | 126 |
* Mon Nov 09 2015 Alexey Makhalov <amakhalov@vmware.com> 4.2.0-6 |
124 |
-- Rename subpackage dev -> devel |
|
127 |
+- Rename subpackage dev -> devel. |
|
125 | 128 |
- Added the build essential files in the devel subpackage. |
126 | 129 |
- .config: added genede driver module. |
127 | 130 |
* Wed Oct 28 2015 Alexey Makhalov <amakhalov@vmware.com> 4.2.0-5 |