Improved lazy state switching -- flush the state switch through on the
first flush IPI received. This avoids needing to receive any further
ones at little cost (needed to flush TLB anyway). The main extra cost
will be that, when switching back to a guest, we won't save the
ctxt switch. But we may have saved an unbounded number of IPI flushes.
Signed-off-by: Keir Fraser <keir@xensource.com>
Clean up blkback data path -- each scatter-gather request maps to
a contiguous extent of a single disk (we no longer directly create
VBDs out of multiple physical extents but leave that kind of thing to
LVM). Also the 2.6 datapath creates the smallest number of bio's that
it can, to avoid unnecessary remerging in the lower block layers.
Signed-off-by: Keir Fraser <keir@xensource.com>
Merge freefall.cl.cam.ac.uk:/auto/groups/xeno-xenod/BK/xen-2.0-testing.bk
into freefall.cl.cam.ac.uk:/auto/groups/xeno/users/iap10/xeno-clone/xen-2.0-testing.bk
Make default CPU placement of domains a bit smarter on systems with
hyperthreading: only dom0 gets to use hyperthreading by default, we
effectively ignore it on all other CPUs by allocating domains to
the same hyperthread. If you don't like this, use 'xm pincpu' to
change it. [note: we probably need to make pincpu more expressive,
providing a list of CPUs that the domain can be scheduled on.]
Signed-off-by: ian@xensource.com
Clean up ctrl msg handling in Linux. Remove VBD_GROW/SHRINK -- a VBD
now maps onto a single complete major/minor that is specified at
VBD_CREATE time. Also improve blkdev request_queue unplugging in the
2.6 backend driver to promote better batching.
Signed-off-by: Keir Fraser <keir@xensource.com>
Split mmu_update() hypercall into mmu_update() and mmuext_op().
All MMUEXT_* ops are now done via the latter hypercall. This allows
more arguments to be passed in a nicer way to mmuext operations.
Linux 2.4, 2.6 and control tools all use the new interface. The BSDs
will need some work, but shouldn't be too hard (and they can be moved
to writable pagetables at the same time :-) ).
Signed-off-by: Keir Fraser <keir@xensource.com>
[PATCH] ioemu-x86-64-fixes.patch
Make ioemu compile on x86-64.
Signed-off-by: Jerone Young <jyoung5@us.ibm.com>
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
Various bug fixes (thanks to Harry Butterworth for spotting these), including
making disconnects behave correctly. Hotplug seems to work well now.
Also: experimental support for handling suspend / migration gracefully (can't
test this until it works in the rest of the -unstable tree).
Fix lazy state switching when context-switching to/from the idle
domain. Track which domain's state is on each CPU and, for each
domain, which CPUs are running on its page tables.
Signed-off-by: Keir Fraser <keir@xensource.com>
Lazy pagetable and LDT switching was unsafe -- do them synchronously
for now, and maybe think about batching across switch_mm and switch_to
in the future (particularly for 2.6, which we care about more than 2.4).
Signed-off-by: Keir Fraser <keir@xensource.com>
Remove per-cpu batch queues for mmu updates and multicalls. Instead
batching is done locally within functions that most benefit.
Signed-off-by: Keir Fraser <keir@xensource.com>
Added the mbootpack tool, which packages multiboot boot files and
disguises them as a linux bzImage. Useful for booting Xen using
pxelinux, or another linux-only bootloader.
Signed-off-by: Tim Deegan <Tim.Deegan@cl.cam.ac.uk>
Use fwrite() to write variable string in xfrd, to make it 64-bit safe.
Signed-off-by: Jerone Young <jyoung5@us.ibm.com>
Signed-off-by: Keir Fraser <keir@xensource.com>