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

TOMOYO Linux Cross Reference
Linux/Documentation/mm/z3fold.rst

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 /Documentation/mm/z3fold.rst (Version linux-6.12-rc7) and /Documentation/mm/z3fold.rst (Version linux-6.7.12)


  1 ======                                              1 ======
  2 z3fold                                              2 z3fold
  3 ======                                              3 ======
  4                                                     4 
  5 z3fold is a special purpose allocator for stor      5 z3fold is a special purpose allocator for storing compressed pages.
  6 It is designed to store up to three compressed      6 It is designed to store up to three compressed pages per physical page.
  7 It is a zbud derivative which allows for highe      7 It is a zbud derivative which allows for higher compression
  8 ratio keeping the simplicity and determinism o      8 ratio keeping the simplicity and determinism of its predecessor.
  9                                                     9 
 10 The main differences between z3fold and zbud a     10 The main differences between z3fold and zbud are:
 11                                                    11 
 12 * unlike zbud, z3fold allows for up to PAGE_SI     12 * unlike zbud, z3fold allows for up to PAGE_SIZE allocations
 13 * z3fold can hold up to 3 compressed pages in      13 * z3fold can hold up to 3 compressed pages in its page
 14 * z3fold doesn't export any API itself and is      14 * z3fold doesn't export any API itself and is thus intended to be used
 15   via the zpool API.                               15   via the zpool API.
 16                                                    16 
 17 To keep the determinism and simplicity, z3fold     17 To keep the determinism and simplicity, z3fold, just like zbud, always
 18 stores an integral number of compressed pages      18 stores an integral number of compressed pages per page, but it can store
 19 up to 3 pages unlike zbud which can store at m     19 up to 3 pages unlike zbud which can store at most 2. Therefore the
 20 compression ratio goes to around 2.7x while zb     20 compression ratio goes to around 2.7x while zbud's one is around 1.7x.
 21                                                    21 
 22 Unlike zbud (but like zsmalloc for that matter     22 Unlike zbud (but like zsmalloc for that matter) z3fold_alloc() does not
 23 return a dereferenceable pointer. Instead, it      23 return a dereferenceable pointer. Instead, it returns an unsigned long
 24 handle which encodes actual location of the al     24 handle which encodes actual location of the allocated object.
 25                                                    25 
 26 Keeping effective compression ratio close to z     26 Keeping effective compression ratio close to zsmalloc's, z3fold doesn't
 27 depend on MMU enabled and provides more predic     27 depend on MMU enabled and provides more predictable reclaim behavior
 28 which makes it a better fit for small and resp     28 which makes it a better fit for small and response-critical systems.
                                                      

~ [ 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