Add feature to layer xm-test tests, grouping of tests by casename and
execution of tests by user specified lists.
Signed-off-by: Woody Marvel <marvel@us.ibm.com>
- Aligned output and help to fit within 80 char limit
- User now deals in milliseconds instead of nanoseconds
- Fixed some missing parens in tests (I had pushed stale versions)
- Updated tests to deal with period/slice/latency in ms
root@bebop:~/xm-test.sedf/tests/sedf # xm sched-sedf
Name ID Period(ms) Slice(ms) Lat(ms) Extra Weight
Domain-0 0 20.0 15.0 0.0 1 0
Signed-off-by: Ryan Harper <ryanh@us.ibm.com>
with new subcommand add_to_physmap.
This changes the domain0 tools interface, but only when building
shadow-translate-mode guests.
Signed-off-by: Keir Fraser <keir@xensource.com>
interface parameters are always used, so there's no need for them to be named
parameters with defaults.
Remove unused httpserver.getRoot and getPort, and simplify the main request
loop. This means that socket errors do not have to be squelched.
Coalesce the two identical bind methods, one in UnixHttpServer, one in
UnixListener. Fix this bind method to set the permissions on the socket
explicitly. This closes a security hole, and fixes the intermittent failure
of xm-test/06_list_nonroot.test.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
params.XEND_DEBUG value itself. This removes the need for addLogStderr and
removeLogStderr. Remove the maxBytes and backupCount parameters to init, as
they are unused and we only use the hardcoded values anyway.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
occurs in xend. Currently, the parsing is hard-coded; it expects that
the desired number is on the first line. My patch is more robust; it
lets values be retrieved by a label. It also exposes a few functions to
retrieve the current allocation and the target allocation.
By abstracting this a little better, I'll be able to address a few
other issues in subsequent patches. Mostly, this allows for better
error checking and guidance for the user. For example, by exposing
get_dom0_current_alloc(), we can (elsewhere, in a later patch) calculate
how large of a VM could potentially be started. This is useful, as it
lets simple VM-creation GUIs guide the user towards reasonable memory
values for new VMs.
Signed-off-by: Charles Coffing <ccoffing@novell.com>
load as many disk.img domains as there are loop devices. Added a
small function to get number of loop devices to be used as a max
for number of concurrent domains the test launches.
Signed-off-by: Daniel Stekloff <dsteklof@us.ibm.com>
-Displays current parameters for running domains ala xm list
-Allow users to set one or more parameters without having to
provide values for parameters they do not wish to change
-Adds additional testing of sched-sedf via new xm-test testcases.
With this patch applied, test 02_sedf_period_lower_neg.py exposes a
bug. I'll follow up this email with a patch for the bug.
Signed-off-by: Ryan Harper <ryanh@us.ibm.com>
local interface, dom0, and from domU to domU. HVM support included.
Signed-off-by: Jim Dykman <dykman@us.ibm.com>
Signed-off-by: Daniel Stekloff <dsteklof@us.ibm.com>
xc_domain_getinfo returns information about a domain, but not
necessarily the one you asked about. Add check for this.
max_vcpu_id in xc_domain_getinfo is really an ID, not a count, so
make the loop include the last VCPU
Signed-off-by: Ben Thomas <ben@virtualiron.com>
Instead of putting the page outside of the guests pseudo-physical address
space, we put it next to the other pages filled by the domain builder,
such that the page is already mapped in the initial pagetables and/or a
lowmem-type memory mapping.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
than all in one go, to conserve memory. This always has been
the behaviour, but it was changed by a changeset earlier today.
Signed-off-by: Keir Fraser <keir@xensource.com>
ramdisks to be passed via buffer, rather than via file. This allows
usage of the underlying domain building routines in "file-challenged"
enviroments.
Specifically, xc_linux_build_mem is the buffer oriented version of the
file-oriented xc_linux_build. Likewise, xc_hvm_build_mem is the
buffer oriented analog of the file based xc_hvm_build.
Signed-off-by: Ben Thomas (bthomas@virtualiron.com)
where an interrupt (irq) can be specified in the configuration file
and permission to bind to that interrupt will be given to a driver
domain.
This functionality could be used when trying to give a legacy device
to a driver domain. For example, by specifying the i/o ports and the
interrupt of your serial controller, you can use this patch to put a
serial port in a driver domain. This was discussed briefly on
xen-users in regards to using an external modem in a domU:
http://article.gmane.org/gmane.comp.emulators.xen.devel/20573http://article.gmane.org/gmane.comp.emulators.xen.user/8754
Also adds the ability to specify irqs on the xm command-line when
creating a domain (the following examples show a serial port being
given to a domU):
xm create serial-dd irq=4 ioports=03f8-03ff
or in a flat config-file:
irq = [4]
ioports = ['03f8-03ff']
or in an SXP config file:
(device (irq (irq 4)))
(device (ioports (from '0x03f8')(to '0x03ff')))
The ioports functionality is already in xen, but this patch also fixes a
bug with it that I assume cropped up due to changes in xend since it was
submitted ('dev' doesn't exist in iopif.py, returning 'None' seems to be
the solution).
Also adds some in-line documentation in tools/python/xen/xm/create.py
to be more accurate regarding adding pci devices and i/o ports on the
command-line.
Signed-off-by: Ryan Wilson <hap9@epoch.ncsc.mil>
to move blocks of memory 4096 pages at a time, and a buffer is
allocated for this. Unfortunately, the #define is without
parentheses and %/* are the same order and evaluated left to right.
Result: very big buffer being used 4 pages at a time.
Signed-off-by: Ben Thomas (bthomas@virtualiron.com)
The xen core files record a magic number,
but when they are loaded it isn't checked.
This patch resolves this.
Signed-Off-By: Horms <horms@verge.net.au>
* xc_ptrace
- Merge xc_ptrace_core into xc_ptrace
- ATTACH now reads the data argument. If non-zero then
a corefile is being debuged. Otherwise a thread has
been attached to. This allows xc_waitdomain_core() or
xc_waitdomain() to be called as appropriate in
subsequent xc_ptrace() calls.
* xc_waitdomain
- Rename xc_waitdomain (xc_ptrace.c version) __xc_waitdomain
- Rename xc_waitdomain (xc_ptrace_core.c version) xc_waitdomain_core
- Create xc_waitdomain (in xc_ptrace.c), a wrapper for __xc_waitdomain
and xc_waitdomain_core.
Consolidation seemed difficult but ctxt needs to be
passed into xc_waitdomain_core or made global.
Alternatively, xc_waitdomain_core could be moved into xc_ptrace.c,
but this seems messy.
* map_domain_va
- Rename map_domain_va (xc_ptrace_core.c version) map_domain_va_core
- Have it accept ctxt, like xc_waitdomain_core
* myptrace and myxcwait (linux-xen-low.c)
Removed, call the now generic xc_ptrace() and xc_waitdomain() instead
When calling xc_ptrace ATTACH, if a corefile is in use, a fd will
be passed, otherwise a pid. The fd part is important, as this
is saved internally in xc_ptrace_core.c, and passed to xc_waitdomain_core()
as neccessary. Pereviously xc_waitdomain_core() received a pid and
thus could not open the corefile.
Signed-Off-By: Horms <horms@verge.net.au>
General Cleanups
* Use { after if consistently in xc_ptrace.c and xc_ptrace_core.c
(But not in xc_ptrace_core() which should be removed shortly)
* Remove duplicate code and centralise around xc_ptrace.h
* Avoid ifing values covered by case in xc_ptrace()
- PTRACE_GETREGS, PTRACE_GETFPREGS and PTRACE_GETFPXREGS are grouped into
a single case, and then with the exception of a call to FETCH_REGS(),
different code is executed based on ifing the values covered by the
case. The PTRACE_GETFPREGS and PTRACE_GETFPXREGS code is actually a
duplicate. This patch breaks the code out to two different cases.
Error Handling
* Eliminate FETCH_REGS macro as it forces several functions
to have an otherwise uneeded error_out label, mittigating
any code savins.
* Rework error handling in xc_ptrace().
- Remove FETCH_REGS as above
- Make sure that all dom0 errors are caught
- Make sure errno is always set on error
* Eliminate gotos in xc_ptrace_core.c that do nothing but return
Signed-Off-By: Horms <horms@verge.net.au>
turn detail off when doing vcpu-list. This avoids calls to xenstore just to
get the list of domains for the vcpu-list call, significantly increasing
performance of that command on loaded systems.
Closes bug #545.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
list of domains each time XendDomainInfo.refresh is called, and spawning
threads for each shutdown still in progress, we watch the control/shutdown
node and spawn just the one thread immediately. When the daemon starts (say
after a crash) all domains are checked for entries in the store indicating a
reboot in progress.
This avoids a large cost on the store and in threads when the list of domains
is refreshed. This happens every time the server is queried, so the cost can
be quite high. It's especially a high cost when using xm shutdown -a -w --
this operation should perform a lot better now.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
entries and for orphaned nodes in the database.
Added two flags, -R and -L, to disable the recovery code and the remove of
/local at start-up. This makes it much easier to analyse corrupted tdb files.
Added some missing talloc_free calls in the previous integrity checking code.
Removed the transaction handle from the trace_io message -- unfortunately,
the transaction is always null at this point, as it's not yet been looked up.
Signed-off-by: Ewan Mellor <ewan@xensource.com>