Hi Sergey and Joonsoo, On Wed, Apr 26, 2017 at 02:57:03PM +0900, Joonsoo Kim wrote: > On Wed, Apr 26, 2017 at 11:14:52AM +0900, Sergey Senozhatsky wrote: > > Hello, > > > > On (04/26/17 09:52), js1...@gmail.com wrote: > > [..] > > > ret = scnprintf(buf, PAGE_SIZE, > > > - "%8llu %8llu %8llu %8lu %8ld %8llu %8lu\n", > > > + "%8llu %8llu %8llu %8lu %8ld %8llu %8lu %8llu %8llu\n", > > > orig_size << PAGE_SHIFT, > > > (u64)atomic64_read(&zram->stats.compr_data_size), > > > mem_used << PAGE_SHIFT, > > > zram->limit_pages << PAGE_SHIFT, > > > max_used << PAGE_SHIFT, > > > (u64)atomic64_read(&zram->stats.same_pages), > > > - pool_stats.pages_compacted); > > > + pool_stats.pages_compacted, > > > + zram_dedup_dup_size(zram), > > > + zram_dedup_meta_size(zram)); > > > > hm... should't we subtract zram_dedup_dup_size(zram) from > > ->stats.compr_data_size? we don't use extra memory for dedupped > > pages. or don't inc ->stats.compr_data_size for dedupped pages? > > Hmm... My intention is to keep previous stat as much as possible. User > can just notice the saving by only checking mem_used. > > However, it's also odd that compr_data_size doesn't show actual > compressed data size.
Actually, I found it for the last review cycle but didn't say that intentionally. Because it is also odd to me that pages_stored isn't increased for same_pages so I thought we can fix it all. I mean: * normal page inc pages_stored inc compr_data_size * same_page inc pages_stored inc same_pages * dedup_page inc pages_stored inc dup_data_size IOW, pages_stored should be increased for every write IO. But the concern is we have said in zram.txt orig_data_size uncompressed size of data stored in this disk. This excludes same-element-filled pages (same_pages) since no memory is allocated for them. So, we might be too late. :-( What do you think about it? If anyone doesn't have any objection, I want to correct it all. Thanks.