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>
Keir Fraser [Mon, 29 Oct 2007 17:43:33 +0000 (17:43 +0000)]
cpufreq: Xen support for the ondemand governor in Linux dom0
Modify the cpufreq ondemand governor so that it can get idle and
total nsecs from the Xen hypervisor. Xen uses nsecs to measure
idle time, while Linux uses ticks. Other than accounting for
that difference, use the same algorithm to calculate idle time.
Signed-off-by: Mark Langsdorf <mark.langsdorf@amd.com>
Keir Fraser [Thu, 25 Oct 2007 15:15:18 +0000 (16:15 +0100)]
linux: panic/shutdown handling adjustments
Prevent interrupts (and hence possibly scheduler operations) from
occuring on (against) a CPU after removing it from cpu_online_map
during panic/shutdown.
(Background: I found it quite annoying to see scheduler related
badness or BUG messages after a panic, eventually even leading to
important information scrolling off the screen.)
Keir Fraser [Wed, 24 Oct 2007 16:17:09 +0000 (17:17 +0100)]
linux/x86: use sysenter/syscall for 32-bit apps on 64-bit Xen
for both 32-bit apps on 64-bit kernels and 32bit kernels.
Also removing the needless re-enabling of events on x86-64's 64-bit
syscall path as well as it's 32-bit int80 path (the latter accompanied
by telling Xen not to disable them in the first place).
Signed-off-by: Jan Beulich <jbeulich@novell.com> Signed-off-by: Keir Fraser <keir@xensource.com>
Ian Campbell [Wed, 17 Oct 2007 08:24:03 +0000 (09:24 +0100)]
xfs: eagerly remove vmap mappings to avoid upsetting Xen
XFS leaves stray mappings around when it vmaps memory to make it
virtually contigious. This upsets Xen if one of those pages is being
recycled into a pagetable, since it finds an extra writable mapping of
the page.
This patch solves the problem in a brute force way, by making XFS
always eagerly unmap its mappings. David Chinner says this shouldn't
have any performance impact on filesystems with default block sizes;
it will only affect filesystems with large block sizes.
Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com> Acked-by: David Chinner <dgc@sgi.com> Cc: Nick Piggin <nickpiggin@yahoo.com.au> Cc: XFS masters <xfs-masters@oss.sgi.com> Cc: Stable kernel <stable@kernel.org> Cc: Morten =?utf-8?q?B=C3=B8geskov?= <xen-users@morten.bogeskov.dk> Cc: Mark Williamson <mark.williamson@cl.cam.ac.uk>
---
fs/xfs/linux-2.6/xfs_buf.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
Keir Fraser [Fri, 12 Oct 2007 11:08:17 +0000 (12:08 +0100)]
linux/x86: retrieve VESA capabilities in dom0
Also, move some more common code to dom0_init_screen_info(). Signed-off-by: Jan Beulich <jbeulich@novell.com>
Keir Fraser [Wed, 10 Oct 2007 10:32:15 +0000 (11:32 +0100)]
Check that awk supports 'gensub' command.
The linux-2.6.18-xen.hg/scripts/Makefile.xen.awk script depends on the
GNU AWK-specific function "gensub". If another awk is used (e.g.,
Debian installs mawk by default), the lack of gensub trickles down to
cause the -xen.c files to not be compiled. This was time-consuming to
track. So we should check that the awk program supports 'gensub'.
Signed-off-by: Michael Abd-El-Malek <mabdelmalek@cmu.edu>