All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexander Stein <alexander.stein@systec-electronic.com>
To: linux-rt-users@vger.kernel.org
Cc: Alexander Stein <alexander.stein@systec-electronic.com>
Subject: [PATCH 1/1] squashfs: Disable "percpu multiple decompressor" on RT
Date: Wed,  2 May 2018 15:12:33 +0200	[thread overview]
Message-ID: <20180502131233.17029-1-alexander.stein@systec-electronic.com> (raw)

This decompressor can introduce a huge latency when a to be executed
process have to read and decompress directly from mass storage.
Using a QSPI flash and squashfs, starting htop causes a latency of ~8000µs
to a running cyclictest. The "multiple decompressor" is fine though.
The cause is that squashfs_decompress() calls get_cpu_ptr(). If this is
done on all CPUs no task will be executed until the decompression has
finished.

Signed-off-by: Alexander Stein <alexander.stein@systec-electronic.com>
---
 fs/squashfs/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/fs/squashfs/Kconfig b/fs/squashfs/Kconfig
index 1adb3346b9d6..246c5966173d 100644
--- a/fs/squashfs/Kconfig
+++ b/fs/squashfs/Kconfig
@@ -86,6 +86,7 @@ config SQUASHFS_DECOMP_MULTI
 
 config SQUASHFS_DECOMP_MULTI_PERCPU
 	bool "Use percpu multiple decompressors for parallel I/O"
+	depends on !PREEMPT_RT_BASE
 	help
 	  By default Squashfs uses a single decompressor but it gives
 	  poor performance on parallel I/O workloads when using multiple CPU
-- 
2.16.1


             reply	other threads:[~2018-05-02 13:22 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-02 13:12 Alexander Stein [this message]
2018-05-02 14:37 ` [PATCH 1/1] squashfs: Disable "percpu multiple decompressor" on RT Julia Cartwright
2018-05-03  6:36   ` Alexander Stein
2018-05-03 15:48     ` Julia Cartwright
2018-05-07  6:09       ` Alexander Stein
2018-05-07 13:58         ` [PATCH RT 1/2] locallock: provide {get,put}_locked_ptr() variants Julia Cartwright
2018-05-07 13:58           ` [PATCH RT 2/2] squashfs: make use of local lock in multi_cpu decompressor Julia Cartwright

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=20180502131233.17029-1-alexander.stein@systec-electronic.com \
    --to=alexander.stein@systec-electronic.com \
    --cc=linux-rt-users@vger.kernel.org \
    /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: link
Be 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.