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@xxxxxxxxx. For more info on Linux MM, >see: http://www.linux-mm.org/ . >Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a> -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>