a428832eb0
xl-check-for-libvirt-managed-domain.patch - bnc#878841 - VUL-0: XSA-96: Xen: Vulnerabilities in HVM MSI injection 538dcada-x86-HVM-eliminate-vulnerabilities-from-hvm_inject_msi.patch - Upstream patches from Jan 537cd0b0-hvmloader-also-cover-PCI-MMIO-ranges-above-4G-with-UC-MTRR-ranges.patch 537cd0cc-hvmloader-PA-range-0xfc000000-0xffffffff-should-be-UC.patch 5383167d-ACPI-ERST-fix-table-mapping.patch 5383175e-VT-d-fix-mask-applied-to-DMIBAR-in-desktop-chipset-XSA-59-workaround.patch 53859549-AMD-IOMMU-don-t-free-page-table-prematurely.patch 5385956b-x86-don-t-use-VA-for-cache-flush-when-also-flushing-TLB.patch 53859956-timers-set-the-deadline-more-accurately.patch OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=318
30 lines
1.1 KiB
Diff
30 lines
1.1 KiB
Diff
# Commit 054b6dfb61eab00d86ddd5d0ac508f5302da0d52
|
|
# Date 2014-05-28 10:07:50 +0200
|
|
# Author Ross Lagerwall <ross.lagerwall@citrix.com>
|
|
# Committer Jan Beulich <jbeulich@suse.com>
|
|
timers: set the deadline more accurately
|
|
|
|
Program the timer to the deadline of the closest timer if it is further
|
|
than 50us ahead, otherwise set it 50us ahead. This way a single event
|
|
fires on time rather than 50us late (as it would have previously) while
|
|
still preventing too many timer wakeups in the case of having many
|
|
timers scheduled close together.
|
|
|
|
(where 50us is the timer_slop)
|
|
|
|
Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
|
|
|
|
--- a/xen/common/timer.c
|
|
+++ b/xen/common/timer.c
|
|
@@ -492,8 +492,9 @@ static void timer_softirq_action(void)
|
|
deadline = heap[1]->expires;
|
|
if ( (ts->list != NULL) && (ts->list->expires < deadline) )
|
|
deadline = ts->list->expires;
|
|
+ now = NOW();
|
|
this_cpu(timer_deadline) =
|
|
- (deadline == STIME_MAX) ? 0 : deadline + timer_slop;
|
|
+ (deadline == STIME_MAX) ? 0 : MAX(deadline, now + timer_slop);
|
|
|
|
if ( !reprogram_timer(this_cpu(timer_deadline)) )
|
|
raise_softirq(TIMER_SOFTIRQ);
|