Skip to content

Commit 10447b6

Browse files
sergey-senozhatskytorvalds
authored andcommitted
zram: remove `num_migrated' device attr
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: Sergey Senozhatsky <sergey.senozhatsky@gmail.com> Acked-by: Minchan Kim <minchan@kernel.org> Cc: Nitin Gupta <ngupta@vflare.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1 parent 888fa37 commit 10447b6

File tree

2 files changed

+0
-9
lines changed

2 files changed

+0
-9
lines changed

Documentation/ABI/testing/sysfs-block-zram

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -149,10 +149,3 @@ Description:
149149
The compact file is write-only and trigger compaction for
150150
allocator zrm uses. The allocator moves some objects so that
151151
it could free fragment space.
152-
153-
What: /sys/block/zram<id>/num_migrated
154-
Date: August 2015
155-
Contact: Minchan Kim <minchan@kernel.org>
156-
Description:
157-
The compact file is read-only and shows how many object
158-
migrated by compaction.

drivers/block/zram/zram_drv.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1057,7 +1057,6 @@ ZRAM_ATTR_RO(invalid_io);
10571057
ZRAM_ATTR_RO(notify_free);
10581058
ZRAM_ATTR_RO(zero_pages);
10591059
ZRAM_ATTR_RO(compr_data_size);
1060-
ZRAM_ATTR_RO(num_migrated);
10611060

10621061
static struct attribute *zram_disk_attrs[] = {
10631062
&dev_attr_disksize.attr,
@@ -1067,7 +1066,6 @@ static struct attribute *zram_disk_attrs[] = {
10671066
&dev_attr_num_writes.attr,
10681067
&dev_attr_failed_reads.attr,
10691068
&dev_attr_failed_writes.attr,
1070-
&dev_attr_num_migrated.attr,
10711069
&dev_attr_compact.attr,
10721070
&dev_attr_invalid_io.attr,
10731071
&dev_attr_notify_free.attr,

0 commit comments

Comments
 (0)