summaryrefslogtreecommitdiffstats
path: root/recipes-test/virt-test/files/qemu-tests-cpuflags-build-avoidance.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-test/virt-test/files/qemu-tests-cpuflags-build-avoidance.patch')
-rw-r--r--recipes-test/virt-test/files/qemu-tests-cpuflags-build-avoidance.patch516
1 files changed, 516 insertions, 0 deletions
diff --git a/recipes-test/virt-test/files/qemu-tests-cpuflags-build-avoidance.patch b/recipes-test/virt-test/files/qemu-tests-cpuflags-build-avoidance.patch
new file mode 100644
index 0000000..2a082cc
--- /dev/null
+++ b/recipes-test/virt-test/files/qemu-tests-cpuflags-build-avoidance.patch
@@ -0,0 +1,516 @@
1commit 4f271849224b5a5b3ca93c78e4b5ca8aee350bc6
2Author: Jonas Eriksson <jonas.eriksson@enea.com>
3Date: Wed Mar 26 17:29:36 2014 +0100
4
5 cpuflags: Avoid building on test target
6
7 The cpuflags-test utility is built with different compiler flags
8 depending on the callee, meaning that pre-building is tricky. By
9 separating the builds from each other using a suffix based on the
10 extra flags, we can pre-build multiple versions of the application.
11
12 Signed-off-by: Jonas Eriksson <jonas.eriksson@enea.com>
13 Upstream-Status: Pending
14
15diff --git a/provider/cpuflags.py b/provider/cpuflags.py
16index 70255cf..ea2031c 100644
17--- a/provider/cpuflags.py
18+++ b/provider/cpuflags.py
19@@ -2,6 +2,7 @@
20 Shared code for tests that make use of cpuflags
21 """
22 import os
23+import md5
24 from virttest import data_dir
25
26
27@@ -12,19 +13,36 @@ def install_cpuflags_util_on_vm(test, vm, dst_dir, extra_flags=None):
28 :param vm: virtual machine.
29 :param dst_dir: Installation path.
30 :param extra_flags: Extraflags for gcc compiler.
31+ :return: The full path to the cpu_flags command built with the supplied
32+ extra_flags
33 """
34 if not extra_flags:
35 extra_flags = ""
36
37- cpuflags_src = data_dir.get_deps_dir("cpu_flags")
38+ # The suffix is the first 8 chars of the hex representation of the md5sum
39+ # of the extra flags
40+ extra_flags_hash = md5.new()
41+ extra_flags_hash.update(extra_flags)
42+ suffix = (extra_flags_hash.hexdigest())[:8]
43+
44 cpuflags_dst = os.path.join(dst_dir, "cpu_flags")
45+ cpuflags_cmd = os.path.join(dst_dir, "cpuflags-test-%s" % suffix)
46 session = vm.wait_for_login()
47- session.cmd("rm -rf %s" %
48- (cpuflags_dst))
49- session.cmd("sync")
50- vm.copy_files_to(cpuflags_src, dst_dir)
51- session.cmd("sync")
52- session.cmd("cd %s; cd src; make EXTRA_FLAGS='%s';" %
53- (cpuflags_dst, extra_flags))
54- session.cmd("sync")
55+
56+ if session.cmd_status("test -x '%s'" % cpuflags_cmd):
57+ cpuflags_cmd = os.path.join(cpuflags_dst, "cpuflags-test-%s" % suffix)
58+ if session.cmd_status("test -x '%s'" % cpuflags_cmd):
59+ cpuflags_src = os.path.join(data_dir.get_deps_dir(), "cpu_flags")
60+
61+ session.cmd("rm -rf %s" % (cpuflags_dst))
62+ session.cmd("mkdir -p %s" % (dst_dir))
63+ session.cmd("sync")
64+ vm.copy_files_to(cpuflags_src, dst_dir)
65+ session.cmd("sync")
66+ session.cmd("make -C %s EXTRA_FLAGS='%s';" %
67+ (cpuflags_dst, extra_flags))
68+ session.cmd("sync")
69+
70 session.close()
71+
72+ return cpuflags_cmd
73diff --git a/deps/cpu_flags/src/.gitignore b/deps/cpu_flags/src/.gitignore
74new file mode 100644
75index 0000000..1d04e1f
76--- /dev/null
77+++ b/qemu/deps/cpu_flags/src/.gitignore
78@@ -0,0 +1,2 @@
79+build-*/
80+cpuflags-test-*
81diff --git a/deps/cpu_flags/src/Makefile b/deps/cpu_flags/src/Makefile
82index 1513649..3be1920 100644
83--- a/deps/cpu_flags/src/Makefile
84+++ b/deps/cpu_flags/src/Makefile
85@@ -45,63 +45,77 @@ CC=gcc
86
87 LIBS=-lgomp
88
89-.PHONY: default all cpuflags-test clean
90+# Use the first 8 characters of the md5sum of the extra flags as suffix
91+SUFFIX=$(shell echo -n '$(EXTRA_FLAGS)' | md5sum | cut -c 1-8)
92+BUILDDIR=build-$(SUFFIX)
93+BUILDDIR_IND=build-$(SUFFIX)/.created
94
95-default:cpuflags-test
96+.PHONY: default all clean suffix
97
98-all:cpuflags-test
99+default: cpuflags-test-$(SUFFIX)
100
101-cpuflags-test: avx.o fma4.o xop.o sse4a.o sse4.o ssse3.o sse3.o aes.o pclmul.o rdrand.o stress.o stressmem.o
102- $(CC) $(CFLAGS) $(LIBS) cpuflags-test.c -o cpuflags-test \
103- aes.o \
104- pclmul.o \
105- rdrand.o \
106- avx.o \
107- fma4.o \
108- xop.o \
109- sse4a.o \
110- sse4.o \
111- ssse3.o \
112- sse3.o \
113- stress.o \
114- stressmem.o \
115+all: cpuflags-test-$(SUFFIX)
116
117-aes.o: aes.c tests.h
118- $(CC) $(CFLAGSAES) $(LIBS) -c aes.c
119+suffix:
120+ @echo $(SUFFIX)
121
122-pclmul.o: pclmul.c tests.h
123- $(CC) $(CFLAGSPCLMUL) $(LIBS) -c pclmul.c
124+# The timestamp of builddir will be updated as we write files, so let the
125+# creation of .o files depend on a file (builddir indicator) inside builddir to
126+# make sure that builddir is created.
127+$(BUILDDIR_IND):
128+ $(MKDIR) $(BUILDDIR)
129+ touch $(BUILDDIR_IND)
130
131-rdrand.o: rdrand.c tests.h
132- $(CC) $(CFLAGSRDRAND) $(LIBS) -c rdrand.c
133+cpuflags-test-$(SUFFIX): cpuflags-test.c \
134+ $(BUILDDIR)/avx.o \
135+ $(BUILDDIR)/fma4.o \
136+ $(BUILDDIR)/xop.o \
137+ $(BUILDDIR)/sse4a.o \
138+ $(BUILDDIR)/sse4.o \
139+ $(BUILDDIR)/ssse3.o \
140+ $(BUILDDIR)/sse3.o \
141+ $(BUILDDIR)/aes.o \
142+ $(BUILDDIR)/pclmul.o \
143+ $(BUILDDIR)/rdrand.o \
144+ $(BUILDDIR)/stress.o \
145+ $(BUILDDIR)/stressmem.o
146+ $(CC) $(CFLAGS) $^ $(LIBS) -o $@
147
148-fma4.o: fma4.c tests.h
149- $(CC) $(CFLAGSFMA4) $(LIBS) -c fma4.c
150+$(BUILDDIR)/aes.o: aes.c tests.h $(BUILDDIR_IND)
151+ $(CC) -o $@ $(CFLAGSAES) $(LIBS) -c aes.c
152
153-xop.o: xop.c tests.h
154- $(CC) $(CFLAGSXOP) $(LIBS) -c xop.c
155+$(BUILDDIR)/pclmul.o: pclmul.c tests.h $(BUILDDIR_IND)
156+ $(CC) -o $@ $(CFLAGSPCLMUL) $(LIBS) -c pclmul.c
157
158-avx.o: avx.c tests.h
159- $(CC) $(CFLAGSAVX) $(LIBS) -c avx.c
160+$(BUILDDIR)/rdrand.o: rdrand.c tests.h $(BUILDDIR_IND)
161+ $(CC) -o $@ $(CFLAGSRDRAND) $(LIBS) -c rdrand.c
162
163-sse4a.o: sse4a.c tests.h
164- $(CC) $(CFLAGSSSE4A) $(LIBS) -c sse4a.c
165+$(BUILDDIR)/fma4.o: fma4.c tests.h $(BUILDDIR_IND)
166+ $(CC) -o $@ $(CFLAGSFMA4) $(LIBS) -c fma4.c
167
168-sse4.o: sse4.c tests.h
169- $(CC) $(CFLAGSSSE4) $(LIBS) -c sse4.c
170+$(BUILDDIR)/xop.o: xop.c tests.h $(BUILDDIR_IND)
171+ $(CC) -o $@ $(CFLAGSXOP) $(LIBS) -c xop.c
172
173-ssse3.o: ssse3.c tests.h
174- $(CC) $(CFLAGSSSSE3) $(LIBS) -c ssse3.c
175+$(BUILDDIR)/avx.o: avx.c tests.h $(BUILDDIR_IND)
176+ $(CC) -o $@ $(CFLAGSAVX) $(LIBS) -c avx.c
177
178-sse3.o: sse3.c tests.h
179- $(CC) $(CFLAGSSSE3) $(LIBS) -c sse3.c
180+$(BUILDDIR)/sse4a.o: sse4a.c tests.h $(BUILDDIR_IND)
181+ $(CC) -o $@ $(CFLAGSSSE4A) $(LIBS) -c sse4a.c
182
183-stress.o: stress.c tests.h
184- $(CC) $(CFLAGSSTRESS) $(LIBS) -c stress.c
185+$(BUILDDIR)/sse4.o: sse4.c tests.h $(BUILDDIR_IND)
186+ $(CC) -o $@ $(CFLAGSSSE4) $(LIBS) -c sse4.c
187
188-stressmem.o: stressmem.c tests.h
189- $(CC) $(CFLAGSSTRESS) $(LIBS) -c stressmem.c
190+$(BUILDDIR)/ssse3.o: ssse3.c tests.h $(BUILDDIR_IND)
191+ $(CC) -o $@ $(CFLAGSSSSE3) $(LIBS) -c ssse3.c
192
193+$(BUILDDIR)/sse3.o: sse3.c tests.h $(BUILDDIR_IND)
194+ $(CC) -o $@ $(CFLAGSSSE3) $(LIBS) -c sse3.c
195+
196+$(BUILDDIR)/stress.o: stress.c tests.h $(BUILDDIR_IND)
197+ $(CC) -o $@ $(CFLAGSSTRESS) $(LIBS) -c stress.c
198+
199+$(BUILDDIR)/stressmem.o: stressmem.c tests.h $(BUILDDIR_IND)
200+ $(CC) -o $@ $(CFLAGSSTRESS) $(LIBS) -c stressmem.c
201
202 ARCHIVE= cpuflags-test
203
204@@ -110,5 +124,7 @@ tar: clean
205
206 clean:
207 rm -f *~
208- rm -f *.o
209- rm -f cpuflags-test
210+ rm -f build-*/*.o
211+ rm -f cpuflags-test-*
212+ rm -f build-*/.created
213+ rmdir build-* || true
214diff --git a/qemu/tests/cpuflags.py b/qemu/tests/cpuflags.py
215index 75a03bb..cab4f5a 100644
216--- a/qemu/tests/cpuflags.py
217+++ b/qemu/tests/cpuflags.py
218@@ -24,8 +24,8 @@ def run(test, params, env):
219 utils_misc.Flag.aliases = utils_misc.kvm_map_flags_aliases
220 qemu_binary = utils_misc.get_qemu_binary(params)
221
222- cpuflags_src = os.path.join(data_dir.get_deps_dir("cpu_flags"), "src")
223- cpuflags_def = os.path.join(data_dir.get_deps_dir("cpu_flags"),
224+ cpuflags_src = os.path.join(qemudir, "deps", "cpu_flags", "src")
225+ cpuflags_def = os.path.join(qemudir, "deps", "cpu_flags",
226 "cpu_map.xml")
227 smp = int(params.get("smp", 1))
228
229@@ -188,9 +188,12 @@ def run(test, params, env):
230 """
231 p = ParseCpuFlags()
232 cpus = p.parse_file(cpuflags_def)
233+ flags = None
234 for arch in cpus.values():
235 if cpumodel in arch.keys():
236 flags = arch[cpumodel]
237+ if not flags:
238+ raise NameError, "Could not resolve flags for cpumodel '%s'" % cpumodel
239 return set(map(utils_misc.Flag, flags))
240
241 get_guest_host_cpuflags_BAD = get_guest_host_cpuflags_1350
242@@ -253,7 +256,9 @@ def run(test, params, env):
243 output = utils.run(cmd).stdout
244
245 cpu_re = re.compile(r"x86\s+\[?(\w+)\]?")
246- return cpu_re.findall(output)
247+ cpus = cpu_re.findall(output)
248+
249+ return [c for c in cpus if not c == 'host']
250
251 get_cpu_models_BAD = get_cpu_models_1350
252
253@@ -432,16 +437,16 @@ def run(test, params, env):
254 Run stress on vm for timeout time.
255 """
256 ret = False
257- install_path = "/tmp"
258- cpuflags.install_cpuflags_util_on_vm(test, vm, install_path)
259- flags = check_cpuflags_work(vm, install_path, guest_flags)
260+ install_path = params.get("cpuflags_install_path", "/tmp")
261+ cpuflags_cmd = cpuflags.install_cpuflags_util_on_vm(test, vm, install_path)
262+ flags = check_cpuflags_work(vm, cpuflags_cmd, guest_flags)
263 dd_session = vm.wait_for_login()
264 stress_session = vm.wait_for_login()
265 dd_session.sendline("dd if=/dev/[svh]da of=/tmp/stressblock"
266 " bs=10MB count=100 &")
267 try:
268- stress_session.cmd("%s/cpuflags-test --stress %s%s" %
269- (os.path.join(install_path, "cpu_flags"), smp,
270+ stress_session.cmd("%s --stress %s%s" %
271+ (cpuflags_cmd, smp,
272 utils_misc.kvm_flags_to_stresstests(flags[0])),
273 timeout=timeout)
274 except aexpect.ShellTimeoutError:
275@@ -613,10 +618,10 @@ def run(test, params, env):
276 "on guest: %s", str(not_enable_flags))
277 logging.info("Check main instruction sets.")
278
279- install_path = "/tmp"
280- cpuflags.install_cpuflags_util_on_vm(test, self.vm, install_path)
281+ install_path = params.get("cpuflags_install_path", "/tmp")
282+ cpuflags_cmd = cpuflags.install_cpuflags_util_on_vm(test, vm, install_path)
283
284- Flags = check_cpuflags_work(self.vm, install_path,
285+ Flags = check_cpuflags_work(self.vm, cpuflags_cmd,
286 flags.all_possible_guest_flags)
287 logging.info("Woking CPU flags: %s", str(Flags[0]))
288 logging.info("Not working CPU flags: %s", str(Flags[1]))
289@@ -814,18 +819,17 @@ def run(test, params, env):
290
291 (self.vm, _) = start_guest_with_cpuflags(cpuf_model, smp)
292
293- install_path = "/tmp"
294- cpuflags.install_cpuflags_util_on_vm(test, self.vm, install_path)
295- flags = check_cpuflags_work(self.vm, install_path,
296+ install_path = params.get("cpuflags_install_path", "/tmp")
297+ cpuflags_cmd = cpuflags.install_cpuflags_util_on_vm(test, self.vm, install_path)
298+ flags = check_cpuflags_work(self.vm, cpuflags_cmd,
299 flags.guest_flags)
300 dd_session = self.vm.wait_for_login()
301 stress_session = self.vm.wait_for_login()
302
303 dd_session.sendline("nohup dd if=/dev/[svh]da of=/tmp/"
304 "stressblock bs=10MB count=100 &")
305- cmd = ("nohup %s/cpuflags-test --stress %s%s &" %
306- (os.path.join(install_path, "cpu_flags"), smp,
307- utils_misc.kvm_flags_to_stresstests(flags[0])))
308+ cmd = "nohup %s --stress %s%s &" % (cpuflags_cmd, smp,
309+ utils_misc.kvm_flags_to_stresstests(flags[0]))
310 stress_session.sendline(cmd)
311
312 time.sleep(5)
313@@ -915,7 +919,7 @@ def run(test, params, env):
314 for fdel in flags.host_unsupported_flags:
315 cpuf_model += ",-" + str(fdel)
316
317- install_path = "/tmp"
318+ install_path = params.get("cpuflags_install_path", "/tmp")
319
320 class testMultihostMigration(utils_test.qemu.MultihostMigration):
321
322@@ -931,9 +935,10 @@ def run(test, params, env):
323 vm = env.get_vm("vm1")
324 session = vm.wait_for_login(timeout=self.login_timeout)
325
326- cpuflags.install_cpuflags_util_on_vm(test, vm, install_path)
327+ cpuflags_cmd = cpuflags.install_cpuflags_util_on_vm(test, vm, install_path)
328+ mig_data.params.update([('cpuflags_cmd', cpuflags_cmd)])
329
330- Flags = check_cpuflags_work(vm, install_path,
331+ Flags = check_cpuflags_work(vm, cpuflags_cmd,
332 flags.all_possible_guest_flags)
333 logging.info("Woking CPU flags: %s", str(Flags[0]))
334 logging.info("Not working CPU flags: %s",
335@@ -946,9 +951,8 @@ def run(test, params, env):
336 session.sendline("nohup dd if=/dev/[svh]da of=/tmp/"
337 "stressblock bs=10MB count=100 &")
338
339- cmd = ("nohup %s/cpuflags-test --stress %s%s &" %
340- (os.path.join(install_path, "cpu_flags"),
341- smp,
342+ cmd = ("nohup %s --stress %s%s &" %
343+ (cpuflags_cmd, smp,
344 utils_misc.kvm_flags_to_stresstests(Flags[0] &
345 flags.guest_flags)))
346 logging.debug("Guest_flags: %s",
347@@ -971,7 +975,8 @@ def run(test, params, env):
348 " should be active after"
349 " migration and it's not.")
350
351- Flags = check_cpuflags_work(vm, install_path,
352+ cpuflags_cmd = mig_data.params.get('cpuflags_cmd')
353+ Flags = check_cpuflags_work(vm, cpuflags_cmd,
354 flags.all_possible_guest_flags)
355 logging.info("Woking CPU flags: %s",
356 str(Flags[0]))
357@@ -1017,7 +1022,7 @@ def run(test, params, env):
358 disable_cpus = map(lambda cpu: int(cpu),
359 params.get("disable_cpus", "").split())
360
361- install_path = "/tmp"
362+ install_path = params.get("cpuflags_install_path", "/tmp")
363
364 class testMultihostMigration(utils_test.qemu.MultihostMigration):
365
366@@ -1060,9 +1065,10 @@ def run(test, params, env):
367 vm = env.get_vm("vm1")
368 session = vm.wait_for_login(timeout=self.login_timeout)
369
370- cpuflags.install_cpuflags_util_on_vm(test, vm, install_path)
371+ cpuflags_cmd = cpuflags.install_cpuflags_util_on_vm(test, vm, install_path)
372+ mig_data.params.update([('cpuflags_cmd', cpuflags_cmd)])
373
374- Flags = check_cpuflags_work(vm, install_path,
375+ Flags = check_cpuflags_work(vm, cpuflags_cmd,
376 flags.all_possible_guest_flags)
377 logging.info("Woking CPU flags: %s", str(Flags[0]))
378 logging.info("Not working CPU flags: %s",
379@@ -1103,7 +1109,8 @@ def run(test, params, env):
380 "disabled on dsthost:%s" %
381 (disable_cpus, not_disabled))
382
383- Flags = check_cpuflags_work(vm, install_path,
384+ cpuflags_cmd = mig_data.params.get('cpuflags_cmd')
385+ Flags = check_cpuflags_work(vm, cpuflags_cmd,
386 flags.all_possible_guest_flags)
387 logging.info("Woking CPU flags: %s",
388 str(Flags[0]))
389diff --git a/qemu/tests/migration_multi_host_cancel.py b/qemu/tests/migration_multi_host_cancel.py
390index 89765dd..a4ed11b 100644
391--- a/qemu/tests/migration_multi_host_cancel.py
392+++ b/qemu/tests/migration_multi_host_cancel.py
393@@ -64,13 +64,12 @@ def run(test, params, env):
394 vm = mig_data.vms[0]
395 session = vm.wait_for_login(timeout=self.login_timeout)
396
397- cpuflags.install_cpuflags_util_on_vm(test, vm,
398+ cpuflags_cmd = cpuflags.install_cpuflags_util_on_vm(test, vm,
399 self.install_path,
400 extra_flags="-msse3 -msse2")
401
402- cmd = ("%s/cpuflags-test --stressmem %d,%d %%" %
403- (os.path.join(self.install_path, "cpu_flags"),
404- self.vm_mem * 10, self.vm_mem / 2))
405+ cmd = ("%s --stressmem %d,%d %%" %
406+ (cpuflags_cmd, self.vm_mem * 10, self.vm_mem / 2))
407 logging.debug("Sending command: %s" % (cmd))
408 session.sendline(cmd)
409
410diff --git a/qemu/tests/migration_multi_host_downtime_and_speed.py b/qemu/tests/migration_multi_host_downtime_and_speed.py
411index 4a06b69..549d1fd 100644
412--- a/qemu/tests/migration_multi_host_downtime_and_speed.py
413+++ b/qemu/tests/migration_multi_host_downtime_and_speed.py
414@@ -164,13 +164,12 @@ def run(test, params, env):
415 vm = mig_data.vms[0]
416 session = vm.wait_for_login(timeout=self.login_timeout)
417
418- cpuflags.install_cpuflags_util_on_vm(test, vm,
419+ cpuflags_cmd = cpuflags.install_cpuflags_util_on_vm(test, vm,
420 self.install_path,
421 extra_flags="-msse3 -msse2")
422
423- cmd = ("nohup %s/cpuflags-test --stressmem %d,%d &" %
424- (os.path.join(self.install_path, "cpu_flags"),
425- self.vm_mem * 100, self.vm_mem / 2))
426+ cmd = ("nohup %s --stressmem %d,%d &" %
427+ (cpuflags_cmd, self.vm_mem * 100, self.vm_mem / 2))
428 logging.debug("Sending command: %s" % (cmd))
429 session.sendline(cmd)
430 time.sleep(3)
431diff --git a/qemu/tests/migration_multi_host_firewall_block.py b/qemu/tests/migration_multi_host_firewall_block.py
432index 3db1dc5..dc70a6b 100644
433--- a/qemu/tests/migration_multi_host_firewall_block.py
434+++ b/qemu/tests/migration_multi_host_firewall_block.py
435@@ -175,13 +175,12 @@ def run(test, params, env):
436 vm = mig_data.vms[0]
437 session = vm.wait_for_login(timeout=self.login_timeout)
438
439- cpuflags.install_cpuflags_util_on_vm(test, vm,
440+ cpuflags_cmd = cpuflags.install_cpuflags_util_on_vm(test, vm,
441 self.install_path,
442 extra_flags="-msse3 -msse2")
443
444- cmd = ("nohup %s/cpuflags-test --stressmem %d,%d &" %
445- (os.path.join(self.install_path, "cpu_flags"),
446- self.vm_mem * 100, self.vm_mem / 2))
447+ cmd = ("nohup %s --stressmem %d,%d &" %
448+ (cpuflags_cmd, self.vm_mem * 100, self.vm_mem / 2))
449 logging.debug("Sending command: %s" % (cmd))
450 session.sendline(cmd)
451 time.sleep(3)
452diff --git a/qemu/tests/migration_multi_host_ping_pong.py b/qemu/tests/migration_multi_host_ping_pong.py
453index 7f7b64e..c6d0d3c 100644
454--- a/qemu/tests/migration_multi_host_ping_pong.py
455+++ b/qemu/tests/migration_multi_host_ping_pong.py
456@@ -155,15 +155,14 @@ def run(test, params, env):
457 vm = mig_data.vms[0]
458 session = vm.wait_for_login(timeout=self.login_timeout)
459
460- cpuflags.install_cpuflags_util_on_vm(test, vm,
461+ cpuflags_cmd = cpuflags.install_cpuflags_util_on_vm(test, vm,
462 self.install_path,
463 extra_flags="-msse3 -msse2")
464
465 cmd = ("nohup %s/cpuflags-test --stressmem %d,32"
466 " > %s &" %
467- (os.path.join(self.install_path, "cpu_flags"),
468- self.stress_memory,
469- self.cpuflags_test_out))
470+ (cpuflags_cmd, self.stress_memory,
471+ self.cpuflags_test_out))
472 logging.debug("Sending command: %s" % (cmd))
473 session.sendline(cmd)
474 if session.cmd_status("killall -s 0 cpuflags-test") != 0:
475diff --git a/qemu/tests/migration_multi_host_with_speed_measurement.py b/qemu/tests/migration_multi_host_with_speed_measurement.py
476index e845b90..dbddbf4 100644
477--- a/qemu/tests/migration_multi_host_with_speed_measurement.py
478+++ b/qemu/tests/migration_multi_host_with_speed_measurement.py
479@@ -128,12 +128,11 @@ def run(test, params, env):
480 vm = mig_data.vms[0]
481 session = vm.wait_for_login(timeout=self.login_timeout)
482
483- cpuflags.install_cpuflags_util_on_vm(test, vm, install_path,
484+ cpuflags_cmd = cpuflags.install_cpuflags_util_on_vm(test, vm, install_path,
485 extra_flags="-msse3 -msse2")
486
487- cmd = ("%s/cpuflags-test --stressmem %d,%d" %
488- (os.path.join(install_path, "cpu_flags"),
489- vm_mem * 4, vm_mem / 2))
490+ cmd = ("%s --stressmem %d,%d" %
491+ (cpuflags_cmd, vm_mem * 4, vm_mem / 2))
492 logging.debug("Sending command: %s" % (cmd))
493 session.sendline(cmd)
494
495diff --git a/qemu/tests/migration_with_speed_measurement.py b/qemu/tests/migration_with_speed_measurement.py
496index 47c4231..a88d648 100644
497--- a/qemu/tests/migration_with_speed_measurement.py
498+++ b/qemu/tests/migration_with_speed_measurement.py
499@@ -82,14 +82,13 @@ def run(test, params, env):
500
501 try:
502 # Reboot the VM in the background
503- cpuflags.install_cpuflags_util_on_vm(test, vm, install_path,
504+ cpuflags_cmd = cpuflags.install_cpuflags_util_on_vm(test, vm, install_path,
505 extra_flags="-msse3 -msse2")
506
507 vm.monitor.migrate_set_speed(mig_speed)
508
509- cmd = ("%s/cpuflags-test --stressmem %d,%d" %
510- (os.path.join(install_path, "cpu_flags"),
511- vm_mem * 4, vm_mem / 2))
512+ cmd = ("%s --stressmem %d,%d" %
513+ (cpuflags_cmd, vm_mem * 4, vm_mem / 2))
514 logging.debug("Sending command: %s" % (cmd))
515 session.sendline(cmd)
516