Keir Fraser [Wed, 16 Jan 2008 13:27:22 +0000 (13:27 +0000)]
x86: Check for XENFEAT_mmu_pt_update_preserve_ad before attempting to
use new mmu_update() hypercall. Older Xen versions are noisy if the
unsupported hypercall is attempted. Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Tue, 15 Jan 2008 14:35:41 +0000 (14:35 +0000)]
xen, x86: Allow mprotect() pte updates to be batched using new Xen
batched interface which preserves access/dirty pte flags. Signed-off-by: Bruce Rogers <brogers@novell.com>
Ian Campbell [Mon, 14 Jan 2008 15:52:23 +0000 (15:52 +0000)]
Avoid allocations causing swap activity on the resume path by allowing
such allocations to access the emergency pools otherwise a
save/restore/migration of a guest which is low on memory can
deadlock.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
We need TIF_RESTORE_SIGMASK in order to support ppoll() and pselect()
system calls. This patch originally came from Andi, and was based
heavily on David Howells' implementation of same on i386. I fixed a
typo which was causing do_signal() to use the wrong signal mask.
Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: Andi Kleen <ak@suse.de>
Alex Williamson [Tue, 11 Dec 2007 16:00:53 +0000 (09:00 -0700)]
[IA64] Fix CONFIG_XEN=no for gate page
The important part of this is to refrain from building .tmp_gate.o unless
CONFIG_XEN. However it also seems correct to make xen_gate_section in
vmlinux.lds.S depend on CONFIG_XEN as well. Tested that both builds work now.
Ian Campbell [Mon, 10 Dec 2007 15:04:49 +0000 (15:04 +0000)]
Setup memory zones in the same way as native instead of putting all
low memory in ZONE_DMA. There is no real benefit from diverging from
native in this respect.
Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
Keir Fraser [Thu, 6 Dec 2007 16:02:51 +0000 (16:02 +0000)]
linux/x86: Use cpu_relax() rather than barrier() in smp_call_function()
Short of getting an explanation for the odd difference to native, make
the code match native (and also, in the case of x86-64,
__smp_call_function_single()).
Keir Fraser [Thu, 6 Dec 2007 15:59:52 +0000 (15:59 +0000)]
linux/x86: fix initial GDT setup
cpu_gdt_init() can be static, can have its argument point to const,
and the number of descriptors should be calculated from one more than
the table's limit.
Keir Fraser [Tue, 4 Dec 2007 11:54:22 +0000 (11:54 +0000)]
[cpufreq] Correctly calculate load
The idle time of the system should be less than the wall time
of the system. The initial implementation incorrectly set
idle time to wall time when idle time was less than wall time,
instead of when idle time was more than wall time. Correct
this error.
Signed-off-by: Mark Langsdorf <mark.langsdorf@amd.com>
Keir Fraser [Tue, 4 Dec 2007 10:43:44 +0000 (10:43 +0000)]
[powernow] Fix Linux headers for architectural pstate driver
For some reason, the header changes necessary to support the
architectural pstate driver are not in linux-2.6.18-xen.hg.
Fix this oversight so the PowerNow! driver can compile.
Signed-off-by: Mark Langsdorf <mark.langsdorf@amd.com>
Bugzilla #1115 "Event channel port scanning unfair".
From: Scott Rixner <rixner@rice.edu>
From: Diego Ongaro <dieo.ongaro@rice.edu>
From: Alan L. Cox <alc@rice.edu> Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
Keir Fraser [Fri, 23 Nov 2007 16:26:56 +0000 (16:26 +0000)]
Netfront accelerator bug fix
In testing Xen for the upcoming 3.2.0 release, we've found a bug in
the netfront accelerator support where if an accelerator was removed
before it had properly initialised it wasn't handled correctly.
Keir Fraser [Thu, 22 Nov 2007 14:28:31 +0000 (14:28 +0000)]
linux/x86: don't build cstate.o and wakeup.o
The code in arch/i386/kernel/acpi/cstate.c is (at best) irrelevant for
VMs. The code in arch/{i386,x86_64}/kernel/acpi/wakeup.S is even
dangerous; while not being actively used, its inadvertant use would go
unnoticed.
Keir Fraser [Wed, 21 Nov 2007 09:41:11 +0000 (09:41 +0000)]
On pirq enable/disable we fully unregister/reregister with Xen. This
causes the underlying IRQ to be properly masked/unmasked, thus
avoiding deadlock scenarios if the IRQ is not EOIed.
Based on a patch by Chris Lalancette <clalance@redhat.com> Signed-off-by: Keir Fraser <keir.fraser@eu.citrix.com>
Keir Fraser [Tue, 20 Nov 2007 17:30:31 +0000 (17:30 +0000)]
Clean up gnttab interface and allow to grant iomem page access with
arbitrary cache attributes (x86 only). Signed-off-by: Kieran Mansley <kmansley@solarflare.com>
Keir Fraser [Fri, 16 Nov 2007 16:55:46 +0000 (16:55 +0000)]
pvfb: PVFB frontend can send bogus screen updates
The PVFB frontend can get confused and send a screen update to the
backend when the screen is actually clean. Such an update asks for
the impossible rectangle (x1, x2, y1, y2) = (INT_MAX, 0, INT_MAX, 0).
Fix by setting the dirty flag in the obvious place: when the dirty
rectangle is grown.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Keir Fraser [Sat, 10 Nov 2007 10:18:28 +0000 (10:18 +0000)]
cpufreq: Fix the ondemand driver for Xen. No 64-bit division allowed
in a 32-bit kernel except in special circumstances. Signed-off-by: Keir Fraser <keir@xensource.com>
Alex Williamson [Tue, 6 Nov 2007 21:11:43 +0000 (14:11 -0700)]
[IA64] Re-add parens lost when paravirtualized
Changeset a08261650b8a lost a set of parens for likely:
- if (likely((pci_addr & ~to_pci_dev(dev)->dma_mask) == 0)) {
+ if (likely(pci_addr & ~to_pci_dev(dev)->dma_mask) == 0 &&
+ !range_straddles_page_boundary(addr, size)) {
These could go back around the original test or surrouding both.
To facilitate the fast path, I think it makes sense to include both.
Keir Fraser [Mon, 5 Nov 2007 15:02:50 +0000 (15:02 +0000)]
netback accel: locking bug fix
There was a call to xenbus_read() while a spinlock was held, and as
xenbus_read() can block this was clearly wrong. The spinlock is
replaced by a mutex.
Keir Fraser [Mon, 5 Nov 2007 10:42:26 +0000 (10:42 +0000)]
cpufreq: Linux support for the architectural pstate driver
With the third generation Opteron parts, AMD switched to an
architecturally defined interface for PowerNow! that uses
different MSRs than previous versions.
This patch brings the PowerNow! driver up to match the mainline
Linux driver and provide support for all AMD parts that use
or will use the architectural pstate interface.
It also removes a WARN_ON statement in kernel/cpu.c that
highlights a cpu hotplug locking issue in the ondemand cpufreq
governor. It is only a warning message and the scope of
the changes to properly surpress it is a bit large to add to
the Xen 2.6.18.8 kernel. I will backport them if people
think that's a better idea.
Signed-off-by: Mark Langsdorf <mark.langsdorf@amd.com>
Keir Fraser [Mon, 5 Nov 2007 10:40:31 +0000 (10:40 +0000)]
cpufreq: minor clean-ups for ondemand governor on Xen.
The cpufreq ondemand governor patch for Xen included some out
of order code and some test code; re-order the code to assign
a variable before passing it to a function and remove the
test code.
Signed-off-by: Mark Langsdorf <mark.langsdorf@amd.com>