From: Rasmus Villemoes <linux@rasmusvillemoes.dk> To: Masahiro Yamada <yamada.masahiro@socionext.com>, Andrew Morton <akpm@linux-foundation.org>, Gao Xiang <xiang@kernel.org> Cc: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Linus Walleij <linus.walleij@linaro.org>, kernel@pengutronix.de, Rasmus Villemoes <linux@rasmusvillemoes.dk> Subject: [RFC PATCH 2/3] lib: lz4: wire up watchdog keepalive during decompression Date: Thu, 17 Oct 2019 13:49:05 +0200 [thread overview] Message-ID: <20191017114906.30302-3-linux@rasmusvillemoes.dk> (raw) In-Reply-To: <20191017114906.30302-1-linux@rasmusvillemoes.dk> Some boards have a hardware watchdog that (a) cannot be disabled and (b) has a timeout short enough that there's no chance for the kernel to get through decompression, let alone reach the initialization of the appropriate watchdog device driver. In order to allow booting such boards, the decompression routine needs to service the watchdog in its main loop. This wires up lz4 to do that via the decompress_keepalive() macro defined in the new linux/decompress/keepalive.h. Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk> --- lib/lz4/lz4_decompress.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/lz4/lz4_decompress.c b/lib/lz4/lz4_decompress.c index 0c9d3ad17e0f..54ba41d073a6 100644 --- a/lib/lz4/lz4_decompress.c +++ b/lib/lz4/lz4_decompress.c @@ -39,6 +39,7 @@ #include <linux/module.h> #include <linux/kernel.h> #include <asm/unaligned.h> +#include <linux/decompress/keepalive.h> /*-***************************** * Decompression functions @@ -129,6 +130,7 @@ static FORCE_INLINE int LZ4_decompress_generic( /* ip < iend before the increment */ assert(!endOnInput || ip <= iend); + decompress_keepalive(); /* * A two-stage shortcut for the most common case: -- 2.20.1
WARNING: multiple messages have this Message-ID (diff)
From: Rasmus Villemoes <linux@rasmusvillemoes.dk> To: Masahiro Yamada <yamada.masahiro@socionext.com>, Andrew Morton <akpm@linux-foundation.org>, Gao Xiang <xiang@kernel.org> Cc: kernel@pengutronix.de, Linus Walleij <linus.walleij@linaro.org>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [RFC PATCH 2/3] lib: lz4: wire up watchdog keepalive during decompression Date: Thu, 17 Oct 2019 13:49:05 +0200 [thread overview] Message-ID: <20191017114906.30302-3-linux@rasmusvillemoes.dk> (raw) In-Reply-To: <20191017114906.30302-1-linux@rasmusvillemoes.dk> Some boards have a hardware watchdog that (a) cannot be disabled and (b) has a timeout short enough that there's no chance for the kernel to get through decompression, let alone reach the initialization of the appropriate watchdog device driver. In order to allow booting such boards, the decompression routine needs to service the watchdog in its main loop. This wires up lz4 to do that via the decompress_keepalive() macro defined in the new linux/decompress/keepalive.h. Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk> --- lib/lz4/lz4_decompress.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/lz4/lz4_decompress.c b/lib/lz4/lz4_decompress.c index 0c9d3ad17e0f..54ba41d073a6 100644 --- a/lib/lz4/lz4_decompress.c +++ b/lib/lz4/lz4_decompress.c @@ -39,6 +39,7 @@ #include <linux/module.h> #include <linux/kernel.h> #include <asm/unaligned.h> +#include <linux/decompress/keepalive.h> /*-***************************** * Decompression functions @@ -129,6 +130,7 @@ static FORCE_INLINE int LZ4_decompress_generic( /* ip < iend before the increment */ assert(!endOnInput || ip <= iend); + decompress_keepalive(); /* * A two-stage shortcut for the most common case: -- 2.20.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2019-10-17 11:49 UTC|newest] Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-10-17 11:49 [RFC PATCH 0/3] watchdog servicing during decompression Rasmus Villemoes 2019-10-17 11:49 ` Rasmus Villemoes 2019-10-17 11:49 ` [RFC PATCH 1/3] decompress/keepalive.h: prepare for watchdog keepalive during kernel decompression Rasmus Villemoes 2019-10-17 11:49 ` Rasmus Villemoes 2019-10-17 11:49 ` Rasmus Villemoes [this message] 2019-10-17 11:49 ` [RFC PATCH 2/3] lib: lz4: wire up watchdog keepalive during decompression Rasmus Villemoes 2019-10-17 11:49 ` [RFC PATCH 3/3] decompress/keepalive.h: add config option for toggling a set of bits Rasmus Villemoes 2019-10-17 11:49 ` Rasmus Villemoes 2019-10-24 12:17 ` Linus Walleij 2019-10-24 12:17 ` Linus Walleij 2019-10-24 13:45 ` Rasmus Villemoes 2019-10-24 13:45 ` Rasmus Villemoes 2019-10-17 12:03 ` [RFC PATCH 0/3] watchdog servicing during decompression Russell King - ARM Linux admin 2019-10-17 12:03 ` Russell King - ARM Linux admin 2019-10-17 12:34 ` Rasmus Villemoes 2019-10-17 12:34 ` Rasmus Villemoes 2019-10-17 12:48 ` Russell King - ARM Linux admin 2019-10-17 12:48 ` Russell King - ARM Linux admin 2019-10-24 12:38 ` Linus Walleij 2019-10-24 12:38 ` Linus Walleij
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20191017114906.30302-3-linux@rasmusvillemoes.dk \ --to=linux@rasmusvillemoes.dk \ --cc=akpm@linux-foundation.org \ --cc=kernel@pengutronix.de \ --cc=linus.walleij@linaro.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=xiang@kernel.org \ --cc=yamada.masahiro@socionext.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.