~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/fs/squashfs/Kconfig

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /fs/squashfs/Kconfig (Version linux-6.12-rc7) and /fs/squashfs/Kconfig (Version linux-4.18.20)


  1 # SPDX-License-Identifier: GPL-2.0-only        << 
  2 config SQUASHFS                                     1 config SQUASHFS
  3         tristate "SquashFS 4.0 - Squashed file      2         tristate "SquashFS 4.0 - Squashed file system support"
  4         depends on BLOCK                            3         depends on BLOCK
  5         help                                        4         help
  6           Saying Y here includes support for S      5           Saying Y here includes support for SquashFS 4.0 (a Compressed
  7           Read-Only File System).  Squashfs is      6           Read-Only File System).  Squashfs is a highly compressed read-only
  8           filesystem for Linux.  It uses zlib,      7           filesystem for Linux.  It uses zlib, lzo or xz compression to
  9           compress both files, inodes and dire      8           compress both files, inodes and directories.  Inodes in the system
 10           are very small and all blocks are pa      9           are very small and all blocks are packed to minimise data overhead.
 11           Block sizes greater than 4K are supp     10           Block sizes greater than 4K are supported up to a maximum of 1 Mbytes
 12           (default block size 128K).  SquashFS     11           (default block size 128K).  SquashFS 4.0 supports 64 bit filesystems
 13           and files (larger than 4GB), full ui     12           and files (larger than 4GB), full uid/gid information, hard links and
 14           timestamps.                              13           timestamps.
 15                                                    14 
 16           Squashfs is intended for general rea     15           Squashfs is intended for general read-only filesystem use, for
 17           archival use (i.e. in cases where a      16           archival use (i.e. in cases where a .tar.gz file may be used), and in
 18           embedded systems where low overhead      17           embedded systems where low overhead is needed.  Further information
 19           and tools are available from http://     18           and tools are available from http://squashfs.sourceforge.net.
 20                                                    19 
 21           If you want to compile this as a mod     20           If you want to compile this as a module ( = code which can be
 22           inserted in and removed from the run     21           inserted in and removed from the running kernel whenever you want),
 23           say M here.  The module will be call     22           say M here.  The module will be called squashfs.  Note that the root
 24           file system (the one containing the      23           file system (the one containing the directory /) cannot be compiled
 25           as a module.                             24           as a module.
 26                                                    25 
 27           If unsure, say N.                        26           If unsure, say N.
 28                                                    27 
 29 choice                                             28 choice
 30         prompt "File decompression options"        29         prompt "File decompression options"
 31         depends on SQUASHFS                        30         depends on SQUASHFS
 32         help                                       31         help
 33           Squashfs now supports two options fo     32           Squashfs now supports two options for decompressing file
 34           data.  Traditionally Squashfs has de     33           data.  Traditionally Squashfs has decompressed into an
 35           intermediate buffer and then memcopi     34           intermediate buffer and then memcopied it into the page cache.
 36           Squashfs now supports the ability to     35           Squashfs now supports the ability to decompress directly into
 37           the page cache.                          36           the page cache.
 38                                                    37 
 39           If unsure, select "Decompress file d     38           If unsure, select "Decompress file data into an intermediate buffer"
 40                                                    39 
 41 config SQUASHFS_FILE_CACHE                         40 config SQUASHFS_FILE_CACHE
 42         bool "Decompress file data into an int     41         bool "Decompress file data into an intermediate buffer"
 43         help                                       42         help
 44           Decompress file data into an interme     43           Decompress file data into an intermediate buffer and then
 45           memcopy it into the page cache.          44           memcopy it into the page cache.
 46                                                    45 
 47 config SQUASHFS_FILE_DIRECT                        46 config SQUASHFS_FILE_DIRECT
 48         bool "Decompress files directly into t     47         bool "Decompress files directly into the page cache"
 49         help                                       48         help
 50           Directly decompress file data into t     49           Directly decompress file data into the page cache.
 51           Doing so can significantly improve p     50           Doing so can significantly improve performance because
 52           it eliminates a memcpy and it also r     51           it eliminates a memcpy and it also removes the lock contention
 53           on the single buffer.                    52           on the single buffer.
 54                                                    53 
 55 endchoice                                          54 endchoice
 56                                                    55 
 57 config SQUASHFS_DECOMP_SINGLE                  << 
 58         depends on SQUASHFS                    << 
 59         def_bool n                             << 
 60                                                << 
 61 config SQUASHFS_DECOMP_MULTI                   << 
 62         depends on SQUASHFS                    << 
 63         def_bool n                             << 
 64                                                << 
 65 config SQUASHFS_DECOMP_MULTI_PERCPU            << 
 66         depends on SQUASHFS                    << 
 67         def_bool n                             << 
 68                                                << 
 69 config SQUASHFS_CHOICE_DECOMP_BY_MOUNT         << 
 70         bool "Select the parallel decompressio << 
 71         depends on SQUASHFS                    << 
 72         default n                              << 
 73         select SQUASHFS_DECOMP_SINGLE          << 
 74         select SQUASHFS_DECOMP_MULTI           << 
 75         select SQUASHFS_DECOMP_MULTI_PERCPU    << 
 76         select SQUASHFS_MOUNT_DECOMP_THREADS   << 
 77         help                                   << 
 78           Compile all parallel decompression m << 
 79           decompression mode by setting "threa << 
 80           default Decompressor parallelisation << 
 81                                                << 
 82 choice                                             56 choice
 83         prompt "Select decompression parallel  !!  57         prompt "Decompressor parallelisation options"
 84         depends on SQUASHFS                        58         depends on SQUASHFS
 85         depends on !SQUASHFS_CHOICE_DECOMP_BY_ << 
 86         help                                       59         help
 87           Squashfs now supports three parallel     60           Squashfs now supports three parallelisation options for
 88           decompression.  Each one exhibits va     61           decompression.  Each one exhibits various trade-offs between
 89           decompression performance and CPU an     62           decompression performance and CPU and memory usage.
 90                                                    63 
 91           If in doubt, select "Single threaded     64           If in doubt, select "Single threaded compression"
 92                                                    65 
 93 config SQUASHFS_COMPILE_DECOMP_SINGLE          !!  66 config SQUASHFS_DECOMP_SINGLE
 94         bool "Single threaded compression"         67         bool "Single threaded compression"
 95         select SQUASHFS_DECOMP_SINGLE          << 
 96         help                                       68         help
 97           Traditionally Squashfs has used sing     69           Traditionally Squashfs has used single-threaded decompression.
 98           Only one block (data or metadata) ca     70           Only one block (data or metadata) can be decompressed at any
 99           one time.  This limits CPU and memor     71           one time.  This limits CPU and memory usage to a minimum.
100                                                    72 
101 config SQUASHFS_COMPILE_DECOMP_MULTI           !!  73 config SQUASHFS_DECOMP_MULTI
102         bool "Use multiple decompressors for p     74         bool "Use multiple decompressors for parallel I/O"
103         select SQUASHFS_DECOMP_MULTI           << 
104         help                                       75         help
105           By default Squashfs uses a single de     76           By default Squashfs uses a single decompressor but it gives
106           poor performance on parallel I/O wor     77           poor performance on parallel I/O workloads when using multiple CPU
107           machines due to waiting on decompres     78           machines due to waiting on decompressor availability.
108                                                    79 
109           If you have a parallel I/O workload      80           If you have a parallel I/O workload and your system has enough memory,
110           using this option may improve overal     81           using this option may improve overall I/O performance.
111                                                    82 
112           This decompressor implementation use     83           This decompressor implementation uses up to two parallel
113           decompressors per core.  It dynamica     84           decompressors per core.  It dynamically allocates decompressors
114           on a demand basis.                       85           on a demand basis.
115                                                    86 
116 config SQUASHFS_COMPILE_DECOMP_MULTI_PERCPU    !!  87 config SQUASHFS_DECOMP_MULTI_PERCPU
117         bool "Use percpu multiple decompressor     88         bool "Use percpu multiple decompressors for parallel I/O"
118         select SQUASHFS_DECOMP_MULTI_PERCPU    << 
119         help                                       89         help
120           By default Squashfs uses a single de     90           By default Squashfs uses a single decompressor but it gives
121           poor performance on parallel I/O wor     91           poor performance on parallel I/O workloads when using multiple CPU
122           machines due to waiting on decompres     92           machines due to waiting on decompressor availability.
123                                                    93 
124           This decompressor implementation use     94           This decompressor implementation uses a maximum of one
125           decompressor per core.  It uses perc     95           decompressor per core.  It uses percpu variables to ensure
126           decompression is load-balanced acros     96           decompression is load-balanced across the cores.
127 endchoice                                      << 
128                                                    97 
129 config SQUASHFS_MOUNT_DECOMP_THREADS           !!  98 endchoice
130         bool "Add the mount parameter 'threads << 
131         depends on SQUASHFS                    << 
132         depends on SQUASHFS_DECOMP_MULTI       << 
133         default n                              << 
134         help                                   << 
135           Use threads= to set the decompressio << 
136           If SQUASHFS_CHOICE_DECOMP_BY_MOUNT=y << 
137               threads=<single|multi|percpu|1|2 << 
138           else                                 << 
139               threads=<2|3|...>                << 
140           The upper limit is num_online_cpus() << 
141                                                    99 
142 config SQUASHFS_XATTR                             100 config SQUASHFS_XATTR
143         bool "Squashfs XATTR support"             101         bool "Squashfs XATTR support"
144         depends on SQUASHFS                       102         depends on SQUASHFS
145         help                                      103         help
146           Saying Y here includes support for e    104           Saying Y here includes support for extended attributes (xattrs).
147           Xattrs are name:value pairs associat    105           Xattrs are name:value pairs associated with inodes by
148           the kernel or by users (see the attr    106           the kernel or by users (see the attr(5) manual page).
149                                                   107 
150           If unsure, say N.                       108           If unsure, say N.
151                                                   109 
152 config SQUASHFS_ZLIB                              110 config SQUASHFS_ZLIB
153         bool "Include support for ZLIB compres    111         bool "Include support for ZLIB compressed file systems"
154         depends on SQUASHFS                       112         depends on SQUASHFS
155         select ZLIB_INFLATE                       113         select ZLIB_INFLATE
156         default y                                 114         default y
157         help                                      115         help
158           ZLIB compression is the standard com    116           ZLIB compression is the standard compression used by Squashfs
159           file systems.  It offers a good trad    117           file systems.  It offers a good trade-off between compression
160           achieved and the amount of CPU time     118           achieved and the amount of CPU time and memory necessary to
161           compress and decompress.                119           compress and decompress.
162                                                   120 
163           If unsure, say Y.                       121           If unsure, say Y.
164                                                   122 
165 config SQUASHFS_LZ4                               123 config SQUASHFS_LZ4
166         bool "Include support for LZ4 compress    124         bool "Include support for LZ4 compressed file systems"
167         depends on SQUASHFS                       125         depends on SQUASHFS
168         select LZ4_DECOMPRESS                     126         select LZ4_DECOMPRESS
169         help                                      127         help
170           Saying Y here includes support for r    128           Saying Y here includes support for reading Squashfs file systems
171           compressed with LZ4 compression.  LZ    129           compressed with LZ4 compression.  LZ4 compression is mainly
172           aimed at embedded systems with slowe    130           aimed at embedded systems with slower CPUs where the overheads
173           of zlib are too high.                   131           of zlib are too high.
174                                                   132 
175           LZ4 is not the standard compression     133           LZ4 is not the standard compression used in Squashfs and so most
176           file systems will be readable withou    134           file systems will be readable without selecting this option.
177                                                   135 
178           If unsure, say N.                       136           If unsure, say N.
179                                                   137 
180 config SQUASHFS_LZO                               138 config SQUASHFS_LZO
181         bool "Include support for LZO compress    139         bool "Include support for LZO compressed file systems"
182         depends on SQUASHFS                       140         depends on SQUASHFS
183         select LZO_DECOMPRESS                     141         select LZO_DECOMPRESS
184         help                                      142         help
185           Saying Y here includes support for r    143           Saying Y here includes support for reading Squashfs file systems
186           compressed with LZO compression.  LZ    144           compressed with LZO compression.  LZO compression is mainly
187           aimed at embedded systems with slowe    145           aimed at embedded systems with slower CPUs where the overheads
188           of zlib are too high.                   146           of zlib are too high.
189                                                   147 
190           LZO is not the standard compression     148           LZO is not the standard compression used in Squashfs and so most
191           file systems will be readable withou    149           file systems will be readable without selecting this option.
192                                                   150 
193           If unsure, say N.                       151           If unsure, say N.
194                                                   152 
195 config SQUASHFS_XZ                                153 config SQUASHFS_XZ
196         bool "Include support for XZ compresse    154         bool "Include support for XZ compressed file systems"
197         depends on SQUASHFS                       155         depends on SQUASHFS
198         select XZ_DEC                             156         select XZ_DEC
199         help                                      157         help
200           Saying Y here includes support for r    158           Saying Y here includes support for reading Squashfs file systems
201           compressed with XZ compression.  XZ     159           compressed with XZ compression.  XZ gives better compression than
202           the default zlib compression, at the    160           the default zlib compression, at the expense of greater CPU and
203           memory overhead.                        161           memory overhead.
204                                                   162 
205           XZ is not the standard compression u    163           XZ is not the standard compression used in Squashfs and so most
206           file systems will be readable withou    164           file systems will be readable without selecting this option.
207                                                   165 
208           If unsure, say N.                       166           If unsure, say N.
209                                                   167 
210 config SQUASHFS_ZSTD                              168 config SQUASHFS_ZSTD
211         bool "Include support for ZSTD compres    169         bool "Include support for ZSTD compressed file systems"
212         depends on SQUASHFS                       170         depends on SQUASHFS
213         select ZSTD_DECOMPRESS                    171         select ZSTD_DECOMPRESS
214         help                                      172         help
215           Saying Y here includes support for r    173           Saying Y here includes support for reading Squashfs file systems
216           compressed with ZSTD compression.  Z    174           compressed with ZSTD compression.  ZSTD gives better compression than
217           the default ZLIB compression, while     175           the default ZLIB compression, while using less CPU.
218                                                   176 
219           ZSTD is not the standard compression    177           ZSTD is not the standard compression used in Squashfs and so most
220           file systems will be readable withou    178           file systems will be readable without selecting this option.
221                                                   179 
222           If unsure, say N.                       180           If unsure, say N.
223                                                   181 
224 config SQUASHFS_4K_DEVBLK_SIZE                    182 config SQUASHFS_4K_DEVBLK_SIZE
225         bool "Use 4K device block size?"          183         bool "Use 4K device block size?"
226         depends on SQUASHFS                       184         depends on SQUASHFS
227         help                                      185         help
228           By default Squashfs sets the dev blo    186           By default Squashfs sets the dev block size (sb_min_blocksize)
229           to 1K or the smallest block size sup    187           to 1K or the smallest block size supported by the block device
230           (if larger).  This, because blocks a    188           (if larger).  This, because blocks are packed together and
231           unaligned in Squashfs, should reduce    189           unaligned in Squashfs, should reduce latency.
232                                                   190 
233           This, however, gives poor performanc    191           This, however, gives poor performance on MTD NAND devices where
234           the optimal I/O size is 4K (even tho    192           the optimal I/O size is 4K (even though the devices can support
235           smaller block sizes).                   193           smaller block sizes).
236                                                   194 
237           Using a 4K device block size may als    195           Using a 4K device block size may also improve overall I/O
238           performance for some file access pat    196           performance for some file access patterns (e.g. sequential
239           accesses of files in filesystem orde    197           accesses of files in filesystem order) on all media.
240                                                   198 
241           Setting this option will force Squas    199           Setting this option will force Squashfs to use a 4K device block
242           size by default.                        200           size by default.
243                                                   201 
244           If unsure, say N.                       202           If unsure, say N.
245                                                   203 
246 config SQUASHFS_EMBEDDED                          204 config SQUASHFS_EMBEDDED
247         bool "Additional option for memory-con    205         bool "Additional option for memory-constrained systems"
248         depends on SQUASHFS                       206         depends on SQUASHFS
249         help                                      207         help
250           Saying Y here allows you to specify     208           Saying Y here allows you to specify cache size.
251                                                   209 
252           If unsure, say N.                       210           If unsure, say N.
253                                                   211 
254 config SQUASHFS_FRAGMENT_CACHE_SIZE               212 config SQUASHFS_FRAGMENT_CACHE_SIZE
255         int "Number of fragments cached" if SQ    213         int "Number of fragments cached" if SQUASHFS_EMBEDDED
256         depends on SQUASHFS                       214         depends on SQUASHFS
257         default "3"                               215         default "3"
258         help                                      216         help
259           By default SquashFS caches the last     217           By default SquashFS caches the last 3 fragments read from
260           the filesystem.  Increasing this amo    218           the filesystem.  Increasing this amount may mean SquashFS
261           has to re-read fragments less often     219           has to re-read fragments less often from disk, at the expense
262           of extra system memory.  Decreasing     220           of extra system memory.  Decreasing this amount will mean
263           SquashFS uses less memory at the exp    221           SquashFS uses less memory at the expense of extra reads from disk.
264                                                   222 
265           Note there must be at least one cach    223           Note there must be at least one cached fragment.  Anything
266           much more than three will probably n    224           much more than three will probably not make much difference.
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php