- 27 May, 2009 2 commits
-
-
Keir Fraser authored
... splitting it into global nr_irqs (determined at boot time) and per- domain nr_pirqs (derived from nr_irqs and a possibly command line specified value, which probably should later become a per-domain config setting). This has the (desirable imo) side effect of reducing the size of struct hvm_irq_dpci from requiring an order-3 page to order-2 (on x86-64), which nevertheless still is too large. However, there is now a variable size bit array on the stack in pt_irq_time_out() - while for the moment this probably is okay, it certainly doesn't look nice. However, replacing this with a static (pre-)allocation also seems less than ideal, because that would require at least min(d->nr_pirqs, NR_VECTORS) bit arrays of d->nr_pirqs bits, since this bit array is used outside of the serialized code region in that function, and keeping the domain's event lock acquired across pirq_guest_eoi() doesn't look like a good idea either. The IRQ- and vector-indexed arrays hanging off struct hvm_irq_dpci could in fact be changed further to dynamically use the smaller of the two ranges for indexing, since there are other assumptions about a one-to-one relationship between IRQs and vectors here and elsewhere. Additionally, it seems to me that struct hvm_mirq_dpci_mapping's digl_list and gmsi fields could really be overlayed, which would yield significant savings since this structure gets always instanciated in form of d->nr_pirqs (as per the above could also be the smaller of this and NR_VECTORS) dimensioned arrays. Signed-off-by: Jan Beulich <jbeulich@novell.com>
-
Keir Fraser authored
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
-
- 26 May, 2009 14 commits
-
-
Keir Fraser authored
Intercept #UD and emulate SYSCALL/SYSENTER/SYSEXIT as necessary. Signed-off-by: Christoph Egger <Christoph.Egger@amd.com> Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
-
Keir Fraser authored
Benefits to blktap2 over the old version of blktap: * Isolation from xenstore - Blktap devices are now created directly on the linux dom0 command line, rather than being spawned in response to XenStore events. This is handy for debugging, makes blktap generally easier to work with, and is a step toward a generic user-level block device implementation that is not Xen-specific. * Improved tapdisk infrastructure: simpler request forwarding, new request scheduler, request merging, more efficient use of AIO. * Improved tapdisk error handling and memory management. No allocations on the block data path, IO retry logic to protect guests transient block device failures. This has been tested and is known to work on weird environments such as NFS soft mounts. * Pause and snapshot of live virtual disks (see xmsnap script). * VHD support. The VHD code in this release has been rigorously tested, and represents a very mature implementation of the VHD image format. * No more duplication of mechanism with blkback. The blktap kernel module has changed dramatically from the original blktap. Blkback is now always used to talk to Xen guests, blktap just presents a Linux gendisk that blkback can export. This is done while preserving the zero-copy data path from domU to physical device. These patches deprecate the old blktap code, which can hopefully be removed from the tree completely at some point in the future. Signed-off-by: Jake Wires <jake.wires@citrix.com> Signed-off-by: Dutch Meyer <dmeyer@cs.ubc.ca>
-
Keir Fraser authored
Tmem, when called from a tmem-capable (paravirtualized) guest, makes use of otherwise unutilized ("fallow") memory to create and manage pools of pages that can be accessed from the guest either as "ephemeral" pages or as "persistent" pages. In either case, the pages are not directly addressible by the guest, only copied to and fro via the tmem interface. Ephemeral pages are a nice place for a guest to put recently evicted clean pages that it might need again; these pages can be reclaimed synchronously by Xen for other guests or other uses. Persistent pages are a nice place for a guest to put "swap" pages to avoid sending them to disk. These pages retain data as long as the guest lives, but count against the guest memory allocation. Tmem pages may optionally be compressed and, in certain cases, can be shared between guests. Tmem also handles concurrency nicely and provides limited QoS settings to combat malicious DoS attempts. Save/restore and live migration support is not yet provided. Tmem is primarily targeted for an x86 64-bit hypervisor. On a 32-bit x86 hypervisor, it has limited functionality and testing due to limitations of the xen heap. Nearly all of tmem is architecture-independent; three routines remain to be ported to ia64 and it should work on that architecture too. It is also structured to be portable to non-Xen environments. Tmem defaults off (for now) and must be enabled with a "tmem" xen boot option (and does nothing unless a tmem-capable guest is running). The "tmem_compress" boot option enables compression which takes about 10x more CPU but approximately doubles the number of pages that can be stored. Tmem can be controlled via several "xm" commands and many interesting tmem statistics can be obtained. A README and internal specification will follow, but lots of useful prose about tmem, as well as Linux patches, can be found at http://oss.oracle.com/projects/tmem . Signed-off-by: Dan Magenheimer <dan.magenheimer@oracle.com>
-
Keir Fraser authored
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
-
Keir Fraser authored
From: Tim Deegan <tim.deegan@citrix.com> Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
-
Keir Fraser authored
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
-
Keir Fraser authored
Add an accessor to simplify accessing vslot if available, otherwise requested_vslot. Signed-off-by: Simon Horman <horms@verge.net.au>
-
Keir Fraser authored
In the case where a device is attached to an inactive domain and then removed before the domain is activated it won't have a vslot assigned, but it should still be valid to remove it. I don't think that there are any other cases where vslot can be invalid. Signed-off-by: Simon Horman <horms@verge.net.au>
-
Keir Fraser authored
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
-
Keir Fraser authored
This patch adds the option "superpages" to the domain configuration file. If it is set, the domain is populated using 2M pages. This code does not support fallback to small pages. If the domain can not be created with 2M pages, the create will fail. The patch also includes support for saving and restoring domains with the superpage flag set. However, if a domain has freed small pages within its physical page array and then extended the array, the restore will fill in those freed pages. It will then attempt to allocate more than its memory limit and will fail. This is significant because apparently Linux does this during boot, thus a freshly booted Linux image can not be saved and restored successfully. Signed-off-by: Dave McCracken <dcm@mccr.org>
-
Keir Fraser authored
In the efforts to clarify MiniOS license it came to my attention that few portions of MiniOS were taken from other GPL projects, one of them is the mktime implementation. This patch replaces the current GPL licensed mktime implementation with a different and BSD licensed version. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
-
Keir Fraser authored
Signed-off-by: KUWAMURA Shin'ya <kuwa@jp.fujitsu.com>
-
Keir Fraser authored
Allow 'file' based disks, that are blkback based disks, to be shared between the guest domain and the stubdom. It does so exploiting the same exception introduced in the previous patch "stubdoms phy disks sharing". Now we can remove the hack in stubdom-dm that forces "file" disks to be opened using blktap instead of blkback. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
-
Keir Fraser authored
The first and last sector as well as the sector number of the request is expressed in 512 bytes units, independently from the real sector size. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
-
- 21 May, 2009 1 commit
-
-
Keir Fraser authored
Signed-off-by: Keir Fraser <keir.fraser@eu.citrix.com>
-
- 20 May, 2009 7 commits
-
-
Keir Fraser authored
This is to properly handle SRAT rev 2 extended proximity domain values. Also a first step to eliminate the redundant definitions of ACPI provided table structures (Linux eliminated all of the duplicates from include/linux/acpi.h in 2.6.21). Portions based on a Linux patch from Kurt Garloff <garloff@suse.de> and Alexey Starikovskiy <astarikovskiy@suse.de>. IA64 build tested only. Signed-off-by: Jan Beulich <jbeulich@novell.com>
-
Keir Fraser authored
With the unification of the heaps, the pages freed from the Xen boot image now can also end up being allocated to a domain, and hence the respective aliases need handling when such pages get their cacheability attributes changed. Rather than establishing multiple mappings with non-WB attributes (which temporarily still can cause aliasing issues), simply unmap those pages from the Xen virtual space, and re-map them (to allow re- establishing of eventual large page mappings) when the cachability attribute for them gets restored to normal (WB). Signed-off-by: Jan Beulich <jbeulich@novell.com>
-
Keir Fraser authored
This is to avoid undue virtual address aliases in case the over-mapped pages happen to get allocated to a domain, and then get their cacheability attributes changed. At the same time, use 1Gb mappings if possible and reasonable. Signed-off-by: Jan Beulich <jbeulich@novell.com>
-
Keir Fraser authored
Signed-off-by: Jan Beulich <jbeulich@novell.com>
-
Keir Fraser authored
Cloning the similar construct from Linux, allowing to detect improper uses of ARRAY_SIZE() at build time. Signed-off-by: Jan Beulich <jbeulich@novell.com>
-
Keir Fraser authored
Remove *all* hardcoded "/etc/xen" strings in python code. Additionally, it removes pygrub_path from osdep.py. Its use has been replaced with auxbin.pathTo("pygrub"). Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
-
Keir Fraser authored
Cc: Zhai Edwin <edwin.zhai@intel.com> Cc: Masaki Kanno <kanno.masaki@jp.fujitsu.com> Cc: Dexuan Cui <dexuan.cui@intel.com> Signed-off-by: Simon Horman <horms@verge.net.au>
-
- 19 May, 2009 16 commits
-
-
Keir Fraser authored
structure when we don't hold the lock. Signed-off-by: Steven Smith <steven.smith@citrix.com>
-
Keir Fraser authored
Signed-off-by: Steven Smith <steven.smith@eu.citrix.com>
-
Keir Fraser authored
It currently doesn't even compile; with this patch applied, it compiles and didn't immediately explode as soon as I started a VM. I've not given it much testing beyond that, though. Signed-off-by: Steven Smith <steven.smith@citrix.com>
-
Keir Fraser authored
if they are to be linked with object files created by ocamlc and the minios kernel. This is needed to build stubdoms written in ocaml. Signed-off-by: Alex Zeffertt <alex.zeffertt@eu.citrix.com>
-
Keir Fraser authored
We could stub them out as unsupported, but we may as well implement them as they are very simple. Signed-off-by: Alex Zeffertt <alex.zeffertt@eu.citrix.com>
-
Keir Fraser authored
These are referenced by the libs that ocamlopt links xenstored to, but ought not actually get called. Signed-off-by: Alex Zeffertt <alex.zeffertt@eu.citrix.com>
-
Keir Fraser authored
To use, set CONFIG_OCAML_XENSTORED=y at build time. Then the build system will automatically download the remote repo to tools/ocaml-xenstored. Signed-off-by: Alex Zeffertt <alex.zeffertt@eu.citrix.com>
-
Keir Fraser authored
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
-
Keir Fraser authored
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
-
Keir Fraser authored
In some configurations, when dom0 is busy with I/O, it may take several minutes to complete all hotplug scripts required when a new domain is being created. As device create timeout is set to 100 seconds, users get "hotplug scripts not working" error instead of a new domain. This patch makes both DEVICE_CREATE_TIMEOUT and DEVICE_DESTROY_TIMEOUT configurable in xend-config.sxp to allow users to easily adapt hotplug timeouts to their environment. Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
-
Keir Fraser authored
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
-
Keir Fraser authored
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
-
Keir Fraser authored
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
-
Keir Fraser authored
From: Dulloor <dulloor@gmail.com> Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
-
Keir Fraser authored
This can greatly improve ssl relocation performance (to about 1/3 compared with buffersize 1024). Signed-off-by: Zhigang Wang <zhigang.x.wang@oracle.com>
-
Keir Fraser authored
For now hardcode /etc w/o a prefix as there are hardcoded config paths in the code which would break otherwise. Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
-