pfn_pte_ma() constructors, rather than splicing together
ptes manually. Not only is this cleaner, it also ensures
that the NX/XD bit is safely masked off on systems that do
not support it.
Signed-off-by: Keir Fraser <keir@xensource.com>
were allocated with xen_create_contiguous_region(). Such areas
do not require bounce buffers (swiotlb).
Signed-off-by: Keir Fraser <keir@xensource.com>
I don't see the problem on machine that I typically use, but I found and
fixed the problem on a big machine. It was causing a stack overflow. If
you look at the current code, it's a bit dangerous, see => part. This
patch fixes it.
From: "Nakajima, Jun" <jun.nakajima@intel.com>
Signed-off-by: ian@xensource.com
boot (but Linux does boot fine). The native Linux (both x86 and x86_86)
already has:
#define E820MAX 128 /* number of entries in E820MAP */
Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
There may be a deeper underlying problem w.r.t pagetable
initialisation at start of day, but this simple fix is
a good workaround until we have time to investigate
properly.
Signed-off-by: Keir Fraser <keir@xensource.com>
Needed for migration to localhost and migration between hosts with
a shared/distributed xenstore.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Reseeding on every VIF doesn;t work as timeofday doesn't
change quickly enough.
Signed-off-by: Jim Dykman <dykman@us.ibm.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
to not actually do its job properly. This requires us to
move clearing of VCPUF_running to be protected by the
scheduler lock.
Signed-off-by: Keir Fraser <keir@xensource.com>
and multi-page DMA accesses. This is based on a preliminary patch
from Suresh Siddha at Intel.
Signed-off-by: Keir Fraser <keir@xensource.com>
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
This patch adds grant table support to the block tap. The AIO support
introduced in patch 9f0eff879d8913a824280cf67658a530c80e8424 still
works -- The tap code maps a granted page twice, once in kernel and
once in user. The kernel page is patched into the p2m table and pages
added to the user vm_area are mapped to the appropriate underlying
struct pages using the VM_FOREIGN hooks in get_user_pages().
Comparing block IO from dom0 to the existing block backend, and to the
tap managing the same partition as the BE from user space with AIO, I
get the following performance:
Version 1.03 ------Sequential Output------ --Sequential Input- --Random-
-Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
xen0 2G 31198 95 56818 8 20967 2 28415 77 59595 4 264.9 0
xenU-blkbe2cpuGT 2G 31157 96 54026 10 25585 4 30664 90 64919 7 292.7 0
xenU-blktp2cpuGT 2G 32313 97 54217 8 20950 3 28117 87 65924 4 191.8 0
Signed-off-by: andrew.warfield@cl.cam.ac.uk
list of domains causing a SEGV. This is usually characterized by a
rapid number of creations/destructions. The attached patch fixes this.
1) Fix uninitialized next pointer. This could sometimes cause xenconsoled to
SEGV on an invalid domain pointer
2) Fix race condition in iterating domain list where removing a domain in a
callback could lead to the iterators becoming invalid.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>