Hello, This patch introduces rework to zram stats. We have per-stat sysfs nodes, and it makes things a bit hard to use in user space: it doesn't give an immediate stats 'snapshot', it requires user space to use more syscals -- open, read, close for every stat file, with appropriate error checks on every step, etc.
First, zram now accounts block layer statistics. available in /sys/block/zram<id>/stat and /proc/diskstats files. So some new stats are available (see Documentation/block/stat.txt), besides, zram's activities are now can be monitored by sysstat's iostat or similar tools. Example: cat /sys/block/zram0/stat 248 0 1984 0 251029 0 2008232 5120 0 5116 5116 Second, group currently exported on per-stat basis nodes into two categories (files): -- zram<id>/io_stat accumulates device's IO stats, that are not accounted by block layer, and contains: failed_reads failed_writes invalid_io notify_free Example: cat /sys/block/zram0/io_stat 0 0 0 652572 -- zram<id>/mm_stat accumulates zram mm stats and contains: orig_data_size compr_data_size mem_used_total mem_limit mem_used_max zero_pages num_migrated Example: cat /sys/block/zram0/mm_stat 434634752 270288572 279158784 0 579895296 15060 0 per-stat sysfs nodes are now considered to be deprecated and we plan to remove them (and clean up some of the existing stat code) in two years (as of now, there is no warning printed to syslog about deprecated stats being used). user space is advised to use the above mentioned 3 files. note: util-linux mailing list is not Cc-ed into this series. once we settle it down, I'll write to Karel. (we have several months ahead until 4.1 will be released). v3: -- show pid and comm in deprecated attr show() functions (Minchan) v2: -- fixed a couple of typos noted by Minchan -- documented obsolete ABI (Minchan) -- added pr_warn_once() to deprecated sysfs attr functions (Minchan) Sergey Senozhatsky (7): zram: remove `num_migrated' device attr zram: move compact_store() to sysfs functions area zram: use generic start/end io accounting zram: describe device attrs in documentation zram: export new 'io_stat' sysfs attrs zram: export new 'mm_stat' sysfs attrs zram: deprecate zram attrs sysfs nodes Documentation/ABI/obsolete/sysfs-block-zram | 119 ++++++++++++++++++++++++++++ Documentation/ABI/testing/sysfs-block-zram | 18 ++++- Documentation/blockdev/zram.txt | 91 +++++++++++++++++---- drivers/block/zram/zram_drv.c | 116 +++++++++++++++++++++------ 4 files changed, 303 insertions(+), 41 deletions(-) create mode 100644 Documentation/ABI/obsolete/sysfs-block-zram -- 2.3.2.223.g7a9409c -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/