From: Ryan Harper <ryanh@us.ibm.com>
To: xen-devel@lists.xensource.com
Cc: Ian Pratt <m+Ian.Pratt@cl.cam.ac.uk>,
"Krysan, Susan" <KRYSANS@unisys.com>,
"Puthiyaparambil, Aravindh" <aravindh.puthiyaparambil@unisys.com>,
"Subrahmanian, Raj" <raj.subrahmanian@unisys.com>,
"Vessey, Bruce A" <Bruce.Vessey@unisys.com>,
"Carb, Brian A" <Brian.Carb@unisys.com>
Subject: [PATCH] xm-test: update enforce_dom0_cpus testcase
Date: Tue, 9 May 2006 14:43:04 -0500 [thread overview]
Message-ID: <20060509194304.GJ28945@us.ibm.com> (raw)
In-Reply-To: <20060509160414.GH28945@us.ibm.com>
I chose to update the test to SKIP if dom0 isn't proper configured
which at this point means SMP host and dom0 with at least 2 VCPUs
online. Also I noticed that the test was still using vcpu-enable which
is no longer available via xm; we use vcpu-set. This patch fixes the
issue where after successfully running the test, dom0's vcpu state was
not restored. Updated some comments and lines that exceeded 80 columns.
--
Ryan Harper
Software Engineer; Linux Technology Center
IBM Corp., Austin, Tx
(512) 838-9253 T/L: 678-9253
ryanh@us.ibm.com
diffstat output:
01_enforce_dom0_cpus_basic_pos.py | 55 ++++++++++++++++++++++++--------------
1 files changed, 36 insertions(+), 19 deletions(-)
Signed-off-by: Ryan Harper <ryanh@us.ibm.com>
---
# HG changeset patch
# User Ryan Harper <ryanh@us.ibm.com>
# Node ID 279b674363bc78a284284bd62b9a0e2b5c65acb6
# Parent 1e3977e029fddc1e53995a3502d590f8a07e5c62
Fix up enforce_dom0_cpu test case to check that dom0 has at least 2 vcpus
online. Also fix bogus call to vcpu-enable; xm now uses vcpu-set as method for
enable/disable of vcpus. Previously after a successful test run, this test
would not leave dom0 in the same state as it was when the test started. Also
some comment language changes and 80 column formatting.
diff -r 1e3977e029fd -r 279b674363bc tools/xm-test/tests/enforce_dom0_cpus/01_enforce_dom0_cpus_basic_pos.py
--- a/tools/xm-test/tests/enforce_dom0_cpus/01_enforce_dom0_cpus_basic_pos.py Mon May 8 18:21:41 2006
+++ b/tools/xm-test/tests/enforce_dom0_cpus/01_enforce_dom0_cpus_basic_pos.py Tue May 9 19:19:47 2006
@@ -4,20 +4,23 @@
# Authors: Dan Smith <danms@us.ibm.com>
# Ryan Harper <ryanh@us.ibm.com>
-# 1) Make sure we have a multi cpu system
+# 1) Make sure we have a multi cpu system and dom0 has at
+# least 2 vcpus online.
# 2) clone standard config (/etc/xen/xend-config.sxp)
# 3) modify clone with enforce_dom0_cpus=X
# 4) restart xend with modified config
# 5) check /proc/cpuinfo for cpu count
-# 6) check xm list -v to see that only 1 cpu is online for dom0
-# 7) Restart xend with default config
+# 6) check xm info 'VCPUs' field to see that only 'enforce_dom0_cpus'
+# number of cpus are online in dom0
+# 7) Restore initial dom0 vcpu state
+# 8) Restart xend with default config
import sys
import re
import time
import os
-# what value should dom0_cpus be enforced?
+# what value should dom0_cpus enforce?
enforce_dom0_cpus=1
from XmTestLib import *
@@ -25,12 +28,19 @@
check_status = 1
max_tries = 10
-# 1) Make sure we have a multi cpu system
+# 1) Make sure we have a multi cpu system and dom0 has at least 2 vcpus online.
if smpConcurrencyLevel() <= 1:
print "*** NOTE: This machine does not have more than one physical"
print " or logical cpu. The vcpu-disable test cannot be run!"
SKIP("Host not capable of running test")
+
+# count number of online vcpus in dom0
+dom0_online_vcpus = int(getDomInfo("Domain-0", "VCPUs"))
+if dom0_online_vcpus <= 1:
+ print "*** NOTE: DOM0 needs at least 2 VCPUs online to run this test"
+ print " Please enable additional vcpus if possible via xm vcpu-set"
+ SKIP("Host state not capable of running test")
# 2) clone standard config (/etc/xen/xend-config.sxp)
# 3) modify clone with enforce_dom0_cpus=1
@@ -65,26 +75,33 @@
if output != str(enforce_dom0_cpus):
os.unsetenv("XEND_CONFIG")
restartXend()
- FAIL("/proc/cpuinfo says xend didn't enforce dom0_cpus (%s != %s)" %(output, enforce_dom0_cpus))
+ FAIL("/proc/cpuinfo says xend didn't enforce dom0_cpus (%s != %s)"%(output,
+ enforce_dom0_cpus))
-# 7) count number of online cpus and see that it matches enforce value
-dom0vcpus = getVcpuInfo("Domain-0")
-num_online = len(filter(lambda x: x >= 0, dom0vcpus.values()))
+# 6) count number of online cpus and see that it matches enforce value
+num_online = int(getDomInfo("Domain-0", "VCPUs"))
if num_online != enforce_dom0_cpus:
os.unsetenv("XEND_CONFIG")
restartXend()
- FAIL("xm says xend didn't enforce dom0_cpus (%s != %s)" %(num_online, enforce_dom0_cpus))
+ FAIL("xm says xend didn't enforce dom0_cpus (%s != %s)" %(num_online,
+ enforce_dom0_cpus))
-# restore dead processors
-for (k,v) in zip(dom0vcpus.keys(),dom0vcpus.values()):
- if v == -1:
- status, output = traceCommand("xm vcpu-enable 0 %s"%(k))
- if check_status and status != 0:
- os.unsetenv("XEND_CONFIG")
- restartXend()
- FAIL("\"%s\" returned invalid %i != 0" %(cmd,status))
+# 7) restore dead processors
+status, output = traceCommand("xm vcpu-set 0 %s"%(dom0_online_vcpus))
+if check_status and status != 0:
+ os.unsetenv("XEND_CONFIG")
+ restartXend()
+ FAIL("\"%s\" returned invalid %i != 0" %(cmd,status))
-# Restart xend with default config
+# check restore worked
+num_online = int(getDomInfo("Domain-0", "VCPUs"))
+if num_online != dom0_online_vcpus:
+ os.unsetenv("XEND_CONFIG")
+ restartXend()
+ FAIL("failed to restore dom0's VCPUs")
+
+
+# 8) Restart xend with default config
os.unsetenv("XEND_CONFIG")
restartXend()
next prev parent reply other threads:[~2006-05-09 19:43 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-05-09 15:57 Setting dom0-cpus to 0 doesn't use all cpus asdocumented Carb, Brian A
2006-05-09 16:04 ` Ryan Harper
2006-05-09 19:43 ` Ryan Harper [this message]
2006-05-11 12:49 ` [PATCH] xm-test: update enforce_dom0_cpus testcase Ewan Mellor
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20060509194304.GJ28945@us.ibm.com \
--to=ryanh@us.ibm.com \
--cc=Brian.Carb@unisys.com \
--cc=Bruce.Vessey@unisys.com \
--cc=KRYSANS@unisys.com \
--cc=aravindh.puthiyaparambil@unisys.com \
--cc=m+Ian.Pratt@cl.cam.ac.uk \
--cc=raj.subrahmanian@unisys.com \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.