From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1435071AbdDZG3u (ORCPT ); Wed, 26 Apr 2017 02:29:50 -0400 Received: from LGEAMRELO13.lge.com ([156.147.23.53]:46631 "EHLO lgeamrelo13.lge.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1434617AbdDZG3n (ORCPT ); Wed, 26 Apr 2017 02:29:43 -0400 X-Original-SENDERIP: 156.147.1.121 X-Original-MAILFROM: minchan@kernel.org X-Original-SENDERIP: 10.177.223.161 X-Original-MAILFROM: minchan@kernel.org Date: Wed, 26 Apr 2017 15:29:38 +0900 From: Minchan Kim To: Joonsoo Kim Cc: Sergey Senozhatsky , Andrew Morton , Sergey Senozhatsky , linux-kernel@vger.kernel.org, kernel-team@lge.com Subject: Re: [PATCH v4 2/4] zram: implement deduplication in zram Message-ID: <20170426062938.GA19907@bbox> References: <1493167946-10936-1-git-send-email-iamjoonsoo.kim@lge.com> <1493167946-10936-3-git-send-email-iamjoonsoo.kim@lge.com> <20170426021452.GA673@jagdpanzerIV.localdomain> <20170426055700.GA29773@js1304-desktop> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170426055700.GA29773@js1304-desktop> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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), js1304@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.