All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/1] squashfs: Disable "percpu multiple decompressor" on RT
@ 2018-05-02 13:12 Alexander Stein
  2018-05-02 14:37 ` Julia Cartwright
  0 siblings, 1 reply; 7+ messages in thread
From: Alexander Stein @ 2018-05-02 13:12 UTC (permalink / raw)
  To: linux-rt-users; +Cc: Alexander Stein

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


^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2018-05-07 13:57 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-02 13:12 [PATCH 1/1] squashfs: Disable "percpu multiple decompressor" on RT Alexander Stein
2018-05-02 14:37 ` 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

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.