[OE-core] [oe-commits] Aníbal Limón : systemd: Increase devices timeout in QEMU machines to avoid failures on serial-getty

Martin Jansa martin.jansa at gmail.com
Tue Sep 15 05:17:27 UTC 2015


On Sat, Aug 29, 2015 at 12:39:35PM +0000, git at git.openembedded.org wrote:
> Module: openembedded-core.git
> Branch: master
> 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"

Most appends need to start with leading space, this breaks all build
where SRC_URI doesn't end with a space already (e.g. if some layer
appends something to SRC_URI).

I'll send patch, but be more careful next time.

>  
>  S = "${WORKDIR}/git"
>  
> 
> -- 
> _______________________________________________
> Openembedded-commits mailing list
> Openembedded-commits at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-commits

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20150915/ffdca0ec/attachment-0002.sig>


More information about the Openembedded-core mailing list