[oe-commits] =?UTF-8?Q?An=C3=ADbal=20Lim=C3=B3n=20?=: systemd: Increase devices timeout in QEMU machines to avoid failures on serial-getty

git at git.openembedded.org git at git.openembedded.org
Sun Aug 30 11:49:31 UTC 2015


Module: openembedded-core.git
Branch: master-next
Commit: 5196d7bacaef1076c361adaa2867be31759c1b52
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=5196d7bacaef1076c361adaa2867be31759c1b52

Author: Aníbal Limón <anibal.limon at linux.intel.com>
Date:   Fri Aug 28 11:15:01 2015 -0500

systemd: Increase devices timeout in QEMU machines to avoid failures on serial-getty

Systemd serial-getty is failing because dev-tty ends with timeout, systemd
uses a default timeout of 90 secs that it's reached on AB's production environment
due to high I/O loads (nfs).

When use QEMU is used without KVM support, the machine code is executed by TCG
(software code execution) that is dependent on devices layer and causes locks
 between TCG/Devices increasing the machine code execution time [1].

QEMU don't support configuration of device timeout always uses a default one that is
90 secs, so the next patch increases the device timeout to 240 secs [2] in order give
enough time to get devices ready. It ONLY applies on QEMU machines.

[YOCTO #8141]

[1] http://blog.vmsplice.net/2011/03/qemu-internals-overall-architecture-and.html
[2] https://bugzilla.yoctoproject.org/show_bug.cgi?id=8141#c10

Signed-off-by: Aníbal Limón <anibal.limon at linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

---

 ....c-Change-the-default-device-timeout-to-2.patch | 31 ++++++++++++++++++++++
 meta/recipes-core/systemd/systemd_219.bb           |  1 +
 2 files changed, 32 insertions(+)

diff --git a/meta/recipes-core/systemd/systemd/qemuall_io_latency-core-device.c-Change-the-default-device-timeout-to-2.patch b/meta/recipes-core/systemd/systemd/qemuall_io_latency-core-device.c-Change-the-default-device-timeout-to-2.patch
new file mode 100644
index 0000000..c7e1711
--- /dev/null
+++ b/meta/recipes-core/systemd/systemd/qemuall_io_latency-core-device.c-Change-the-default-device-timeout-to-2.patch
@@ -0,0 +1,31 @@
+Upstream-Status: Inappropriate [Specific case QEMU/AB]
+
+From 7b8c4e0a67a79a75e1bd77df3a452a5497322108 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon at linux.intel.com>
+Date: Thu, 27 Aug 2015 17:58:26 -0500
+Subject: [PATCH] core/device.c: Change the default device timeout to 240 sec.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Aníbal Limón <anibal.limon at linux.intel.com>
+---
+ src/core/device.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/core/device.c b/src/core/device.c
+index e7efcf0..4ed8f08 100644
+--- a/src/core/device.c
++++ b/src/core/device.c
+@@ -110,7 +110,7 @@ static void device_init(Unit *u) {
+          * indefinitely for plugged in devices, something which cannot
+          * happen for the other units since their operations time out
+          * anyway. */
+-        u->job_timeout = u->manager->default_timeout_start_usec;
++        u->job_timeout = (240 * USEC_PER_SEC);
+ 
+         u->ignore_on_isolate = true;
+         u->ignore_on_snapshot = true;
+-- 
+1.9.1
+
diff --git a/meta/recipes-core/systemd/systemd_219.bb b/meta/recipes-core/systemd/systemd_219.bb
index e187cea..2326753 100644
--- a/meta/recipes-core/systemd/systemd_219.bb
+++ b/meta/recipes-core/systemd/systemd_219.bb
@@ -50,6 +50,7 @@ SRC_URI = "git://github.com/systemd/systemd-stable;branch=v219-stable;protocol=g
            file://init \
            file://run-ptest \
           "
+SRC_URI_append_qemuall = "file://qemuall_io_latency-core-device.c-Change-the-default-device-timeout-to-2.patch"
 
 S = "${WORKDIR}/git"
 



More information about the Openembedded-commits mailing list