diff options
author | tlh20@elite.cl.cam.ac.uk <tlh20@elite.cl.cam.ac.uk> | 2003-05-06 22:50:55 +0000 |
---|---|---|
committer | tlh20@elite.cl.cam.ac.uk <tlh20@elite.cl.cam.ac.uk> | 2003-05-06 22:50:55 +0000 |
commit | 642bd0999b4d21360384ddc69bbbbbcbc24655fc (patch) | |
tree | 3d3d4313aa9925a53f3a8dbf5cd8b2411b30a7d2 | |
parent | 0d1658ee2283a6488285251f0116d57304dbc2ea (diff) | |
download | xen-642bd0999b4d21360384ddc69bbbbbcbc24655fc.tar.gz xen-642bd0999b4d21360384ddc69bbbbbcbc24655fc.tar.bz2 xen-642bd0999b4d21360384ddc69bbbbbcbc24655fc.zip |
bitkeeper revision 1.210 (3eb83c4fHs_yAKLhRwEjFTSk2RBfhA)
xi_list:
new file
dom0_core.c, sched.h, domain.c:
Add default domain name and xi_list to list all running domains
-rw-r--r-- | .rootkeys | 1 | ||||
-rwxr-xr-x | tools/internal/xi_list | 45 | ||||
-rw-r--r-- | xen/common/domain.c | 2 | ||||
-rw-r--r-- | xen/include/xeno/sched.h | 3 | ||||
-rw-r--r-- | xenolinux-2.4.21-pre4-sparse/arch/xeno/drivers/dom0/dom0_core.c | 6 |
5 files changed, 57 insertions, 0 deletions
@@ -39,6 +39,7 @@ 3eb781fdgbSkh2O6JQS-65Dz4n0ItQ tools/internal/xi_build.c 3eb781fdW1SAyiaC4mTsXq_9fRHh-A tools/internal/xi_create.c 3eb781fdcJ0fF7rWfzAOArW-x4-gwA tools/internal/xi_destroy.c +3eb83c3bZeECmphOKOJxSu4Lo1LpBw tools/internal/xi_list 3eb781fd8oRfPgH7qTh7xvgmwD6NgA tools/internal/xi_start.c 3eb781fd0Eo9K1jEFCSAVzO51i_ngg tools/internal/xi_stop.c 3eb781fd7211MZsLxJSiuy7W4KnJXg tools/internal/xi_vifinit diff --git a/tools/internal/xi_list b/tools/internal/xi_list new file mode 100755 index 0000000000..bff4633f83 --- /dev/null +++ b/tools/internal/xi_list @@ -0,0 +1,45 @@ +#!/bin/bash +# +# xi_list +# +# This is a silly little script to dump the currently running domains. +# The output format is a series of space-separate fields for each domain: +# +# 1. Domain id +# 2. Processor +# 3. Has CPU (1 => true, 0 => false) +# 4. State (RUNNING, INTERRUPTABLE, UNINTERRUPTABLE, WAIT, SUSPENDED, DYING) +# 5. MCU advance +# 6. Total pages +# 7. Name + +INPUT_FILE=/proc/xeno/domains + +awk -f - $INPUT_FILE <<EOF +{ + dom_id = \$1; + + processor = \$2; + + has_cpu = \$3; + + state = "UNKNOWN"; + + if (\$4 == 0) state = "RUNNING"; + if (\$4 == 1) state = "INTERRUPTIBLE"; + if (\$4 == 2) state = "UNINTERRUPTABLE"; + if (\$4 == 4) state = "WAIT"; + if (\$4 == 8) state = "SUSPENDED"; + if (\$4 == 16) state = "DYING"; + + mcu_advance = \$6; + + tot_pages = \$8; + + printf "%d %d %d %s %d %d %s", dom_id, processor, has_cpu, state, mcu_advance, tot_pages, \$9; + for (i = 10; i < NF; i ++) { + printf " %s", \$i; + } + printf "\n"; +} +EOF diff --git a/xen/common/domain.c b/xen/common/domain.c index 35154baf37..e2a8306357 100644 --- a/xen/common/domain.c +++ b/xen/common/domain.c @@ -48,6 +48,8 @@ struct task_struct *do_newdomain(unsigned int dom_id, unsigned int cpu) p->domain = dom_id; p->processor = cpu; + sprintf (p->name, "Domain-%d", dom_id); + spin_lock_init(&p->blk_ring_lock); spin_lock_init(&p->page_lock); diff --git a/xen/include/xeno/sched.h b/xen/include/xeno/sched.h index fe4c49736e..c5ab334b00 100644 --- a/xen/include/xeno/sched.h +++ b/xen/include/xeno/sched.h @@ -170,6 +170,9 @@ struct task_struct * TASK_WAIT: Domains CPU allocation expired. * TASK_SUSPENDED: Domain is in supsended state (eg. start of day) * TASK_DYING: Domain is about to cross over to the land of the dead. + * + * If you update these then please update the mapping to text names in + * xi_list. */ #define TASK_RUNNING 0 diff --git a/xenolinux-2.4.21-pre4-sparse/arch/xeno/drivers/dom0/dom0_core.c b/xenolinux-2.4.21-pre4-sparse/arch/xeno/drivers/dom0/dom0_core.c index 4f03fda0e2..d4777180e4 100644 --- a/xenolinux-2.4.21-pre4-sparse/arch/xeno/drivers/dom0/dom0_core.c +++ b/xenolinux-2.4.21-pre4-sparse/arch/xeno/drivers/dom0/dom0_core.c @@ -351,6 +351,12 @@ static int xeno_domains_show(struct seq_file *s, void *v) { dom0_op_t *di = v; + /* + * Output one domain's details to dom0. + * + * If you update this format string then change xi_list to match. + */ + seq_printf (s, "%8d %2d %1d %2d %8d %8ld %p %8d %s\n", di -> u.getdominfo.domain, |