Re: + zram-support-compaction.patch added to -mm tree

From: Sergey Senozhatsky
Date: Sun Mar 08 2015 - 22:07:31 EST


On (03/09/15 10:47), Minchan Kim wrote:
> > >
> > > It's not enough. What I want to know is compaction efficiency per client of
> > > zsmalloc(ie, zram).
> > >
> >
> > so what a typical user can do with this information? isn't it an entirely
> > debug info that makes some hidden sense only to developers?
>
> Absolutely true.
>
> >
> > if you insist on exporting this as a zram stat for everyone how obout
> > starting to move away from per-stat RO sysfs attrs. it seems that we have
> > uncomfortably a lot of sysfs attrs, and that doesn't make life easier in
> > user space. for example, block devices have /sys/block/.../stat file:
> >
> > /sys/block/sda$ cat stat
> > 45931 59 2075686 289906 55768 9229 1967800 318033 0 193583 607806
> >
> > and there are no num_reads, num_writes, num_failed_reads, num_failed_writes,
> > etc., etc. per-stat sysfs attrs force user-space to do lots of syscalls:
> > open(), read(), close() with error control on every step; for every stat.
>
> I absoulte agree with you and I really wanted to tidy it up but was no
> time. Sergey, Could you contribute? If you have no time, I will do by
> myself but it would be low priority now.

sure. I can handle it.


I was thinking for some time already about splitting stats that we
export in two categories and, thus, two files: IO_stats and MM_stats.

zram<id>/io_stat

s*printf( num_reads, num_writes, failed_reads, failed_writes, etc.)

zram<id>/mm_stat
s*printf( orig_data_size, compr_data_size, mem_used_total, num_migrated, etc.)



so hoprefully in several years we can entirely remove ZRAM_ATTR_RO functions.
probably, first moving them under #ifdef CONFIG_OLD_ZRAM_STATS at some point
in the future.

-ss
--
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/