Re: [PATCH 0/6] new zram statistics reporting scheme

From: Minchan Kim
Date: Wed Mar 11 2015 - 21:56:12 EST


Hi Sergey,

On Wed, Mar 11, 2015 at 12:08:28AM +0900, Sergey Senozhatsky wrote:
> 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).

I really appreciate you enhance stat functions, esp, working with iostat!

One thing I want to discuss is sometime we could remove RO fields
in /sys/block/zram/ but we couldn't remove RW fields because
io_stat/mm_stat doesn't have any writable option now so users will
have two options to read stat. For exmaple,

cat /sys/block/zram/mem_used_max
cat /sys/block/zram/mm_stat | awk friend

How about changing only writeable, not readable for duplicated stats
in /sys/block/zram? So, user will have writeable stat to set some
options in /sys/block/zram and readable stat to get some data in
/sys/block/zram/[io|mm]_stat if the stat is duplicated in both.


--
Kind regards,
Minchan Kim
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/