diff options
author | Tudor Florea <tudor.florea@enea.com> | 2014-10-10 03:19:54 +0200 |
---|---|---|
committer | Tudor Florea <tudor.florea@enea.com> | 2014-10-10 03:19:54 +0200 |
commit | c158582c0fc7f4bd73980fe9adad446855f4d61b (patch) | |
tree | 31b701a2367cb983e76e76cd7c2ba176ad33e5ac /recipes-test/virt-test/files/qemu-tests-cpuflags-build-avoidance.patch | |
download | meta-vt-daisy-140929.tar.gz |
initial commit for Enea Linux 4.0-140929daisy-140929
Migrated from the internal git server on the daisy-enea-point-release branch
Signed-off-by: Tudor Florea <tudor.florea@enea.com>
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.patch | 516 |
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 @@ | |||
1 | commit 4f271849224b5a5b3ca93c78e4b5ca8aee350bc6 | ||
2 | Author: Jonas Eriksson <jonas.eriksson@enea.com> | ||
3 | Date: 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 | |||
15 | diff --git a/provider/cpuflags.py b/provider/cpuflags.py | ||
16 | index 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 | ||
73 | diff --git a/deps/cpu_flags/src/.gitignore b/deps/cpu_flags/src/.gitignore | ||
74 | new file mode 100644 | ||
75 | index 0000000..1d04e1f | ||
76 | --- /dev/null | ||
77 | +++ b/qemu/deps/cpu_flags/src/.gitignore | ||
78 | @@ -0,0 +1,2 @@ | ||
79 | +build-*/ | ||
80 | +cpuflags-test-* | ||
81 | diff --git a/deps/cpu_flags/src/Makefile b/deps/cpu_flags/src/Makefile | ||
82 | index 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 | ||
214 | diff --git a/qemu/tests/cpuflags.py b/qemu/tests/cpuflags.py | ||
215 | index 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])) | ||
389 | diff --git a/qemu/tests/migration_multi_host_cancel.py b/qemu/tests/migration_multi_host_cancel.py | ||
390 | index 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 | |||
410 | diff --git a/qemu/tests/migration_multi_host_downtime_and_speed.py b/qemu/tests/migration_multi_host_downtime_and_speed.py | ||
411 | index 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) | ||
431 | diff --git a/qemu/tests/migration_multi_host_firewall_block.py b/qemu/tests/migration_multi_host_firewall_block.py | ||
432 | index 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) | ||
452 | diff --git a/qemu/tests/migration_multi_host_ping_pong.py b/qemu/tests/migration_multi_host_ping_pong.py | ||
453 | index 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: | ||
475 | diff --git a/qemu/tests/migration_multi_host_with_speed_measurement.py b/qemu/tests/migration_multi_host_with_speed_measurement.py | ||
476 | index 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 | |||
495 | diff --git a/qemu/tests/migration_with_speed_measurement.py b/qemu/tests/migration_with_speed_measurement.py | ||
496 | index 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 | |||