On Wed, 2011-06-08 at 09:57 +0100, Fabio Fantoni wrote:
> Il 06/06/2011 17:14, Stefano Stabellini ha scritto:
> > After Fabio's reply I think that the real intention was to introduce a
> > new config file to set the default value of most options, across
> > multiple VMs, in fact replacing all the libxl_*_init functions.
> > The xend equivalent would be xend-config.sxp.
> Yes, as described in the file added, if value exist in default config
> take that takes the place of the core in default.
> Here the patch improved and with remove of disk and shadow_memory not
> necessary on global defaults.
A bunch of the others (kernel, ramdisk, pci pass through etc) seem like
unlikely candidates for a global default as well. In fact the vast
majority of its contents seems to fall into that class, it certain far
outstrips anything which you could put xend-config.sxp.
Please go through the file and evaluate each setting individually and
decide if it makes sense for it to have a default, please don't simply
remove each one as I point them out to you on each iteration.
Perhaps this file should just be empty in the default install? User will
come to know that they can put anything they could put in a standard cfg
file here to make it a global setting.
I'm slightly wary of allowing all settings to be set in the default
config, in many cases it seems a bit like giving the admin far more rope
than they need. But if the alternative is to manually decide for each
setting as it is added then this seems like the easiest way...
> # HG changeset patch
> # User Fabio Fantoni
> # Date 1307522478 -7200
> # Node ID b6d0a66134d8fda3ac7a317b40862d0460096b12
> # Parent c231a26a29327aa3c737170e04c738289be2d309
> Add xl domUs default configuration file, must be improved and
> implemented in the core xl
It's hard to see or evaluate the utility of this patch without the xl
side to make use of it. In fact it seems rather pointless without it.
> Signed-off-by: Fabio Fantoni <fabio.fantoni@xxxxxxxxxx>
>
> diff -r c231a26a2932 -r b6d0a66134d8 tools/examples/Makefile
> --- a/tools/examples/Makefile Mon Jun 06 09:56:08 2011 +0100
> +++ b/tools/examples/Makefile Wed Jun 08 10:41:18 2011 +0200
> @@ -22,6 +22,7 @@
> XEN_CONFIGS += xend-pci-quirks.sxp
> XEN_CONFIGS += xend-pci-permissive.sxp
> XEN_CONFIGS += xl.conf
> +XEN_CONFIGS += xl-domu-default.conf
> XEN_CONFIGS += cpupool
>
> .PHONY: all
> diff -r c231a26a2932 -r b6d0a66134d8 tools/examples/xl-domu-default.conf
> --- /dev/null Thu Jan 01 00:00:00 1970 +0000
> +++ b/tools/examples/xl-domu-default.conf Wed Jun 08 10:41:18 2011 +0200
> @@ -0,0 +1,230 @@
> +#============================================================================
> +# Xl configuration default for domU setting on 'xl create'.
> +# This conf sets the defaults parameters used when a domain is created
> +# using 'xl create' instead those in the core if not existing in the
> +# domU config specific.
> +#============================================================================
> +
> +#----------------------------------------------------------------------------
> +# Kernel image file.
> +# kernel = "/path/to/domU/kernel"
> +
> +# Ramdisk.
> +# ramdisk = "/boot/initrd.gz"
> +
> +# The domain build function. HVM domain uses 'hvm'.
> +# builder='hvm'
> +
> +# Initial memory allocation (in megabytes) for the new domain.
> +#
> +# WARNING: Creating a domain with insufficient memory may cause out of
> +# memory errors. The domain needs enough memory to boot kernel
> +# and modules. Allocating less than 32MBs is not recommended.
> +# memory = 128
> +
> +#-----------------------------------------------------------------------------
> +# The number of cpus guest platform has, default=1
> +# vcpus=1
> +
> +# Enable/disable HVM guest PAE, default=1 (enabled)
> +# pae=1
> +
> +# Enable/disable HVM guest ACPI, default=1 (enabled)
> +# acpi=1
> +
> +# Enable/disable HVM APIC mode, default=1 (enabled)
> +# Note that this option is ignored if vcpus > 1
> +# apic=1
> +
> +# Enable/disable HVM guest ACPI, default=1 (enabled)
> +# acpi=1
> +
> +# Enable/disable HVM guest nx, default=1
> +# nx=1
> +
> +# Enable/disable HVM guest viridian, default=0
> +# viridian=1
> +
> +# Enable/disable HVM guest hpet, default=1
> +# hpet=1
> +
> +# Enable/disable HVM guest vpt_align, default=1
> +# vpt_align=1
> +
> +# Enable/disable HVM guest nestedhvm, default=0
> +# nestedhvm=1
> +
> +# HVM guest video ram in megabyte, default 8
> +# videoram=8
> +
> +# HVM guest timer_mode, default=1
> +# timer_mode=1
> +
> +#----------------------------------------------------------------------------
> +# Network configuration
> +# type=ioemu specify the NIC is an ioemu device not netfront
> +# vif = [ 'type=ioemu, bridge=xenbr0' ]
> +
> +#----------------------------------------------------------------------------
> +# Configure the behaviour when a domain exits. There are three 'reasons'
> +# for a domain to stop: poweroff, reboot, and crash. For each of these you
> +# may specify:
> +#
> +# "destroy", meaning that the domain is cleaned up as normal;
> +# "restart", meaning that a new domain is started in place of
> the old
> +# one;
> +# "preserve", meaning that no clean-up is done until the domain is
> +# manually destroyed (using xm destroy, for
> example); or
> +# "rename-restart", meaning that the old domain is not cleaned up, but is
> +# renamed and a new domain started in its place.
> +#
> +# In the event a domain stops due to a crash, you have the additional
> options:
> +#
> +# "coredump-destroy", meaning dump the crashed domain's core and then
> destroy;
> +# "coredump-restart', meaning dump the crashed domain's core and the
> restart.
> +#
> +# The default is
> +#
> +# on_poweroff = 'destroy'
> +# on_reboot = 'restart'
> +# on_crash = 'restart'
> +
> +# on_poweroff = 'destroy'
> +# on_reboot = 'restart'
> +# on_crash = 'restart'
> +# on_watchdog = 'destroy'
> +
> +#============================================================================
> +# boot on floppy (a), hard disk (c), Network (n) or CD-ROM (d)
> +# default: hard disk, cd-rom, floppy
> +# boot="cd"
> +
> +#----------------------------------------------------------------------------
> +# enable SDL library for graphics, default = 0
> +# sdl=0
> +
> +#----------------------------------------------------------------------------
> +# enable OpenGL for texture rendering inside the SDL window, default = 0
> +# valid only if sdl is enabled.
> +# opengl=0
> +
> +#----------------------------------------------------------------------------
> +# enable VNC library for graphics, default = 1
> +# vnc=1
> +
> +#----------------------------------------------------------------------------
> +# address that should be listened on for the VNC server if vnc is set.
> +# vnclisten="127.0.0.1"
> +
> +#----------------------------------------------------------------------------
> +# set VNC display number, default = domid
> +# vncdisplay=1
> +
> +#----------------------------------------------------------------------------
> +# try to find an unused port for the VNC server, default = 1
> +# vncunused=1
> +
> +#----------------------------------------------------------------------------
> +# set password for domain's VNC console
> +# default is depents on vncpasswd in xend-config.sxp
> +# vncpasswd=''
> +
> +#----------------------------------------------------------------------------
> +# no graphics, use serial port
> +# nographic=0
> +
> +#----------------------------------------------------------------------------
> +# enable stdvga, default = 0 (use cirrus logic device model)
> +# stdvga=0
> +
> +#-----------------------------------------------------------------------------
> +# serial port re-direct to pty deivce, /dev/pts/n
> +# then xm console or minicom can connect
> +# serial='pty'
> +
> +# For disable migrate
> +# nomigrate=1
> +
> +#----------------------------------------------------------------------------
> +# tsc_mode : TSC mode (0=default, 1=native TSC, 2=never emulate,
> 3=pvrdtscp)
> +# emulate TSC provides synced TSC for all vcpus, but lose perfomrance.
> +# native TSC leverages hardware's TSC(no perf loss), but vcpu's TSC
> may lose
> +# sync due to hardware's unreliable/unsynced TSC between CPUs.
> +# default intelligently uses native TSC on machines where it is safe, but
> +# switches to emulated if necessary after save/restore/migration
> +# pvrdtscp is for intelligent apps that use special Xen-only
> paravirtualized
> +# cpuid instructions to obtain offset/scaling/migration info and
> maximize
> +# performance within pools of machines that support the rdtscp
> instruction
> +# tsc_mode=0
> +
> +#-----------------------------------------------------------------------------
> +# enable sound card support, [sb16|es1370|all|..,..], default none
> +# soundhw='sb16'
> +
> +#-----------------------------------------------------------------------------
> +# Enable USB support (specific devices specified at runtime through the
> +# monitor window)
> +# usb=1
> +
> +# Enable USB mouse support (only enable one of the following, `mouse' for
> +# PS/2 protocol relative mouse, `tablet' for
> +# absolute mouse)
> +# usbdevice='mouse'
> +# usbdevice='tablet'
> +
> +#-----------------------------------------------------------------------------
> +# Set keyboard layout, default is en-us keyboard.
> +# keymap='en-us'
> +
> +#-----------------------------------------------------------------------------
> +# Enable/disable xen platform PCI device, default=1 (enabled)
> +# xen_platform_pci=1
> +
> +#-----------------------------------------------------------------------------
> +# Configure passthrough PCI{,-X,e} devices:
> +#
> +# pci=[ '[SSSS:]BB:DD.F[,option1[,option2[...]]]', ... ]
> +#
> +# [SSSS]:BB:DD.F "bus segment:bus:device.function"(1) of the device to
> +# be assigned, bus segment is optional. All fields are
> +# in hexadecimal and no field should be longer than that
> +# as shown in the pattern. Successful assignment may need
> +# certain hardware support and additional configurations
> +# (e.g. VT-d, see docs/misc/vtd.txt for more details).
> +#
> +# (1) bus segment is sometimes also referred to as the PCI "domain",
> +# not to be confused with Xen domain.
> +#
> +#
> +# optionN per-device options in "key=val" format. Current
> +# available options are:
> +# - msitranslate=0|1
> +# per-device overriden of pci_msitranslate, see below
> +# - power_mgmt=0|1
> +# per-device overriden of pci_power_mgmt, see below
> +#
> +# pci=[ '07:00.0', '07:00.1' ]
> +
> +# MSI-INTx translation for MSI capable devices:
> +#
> +# If it's set, Xen will enable MSI for the device that supports it even
> +# if the guest don't use MSI. In the case, an IO-APIC type interrupt will
> +# be injected to the guest every time a corresponding MSI message is
> +# received.
> +# If the guest enables MSI or MSI-X, the translation is automatically
> +# turned off.
> +#
> +# pci_msitranslate=1
> +
> +# PCI Power Management:
> +#
> +# If it's set, the guest OS will be able to program D0-D3hot states of the
> +# PCI device for the purpose of low power consumption.
> +#
> +# pci_power_mgmt=0
> +
> +# Enable graphics passthrough:
> +#
> +# If it's set, and specify grapchis device BDF in pci passthrough option,
> +# like pci=['xx:xx.x'], it enables graphics passthrough, default=0
> (disabled)
> +# gfx_passthru=0
>
>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|