• Sergey Senozhatsky's avatar
    zram: remove `num_migrated' device attr · 10447b60
    Sergey Senozhatsky authored
    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 syscalls -
    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
    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.
    
    This patch (of 7):
    
    Remove sysfs `num_migrated' attribute.  We are moving away from per-stat
    device attrs towards 3 stat files that will accumulate io and mm stats in
    a format similar to block layer statistics in /sys/block/<dev>/stat.  That
    will be easier to use in user space, and reduce the number of syscalls
    needed to read zram device statistics.
    
    `num_migrated' will return back in zram<id>/mm_stat file.
    Signed-off-by: default avatarSergey Senozhatsky <sergey.senozhatsky@gmail.com>
    Acked-by: default avatarMinchan Kim <minchan@kernel.org>
    Cc: Nitin Gupta <ngupta@vflare.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    10447b60
sysfs-block-zram 5.2 KB