squashfs: Enhance parallel I/O
authorMinchan Kim <minchan@kernel.org>
Mon, 28 Oct 2013 05:26:30 +0000 (14:26 +0900)
committerPhillip Lougher <phillip@squashfs.org.uk>
Wed, 20 Nov 2013 03:35:18 +0000 (03:35 +0000)
commitcd59c2ec5f37a2bc1315c9324aab6c21d43ffa1a
tree10c3dca3e50bdc1f58f025f02cd85a2bfd8d3420
parent9508c6b90b3f57ecea4e7a896cf8325400fc0c6e
squashfs: Enhance parallel I/O

Now squashfs have used for only one stream buffer for decompression
so it hurts parallel read performance so this patch supports
multiple decompressor to enhance performance parallel I/O.

Four 1G file dd read on KVM machine which has 2 CPU and 4G memory.

dd if=test/test1.dat of=/dev/null &
dd if=test/test2.dat of=/dev/null &
dd if=test/test3.dat of=/dev/null &
dd if=test/test4.dat of=/dev/null &

old : 1m39s -> new : 9s

* From v1
  * Change comp_strm with decomp_strm - Phillip
  * Change/add comments - Phillip

Signed-off-by: Minchan Kim <minchan@kernel.org>
Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
fs/squashfs/Kconfig
fs/squashfs/Makefile
fs/squashfs/decompressor_multi.c [new file with mode: 0644]