Am Thu, 25 May 2017 11:46:45 -0700
schrieb Ian Zimmerman <i...@primate.net>:

> On 2017-05-24 19:05, Kai Krakow wrote:
> 
> > To get in line with Rich Freeman: I didn't want to imply that zswap
> > only works with swap, neither that tmpfs only works with swap. Both
> > work without. But if you want to put some serious amount of data
> > into tmpfs, you need swap as a backing device sooner or later.  
> 
> Looking at zswap, I have several questions
> (even after reading linux/Documentation/vm/zswap.txt).
> 
> 1.  How does it know which swap device to use as backing store, if
> any? Clearly at boot time no swap configuration exists, even if
> initrd/initramfs is used, which here it is not.  So when the kernel
> sees zswap.enable=1 in the command line, what happens?

You simply don't assign a swap device to zswap. It's transparently
inserted into the swapping chain of the kernel. Thus pages are first
compressed, and later swapped out by normal kernel processing.

> 2.  The doc says it can be turned on at runtime by means of
> /sys/module/zswap/parameters/enabled.  But kconfig doesn't make it
> possible to build the support as a module, only built-in, and so it is
> not surprising that this path doesn't exist.

I wonder why this doesn't exist. All my builtin modules have their
parameters in /sys/module:

# lsmod | fgrep zswap | wc -l
0
# ls -ald /sys/module/zswap
drwxr-xr-x 3 root root 0 26. Mai 07:54 /sys/module/zswap

> 3.  It seems to require zbud to also be turned on, but this is not
> enforced by kconfig.  Is this a bug or what?

No idea, I enabled it...

> 4.  Quoting:
> 
>  Zswap seeks to be simple in its policies.  Sysfs attributes allow
> for one user controlled policy:
>  * max_pool_percent - The maximum percentage of memory that the
> compressed pool can occupy.
> 
> Does this mean this is another (hypothetical) node in
> /sys/module/zswap/parameters/ ?

grep ^ /sys/module/zswap/parameters/*
/sys/module/zswap/parameters/compressor:lzo
/sys/module/zswap/parameters/enabled:Y
/sys/module/zswap/parameters/max_pool_percent:20
/sys/module/zswap/parameters/zpool:zbud 

This also implies that zbud it required for zswap to even operate. If
you didn't include it, it may be the reason why zswap is missing
in /sys/module.


-- 
Regards,
Kai

Replies to list-only preferred.


Reply via email to