summaryrefslogtreecommitdiffstats
path: root/meta/lib/oeqa/targetcontrol.py
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2021-03-31 22:41:52 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-04-06 09:30:10 +0100
commit232cb7b0553f844be695d26f55aaf531029a6a9a (patch)
tree5fa23ee5245cfc0ecec91d1ff8c1969165a6580c /meta/lib/oeqa/targetcontrol.py
parent82d7dc9709bb2cc85a42b168bdd25ab70e763bee (diff)
downloadpoky-232cb7b0553f844be695d26f55aaf531029a6a9a.tar.gz
oeqa/runqemu: Support RUNQEMU_TMPFS_DIR as a location to copy snapshot images to
We have a working theory that IO queues on the autobuilder are impacting runtime testing under qemu, particularly async writes which inice does not influence. We already pass the snapshot option to qemu which copies the image and runs out of the copy. Add in the ability to copy the image to a specificed location which can be a tmpfs. This means that writes to the image would no longer be blocked by other writes to disk in the system. Preliminary tests show that this does improve the qemu errors at the expense of sometimes showing qemu startup timeouts as on a loaded system with a large test image, it can take longer than 120s to copy the image to tmpfs. Having a most consistent failure mode for loaded tests is probably desireable though. (From OE-Core rev: fd1c26ab426c3699ffd8082b83d65a84c8eb8bff) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib/oeqa/targetcontrol.py')
-rw-r--r--meta/lib/oeqa/targetcontrol.py2
1 files changed, 2 insertions, 0 deletions
diff --git a/meta/lib/oeqa/targetcontrol.py b/meta/lib/oeqa/targetcontrol.py
index 19f5a4ea7e..12057f855a 100644
--- a/meta/lib/oeqa/targetcontrol.py
+++ b/meta/lib/oeqa/targetcontrol.py
@@ -131,6 +131,7 @@ class QemuTarget(BaseTarget):
131 logfile = self.qemulog, 131 logfile = self.qemulog,
132 kernel = self.kernel, 132 kernel = self.kernel,
133 boottime = int(d.getVar("TEST_QEMUBOOT_TIMEOUT")), 133 boottime = int(d.getVar("TEST_QEMUBOOT_TIMEOUT")),
134 tmpfsdir = d.getVar("RUNQEMU_TMPFS_DIR"),
134 logger = logger) 135 logger = logger)
135 else: 136 else:
136 self.runner = QemuRunner(machine=d.getVar("MACHINE"), 137 self.runner = QemuRunner(machine=d.getVar("MACHINE"),
@@ -144,6 +145,7 @@ class QemuTarget(BaseTarget):
144 dump_dir = dump_dir, 145 dump_dir = dump_dir,
145 dump_host_cmds = d.getVar("testimage_dump_host"), 146 dump_host_cmds = d.getVar("testimage_dump_host"),
146 logger = logger, 147 logger = logger,
148 tmpfsdir = d.getVar("RUNQEMU_TMPFS_DIR"),
147 serial_ports = len(d.getVar("SERIAL_CONSOLES").split())) 149 serial_ports = len(d.getVar("SERIAL_CONSOLES").split()))
148 150
149 self.target_dumper = TargetDumper(dump_target_cmds, dump_dir, self.runner) 151 self.target_dumper = TargetDumper(dump_target_cmds, dump_dir, self.runner)