From: Wanpeng Li <liwanp@linux.vnet.ibm.com>
To: Martin Steigerwald <Martin@lichtvoll.de>
Cc: Seth Jennings <sjenning@linux.vnet.ibm.com>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: zswap: How to determine whether it is compressing swap pages?
Date: Wed, 17 Jul 2013 06:36:05 -0400 [thread overview]
Message-ID: <20130717103604.GA31112@hacker.(null)> (raw)
In-Reply-To: <1674223.HVFdAhB7u5@merkaba>
On Wed, Jul 17, 2013 at 12:04:38PM +0200, Martin Steigerwald wrote:
>Hi Seth, hi everyone,
>
>Yesterday I build 3.11-rc1 with CONFIG_ZSWAP and wanted to test it.
>
>I added zswap.enabled=1 and get:
>
>martin@merkaba:~> dmesg | grep zswap
>[ 0.000000] Command line: BOOT_IMAGE=/vmlinuz-3.11.0-rc1-tp520+
>root=/dev/mapper/merkaba-debian ro rootflags=subvol=root init=/bin/systemd
>cgroup_enable=memory threadirqs i915.i915_enable_rc6=7 zcache zswap.enabled=1
>[ 0.000000] Kernel command line: BOOT_IMAGE=/vmlinuz-3.11.0-rc1-tp520+
>root=/dev/mapper/merkaba-debian ro rootflags=subvol=root init=/bin/systemd
>cgroup_enable=memory threadirqs i915.i915_enable_rc6=7 zcache zswap.enabled=1
>[ 1.452443] zswap: loading zswap
>[ 1.452465] zswap: using lzo compressor
>
>
>I did a stress -m 1 --vm-keep --vm-bytes 4G on this 8 GB ThinkPad T520 in
>order to allocate some swap.
>
You can check /sys/kernel/debug/frontswap/succ_stores, if succ_stores is
0 it means that the memory pressure is still not heavy and none pages
need be swapped out.
>Still I think zswap didn't do anything:
>
>merkaba:/sys/kernel/debug/zswap> grep . *
>duplicate_entry:0
>pool_limit_hit:0
>pool_pages:0
>reject_alloc_fail:0
>reject_compress_poor:0
>reject_kmemcache_fail:0
>reject_reclaim_fail:0
>stored_pages:0
>written_back_pages:0
>
>
>However:
>
>merkaba:/sys/kernel/slab/zswap_entry> grep . *
>aliases:9
>align:8
>grep: alloc_calls: Die angeforderte Funktion ist nicht implementiert
>cache_dma:0
>cpu_partial:0
>cpu_slabs:4 N0=4
>destroy_by_rcu:0
>grep: free_calls: Die angeforderte Funktion ist nicht implementiert
>hwcache_align:0
>min_partial:5
>objects:2550 N0=2550
>object_size:48
>objects_partial:0
>objs_per_slab:85
>order:0
>partial:0
>poison:0
>reclaim_account:0
>red_zone:0
>remote_node_defrag_ratio:100
>reserved:0
>sanity_checks:0
>slabs:30 N0=30
>slabs_cpu_partial:0(0)
>slab_size:48
>store_user:0
>total_objects:2550 N0=2550
>trace:0
>
>It has some objects it seems.
>
>
>How do I know whether zswap actually does something?
>
>Will zswap work even with zcache enabled? As I understand zcache compresses
>swap device pages on the block device level in addition to compressing read
>cache pages of usual filesystems. Which one takes precedence, zcache or zswap?
>Can I disable zcache for swap device?
>
>
zcache compression in file-cache and swap-cache layer.
zram compression in block layer.
zswap compression in swap-cache layer.
>
>Here is dmesg for zcache:
>
>martin@merkaba:~> dmesg | grep zcache
>[ 0.000000] Command line: BOOT_IMAGE=/vmlinuz-3.11.0-rc1-tp520+
>root=/dev/mapper/merkaba-debian ro rootflags=subvol=root init=/bin/systemd
>cgroup_enable=memory threadirqs i915.i915_enable_rc6=7 zcache zswap.enabled=1
>[ 0.000000] Kernel command line: BOOT_IMAGE=/vmlinuz-3.11.0-rc1-tp520+
>root=/dev/mapper/merkaba-debian ro rootflags=subvol=root init=/bin/systemd
>cgroup_enable=memory threadirqs i915.i915_enable_rc6=7 zcache zswap.enabled=1
>[ 1.453531] zcache: using lzo compressor
>[ 1.453634] zcache: cleancache enabled using kernel transcendent memory and
>compression buddies
>[ 1.453679] zcache: frontswap enabled using kernel transcendent memory and
>compression buddies
>[ 1.453722] zcache: frontswap_ops overridden
>[ 5.358288] zcache: created ephemeral local tmem pool, id=0
>[ 8.155684] zcache: created persistent local tmem pool, id=1
>[ 8.331680] zcache: created ephemeral local tmem pool, id=2
>[ 8.593235] zcache: created ephemeral local tmem pool, id=3
>[ 8.743330] zcache: created ephemeral local tmem pool, id=4
>
This means zcache is configured for compressing file-cache pages and anonymous pages.
Regards,
Wanpeng Li
>
>Thanks,
>--
>Martin 'Helios' Steigerwald - http://www.Lichtvoll.de
>GPG: 03B0 0D6C 0040 0710 4AFA B82F 991B EAAC A599 84C7
>
>--
>To unsubscribe, send a message with 'unsubscribe linux-mm' in
>the body to majordomo@kvack.org. For more info on Linux MM,
>see: http://www.linux-mm.org/ .
>Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2013-07-17 10:36 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-17 10:04 zswap: How to determine whether it is compressing swap pages? Martin Steigerwald
2013-07-17 10:36 ` Wanpeng Li
2013-07-17 10:36 ` Wanpeng Li [this message]
2013-07-17 10:42 ` Bob Liu
2013-07-17 11:41 ` Martin Steigerwald
[not found] ` <20130717143834.GA4379@variantweb.net>
2013-07-17 19:38 ` Martin Steigerwald
2013-07-18 12:43 ` Bob Liu
2013-07-18 17:36 ` Valdis.Kletnieks
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='20130717103604.GA31112@hacker.(null)' \
--to=liwanp@linux.vnet.ibm.com \
--cc=Martin@lichtvoll.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=sjenning@linux.vnet.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).