diff -urN kvm_runtest_2.bak/cpu_stress.c kvm_runtest_2/cpu_stress.c
--- kvm_runtest_2.bak/cpu_stress.c 1969-12-31 19:00:00.000000000
-0500
+++ kvm_runtest_2/cpu_stress.c 2009-05-05 22:35:34.000000000 -0400
@@ -0,0 +1,61 @@
+#define _GNU_SOURCE
+#include <stdio.h>
+#include <pthread.h>
+#include <sched.h>
+#include <stdlib.h>
+#include <fcntl.h>
+#include <math.h>
+#include <unistd.h>
+
+#define MAX_CPUS 256
+#define BUFFSIZE 1024
+
+
+void worker_child(int cpu)
+{
+ int cur_freq;
+ int min_freq;
+ int max_freq;
+ int last_freq;
+ cpu_set_t mask;
+ int i;
+ double x;
+ int d = 0;
+ /*
+ * bind this thread to the specified cpu + */
+ CPU_ZERO(&mask);
+ CPU_SET(cpu, &mask);
+ sched_setaffinity(0, CPU_SETSIZE, &mask);
+
+ while (d++ != 500000) {
+ for (i=0; i<100000; i++)
+ x = sqrt(x);
+ }
+
+ _exit(0);
+
+}
+
+
+main() {
+ cpu_set_t mask;
+ int i;
+ int code;
+
+ if (sched_getaffinity(0, CPU_SETSIZE, &mask) < 0){
+ perror ("sched_getaffinity");
+ exit(1);
+ }
+
+ for (i=0; i<CPU_SETSIZE; i++)
+ if (CPU_ISSET(i, &mask)){
+ printf ("CPU%d\n",i);
+ if (fork() == 0)
+ worker_child(i);
+ }
+
+
+ wait(&code);
+ exit (WEXITSTATUS(code));
+}
diff -urN kvm_runtest_2.bak/kvm_runtest_2.py
kvm_runtest_2/kvm_runtest_2.py
--- kvm_runtest_2.bak/kvm_runtest_2.py 2009-04-29
06:17:29.000000000 -0400
+++ kvm_runtest_2/kvm_runtest_2.py 2009-04-29 08:06:32.000000000
-0400
@@ -36,6 +36,8 @@
"autotest": test_routine("kvm_tests",
"run_autotest"),
"kvm_install": test_routine("kvm_install",
"run_kvm_install"),
"linux_s3": test_routine("kvm_tests",
"run_linux_s3"),
+ "ntp_server_setup": test_routine("kvm_tests",
"run_ntp_server_setup"),
+ "timedrift": test_routine("kvm_tests",
"run_timedrift"),
}
# Make it possible to import modules from the test's bindir
diff -urN kvm_runtest_2.bak/kvm_tests.cfg.sample
kvm_runtest_2/kvm_tests.cfg.sample
--- kvm_runtest_2.bak/kvm_tests.cfg.sample 2009-04-29
06:17:29.000000000 -0400
+++ kvm_runtest_2/kvm_tests.cfg.sample 2009-04-29
08:09:36.000000000 -0400
@@ -81,6 +81,10 @@
- linux_s3: install setup
type = linux_s3
+ - ntp_server_setup:
+ type = ntp_server_setup
+ - timedrift: ntp_server_setup
+ type = timedrift
# NICs
variants:
- @rtl8139:
diff -urN kvm_runtest_2.bak/kvm_tests.py kvm_runtest_2/kvm_tests.py
--- kvm_runtest_2.bak/kvm_tests.py 2009-04-29 06:17:29.000000000
-0400
+++ kvm_runtest_2/kvm_tests.py 2009-05-05 23:45:57.000000000 -0400
@@ -394,3 +394,235 @@
kvm_log.info("VM resumed after S3")
session.close()
+
+def run_ntp_server_setup(test, params, env):
+ + """NTP server configuration and related network file
modification
+ """
+ kvm_log.debug("run ntp server setup")
+ status = 1
+ # stop firewall for NTP server if it is running.
+ status = os.system("/etc/init.d/iptables status")
+ if status == 0:
+ os.system("/etc/init.d/iptables stop")
+ status = 1
+
+ # prevent dhcp client modify the ntp.conf
+ kvm_log.info("prevent dhcp client modify the ntp.conf")
+
+ config_file = "/etc/sysconfig/network"
+ network_file = open("/etc/sysconfig/network", "a")
+ string = "PEERNTP=no"
+
+ if os.system("grep %s %s" % (string, config_file)):
+ network_file.writelines(str(string)+'\n')
+ + network_file.close()
+ + # start ntp server on host
+ kvm_log.info("backup ntp config file")
+
+ ntp_filename = os.path.expanduser("/etc/ntp.conf")
+ # backup ntp config file
+ backup_bootloader_filename = ntp_filename + "_backup"
+ if os.path.exists(ntp_filename):
+ os.rename(ntp_filename, backup_bootloader_filename)
+ + status = os.system("/etc/init.d/ntpd status")
+ if status == 0:
+ os.system("/etc/init.d/ntpd stop")
+ status = 1 +
+ kvm_log.info("start ntp server on host")
+
+ ntp_cmd = '''
+ echo "restrict default kod nomodify notrap nopeer noquery"
>> /etc/ntp.conf;\
+ echo "restrict 127.0.0.1" >> /etc/ntp.conf;\
+ echo "driftfile /var/lib/ntp/drift" >> /etc/ntp.conf;\
+ echo "keys /etc/ntp/keys" >> /etc/ntp.conf;\
+ echo "server 127.127.1.0" >> /etc/ntp.conf;\
+ echo "fudge 127.127.1.0 stratum 1" >> /etc/ntp.conf;\
+ service ntpd start;
+ '''