Commit Graph
44 Commits
Author SHA1 Message Date
Keir Fraser 9f8501582f Use -MMD -MF in tools/* rather than -Wp,-M...
If you use -MMD -MF then the correct .o filename is written to the
.*.d file as the compiler driver arranges everything.  This was done
in 19010:275abe1c5d24 for the hypervisor.

In this patch we do the same elsewhere in the xen-unstable tree,
particularly tools/.  Specifically:
 * Change tools/Rules.mk to add -MMD -MF ... to CFLAGS and set DEPS.
 * Remove -Wp,-MD... from every other Makefile
 * Remove setting of DEPS from every other Makefile
 * Ensure that every Makefile says -include $(DEPS)
 * Ensure that every Makefile's clean target removes $(DEPS)

Some Makefiles were already halfway there, but often for a different
variable name eg PROG_DEP.  The variable name is now standardised in
Rules.mk as DEPS.

I have done a test build with this change, on Debian etch.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
2009-01-12 10:16:05 +00:00
Keir Fraser 86e881097c tools/xenmon/Makefile: Move LDFLAGS after $<
gcc expects libraries needed for object files to be specified after
the object. Linking usually does not fail, unless it is optimized (for
instance, using -Wl,-as-needed).

The related Gentoo bug is 135145 [ https://bugs.gentoo.org/135145 ].

From: Robert Buchholz <rbu@gentoo.org>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-08-27 15:02:38 +01:00
Keir Fraser 66e56e754b install more documentation to /usr/share/doc/xen and /etc/xen
Also resync xmexample3 with xmexample1 and 2.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-08-06 09:34:55 +01:00
Keir Fraser 7eb8d34c18 tools: Declare functions static where they should be, and provide
proper prototypes for others as required.

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
2008-07-15 13:19:26 +01:00
Keir Fraser 461990971f tools: replace sprintf with snprintf where applicable
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
2008-06-12 15:41:15 +01:00
Keir Fraser f3814331c7 xenbaked: Fix access to trace buffer after xentrace changes
Signed-off-by: Naoki Nishiguchi <nisiguti@jp.fujitsu.com>
2008-04-24 09:59:57 +01:00
Keir Fraser 67bfbd67d1 libxenctrl headers should not pollute macro namespace with
mb/rmb/wmb. Instead add a xen_ prefix. Modify Xen's public headers to
expect the prefixed names instead of bare mb/rmb/wmb, but gate this
expectation on a bump of __XEN_INTERFACE_VERSION__.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-02-12 11:37:45 +00:00
Keir Fraser ad44c013ec Define CFLAGS and LDFLAGS for libxenctrl.
Signed-off-by: Bastian Blank <waldi@debian.org>
2008-01-27 12:57:14 +00:00
Keir Fraser be5fbf9a7f Move generation of public header hierarchy into the tools.
This patch merges the two versions of public header generation
currently used in the build into one.

Signed-off-by: Bastian Blank <waldi@debian.org>
2008-01-26 10:38:44 +00:00
Keir Fraser 93e3de7b94 Add SBINDIR. Use it always.
Signed-off-by: Bastian Blank <waldi@debian.org>
2008-01-22 14:35:02 +00:00
Keir Fraser f81035fe34 Fix xenmon.py to work on Solaris
The xenmon.py script does not work on Solaris because of (1) its
assumption that xenbaked is in the users path and, (2) the use of the
killall command. Changed xenmon.py to use pkill instead and provided
the path to xenbaked on Solaris.

Signed-off-by: Tariq Magdon-Ismail <tariqmi@sun.com>
2007-12-04 10:40:48 +00:00
Keir Fraser 995ee5c0f3 xentrace: make xentrace and xenmon work on Solaris and *BSD.
- Use getopt() to get rid of argp dependency which does not exist
   on Solaris and *BSD. Done by Tariq Magdon-Ismail.
 - Minor modifications by me (Christoph) to make it also work on *BSD.
 - Tested on Linux by me (Christoph). No functional change on Linux.
 - Tariq ok'd BSD modifications for Solaris
 - Tariq ok'd submission by me :)

Signed-off-by: Tariq Magdon-Ismail <tariqmi@sun.com>
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
2007-11-16 17:08:05 +00:00
Keir Fraser 86d019205b xenmon: Fix security vulnerability CVE-2007-3919.
The xenbaked daemon and xenmon utility communicate via a mmap'ed
shared file. Since this file is located in /tmp, unprivileged users
can cause arbitrary files to be truncated by creating a symlink from
the well-known /tmp filename to e.g., /etc/passwd.

The fix is to place the shared file in a directory to which only root
should have access (in this case /var/run/).

This bug was reported, and the fix suggested, by Steve Kemp
<skx@debian.org>. Thanks!

Signed-off-by: Keir Fraser <keir@xensource.com>
2007-10-23 09:26:43 +01:00
Keir Fraser 07f557cb63 Replace sysctl.physinfo.sockets_per_node with more directly useful
sysctl.physinfo.nr_cpus. This also avoids miscalculation of
sockets_per_node by Xen where the number of CPUs in the system is
clipped.
From: Elizabeth Kon <eak@us.ibm.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-10-19 18:00:10 +01:00
Keir Fraser f94f6e258d Remove tabs from python scripts xenmon and xentrace_format.
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
2007-10-08 10:47:58 +01:00
Keir Fraser 523a607a40 xenbaked: Fix for new trace format.
Signed-off-by: Atsushi SAKAI <sakaia@jp.fujitsu.com>
2007-10-04 09:38:40 +01:00
Keir Fraser a62f71bad5 Xen tracing cleanups and fixes.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-09-24 13:43:25 +01:00
kfraser@localhost.localdomain be259653f3 Extended the physinfo sysctl to export NUMA cpu_to_node topology info.
Print this in 'xm info'.
Signed-off-by: Ryan Harper <ryanh@us.ibm.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-07-06 16:12:07 +01:00
Ewan Mellor 69869aa632 Replace tabs with spaces.
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
2007-03-23 11:11:41 +00:00
Ewan Mellor e34b744e2c I found a small bug in xenmon. Even if I gave xenmon a wrong
parameter, xenmon did not become an error.

This patch adds a checking of wrong parameter into xenmon.
If wrong parameter is given, xenmon shows the following error
messages.

usage: xenmon.py [options]

xenmon.py: error: No parameter required


Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
2006-11-02 23:01:32 +00:00
kfraser@localhost.localdomain 2004d63d13 Stop enforcing -g for some of the tools.
Signed-off-by: John Levon <john.levon@sun.com>
2006-10-31 18:24:57 +00:00
kfraser@localhost.localdomain 6311dc03da Clean up duplication of 'install' macros in the Makefiles.
Signed-off-by: John Levon <john.levon@sun.com>
2006-10-17 15:57:05 +01:00
kfraser@localhost.localdomain 0a706be1ab [XENMON] Add argument check of "--ms_per_sample" option.
If a value of "--ms_per_sample" option is larger than a value of
"--time" option, xenmon may generate no log file. So, too large
"--ms_per_sample" should be treated as an error.

e.g.
  % xenmon.py --ms_per_sample=2000 -t 1 -n
  usage: xenmon.py [options]

  xenmon.py: error: option --ms_per_sample: too large (> 1000 ms)

# Notice that a unit of "--time" is a second.

Signed-off-by: KUWAMURA Shin'ya <kuwa@jp.fujitsu.com>
2006-09-19 11:08:11 +01:00
Ewan Mellor bd5b7756c3 This patch adds the argument check of "--ms_per_sample=" option. For
"--ms_per_sample=", a negative value should be invalid.

e.g.
% xenmon.py -n --ms_per_sample=-1
usage: xenmon.py [options]

xenmon.py: error: option --ms_per_sample: invalid negative value: '-1'

Signed-off-by: KUWAMURA Shin'ya <kuwa@jp.fujitsu.com>
2006-09-05 17:06:02 +01:00
kfraser@localhost.localdomain 1df421476a Replace dom0_ops hypercall with three new hypercalls:
1. platform_op -- used by dom0 kernel to perform actions on the
    hardware platform (e.g., MTRR access, microcode update, platform
    quirks, ...)
 2. domctl -- used by management tools to control a specified domain
 3. sysctl -- used by management tools for system-wide actions

Benefits include more sensible factoring of actions to
hypercalls. Also allows tool compatibility to be tracked separately
from the dom0 kernel. The assumption is that it will be easier to
replace libxenctrl, libxenguest and Xen as a matched set if the
dom0 kernel does not need to be replaced too (e.g., because that
would require vendor revalidation).

From here on we hope to maintain dom0 kernel compatibility. This
promise is not extended to tool compatibility beyond the existing
guarantee that compatibility will not be broken within a three-level
stable release [3.0.2, 3.0.3, etc.].

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-08-25 18:39:10 +01:00
kfraser@localhost.localdomain 0512d8f50a Rename two xentrace tools to make it obvious that setmask and setsize are xen related.
Based on a patch from Rob Gardner <rob.gardner@hp.com>

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-08-16 13:53:10 +01:00
kfraser@localhost.localdomain 46655653d3 Remove another external-to-libxc user of xc_dom0_op().
Signed-off-by: John Levon <john.levon@sun.com>
2006-08-15 10:47:26 +01:00
kfraser@localhost.localdomain ccdde61726 Fix domid range check in xenmon.
Signed-off-by: KUWAMURA Shin'ya <kuwa@jp.fujitsu.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-07-25 11:53:29 +01:00
kfraser@localhost.localdomain 16b671d72b Domain ID/index mapping in xenmon.
This patch addresses the problem of xenbaked/xenmon not dealing with
large domain ID's. Xen Domain ID's increase monotonically as domains
are created; The ID's are not (often) recycled. Xenbaked was using the 
domain
ID's as indices to arrays of data, and this scheme blows up as soon as
a domain ID exceeds the array size. Code has been changed in xenbaked
and xenmon to isolate domain id's from array indices, so everything is
indirect. Users should not notice any difference in behavior.

From: Rob Gardner <rob.gardner@hp.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-07-10 16:09:20 +01:00
kfraser@localhost.localdomain 78c851da09 [XENMON] This patch removes the magic number "31" for readability.
The number "31" means the idle domain ID.

In detail:
- display the idle domain ID with "Idle" instead of "31" 
- write to the file "log-idle.log" instead of "log-dom31.log".

Signed-off-by: KUWAMURA Shin'ya <kuwa@jp.fujitsu.com>
2006-07-05 11:31:33 +01:00
kaf24@firebug.cl.cam.ac.uk 76f880fe7d [TOOLS] Introduce xc_evtchn_*() interface for interacting with /dev/xen/evtchn.
No longer open the device as non-blocking: all reads immediately follow
a select() on the device indicating it's ready to read.

Signed-off-by: John Levon <john.levon@sun.com>
2006-06-15 13:11:31 +01:00
kaf24@firebug.cl.cam.ac.uk b152f0ed7a Use common code for enabling tracing via xenmon and xentrace, also fixing
the last two remaining xc_private.h users outside of libxc.

Signed-off-by: John Levon <john.levon@sun.com>
2006-05-16 09:18:25 +01:00
kaf24@firebug.cl.cam.ac.uk 2d0922d515 Move Linux-specific privcmd code into private libxc implementations.
Make header path for kernel's privcmd/evtchn headers generic.
Remove pointless xi_*() interface that was using private libxc
interfaces.

Signed-off-by: John Levon <john.levon@sun.com>
2006-05-02 15:12:06 +01:00
kaf24@firebug.cl.cam.ac.uk 067abcc949 Check a write() return value in xenbaked.
From: Jeremy Katz

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-27 09:47:05 +01:00
kaf24@firebug.cl.cam.ac.uk e4287d87ae This is a patch for XenMon which only applies to the userspace tools.
The primary purpose of this patch is to add support for non-polling 
access to the xen trace buffers. The hypervisor changes have already 
been accepted.

Also included are a few bug fixes and some minor new features:

1. If xenmon is run without first allocating trace buffers (via 
'setsize') and enabling them (via 'tbctl'), then this is done 
automatically using sensible defaults.

2. There was a bug that caused the first second's worth of data output 
from xenmon to be erroneous; This has been fixed.

3. There was a bug that caused xenmon to sometimes not display data for 
newly created domains; This has also been fixed.

4. The xenmon display has a 'heartbeat' which flickers once per second. 
This is to show that xenmon is still alive, even though the display 
isn't changing at all, a situation that can happen sometimes when there 
is nothing at all happening on a particular cpu.

5. Added cpu utilization display to the top of the xenmon window.

6. Added a bunch of options in xenmon to control exactly which metrics 
are displayed, so the screen doesn't get cluttered with stuff you're not 
interested in. The new options are:
  --allocated
  --noallocated
  --blocked
  --noblocked
  --waited
  --nowaited
  --excount
  --noexcount
  --iocount
  --noiocount

7. Added an option ("--cpu=N") to xenmon to specify which physical cpu 
you'd like data displayed for.

8. Updated the README with information about default trace buffer size, etc.

Signed-off-by: Rob Gardner <rob.gardner@hp.com>
2006-04-14 14:21:12 +01:00
kaf24@firebug.cl.cam.ac.uk b5fa90ac8e build: Clean up use of .PHONY
* Move .PHONY directives next to targets,
  this makes them a lot harder to miss
* Add missing .PHONY directives
* Remove nonexistent .PHONY directives
* Hopefully I didn'T miss anything...

Signed-Off-By: Horms <horms@verge.net.au>
2006-04-10 17:02:49 +01:00
kaf24@firebug.cl.cam.ac.uk 945758df89 More build config changes:
- Build -O2 rather than -O3
 - Build with -Wstrict-prototypes
 - Move target-specific generic compiler switches to Config.mk

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-03-10 17:32:04 +01:00
kaf24@firebug.cl.cam.ac.uk 326450f67e Clean up the usage of CFLAGS. This is nice for packagers, who would
like to control the base compilation flags from a central place.

Signed-off-by: Charles Coffing <ccoffing@novell.com>
2006-03-09 21:17:45 +01:00
kaf24@firebug.cl.cam.ac.uk 97e26d34f2 Clean up the interface for sharing xen-heap pages with guests.
Map trace buffer pages as DOMID_XEN pages.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-03-09 00:45:40 +01:00
kaf24@firebug.cl.cam.ac.uk 6dab2f670d Add next/previous key bindings to XenMon curses mode.
Signed-off-by: Diwaker Gupta <dgupta@cs.ucsd.edu>
2006-03-06 23:47:53 +01:00
kaf24@firebug.cl.cam.ac.uk bcdecd7942 Fix reporting of time intervals in the log mode of XenMon.
Fix duration to sleep between iterations (earlier hardcoded to 1sec)
Signed-off-by: Diwaker Gupta <dgupta@cs.ucsd.edu>
2006-03-06 23:47:14 +01:00
emellor@leeni.uk.xensource.com a72cda2a94 Install in /usr/sbin, not /usr/local/sbin, for consistency with the rest of the
Xen distribution.  Closes bug #462.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-01-11 16:23:16 +00:00
kaf24@firebug.cl.cam.ac.uk afb312d146 This patch is to fix a few performance "bugs" in the xenmon.py script.
No functionality is added or removed. Tested on x86/32 smp and x86/64.

Signed-off-by: Rob Gardner  <rob.gardner@hp.com>
2005-11-19 10:29:28 +01:00
kaf24@firebug.cl.cam.ac.uk 0d5ddb8806 The new userland monitoring tool, XenMon.
Signed-off-by: Rob Gardner <rob.gardner@hp.com>
2005-11-15 15:09:58 +01:00