Re: [PATCH -next] zram: fix compr_data_size stat

From: Yisheng Xie
Date: Mon Aug 14 2017 - 05:29:02 EST


Hi, Minchan

Thanks for your comment!
On 2017/8/14 16:08, Minchan Kim wrote:
> Hi Yisheng,
>
> Thanks for the all fixup!
> A minor nitpick below:
>
> On Fri, Aug 11, 2017 at 09:10:32AM +0800, Yisheng Xie wrote:
>> The compr_data_size is a stat for compressed size of pages stored, which
>> should add comp_len when we compresse a page.
>>
>> Meanwhile fix typos in comment:
>> * ZRAM_SAME means page consists the same element not the entirely zero page
>> * read_from_bdev_async() return 1 to avoid call page_endio() in zram_rw_page()
>>
>> Signed-off-by: Yisheng Xie <xieyisheng1@xxxxxxxxxx>
>> ---
>> drivers/block/zram/zram_drv.c | 3 ++-
>> drivers/block/zram/zram_drv.h | 2 +-
>> 2 files changed, 3 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/block/zram/zram_drv.c b/drivers/block/zram/zram_drv.c
>> index e27daca..b2b75b1 100644
>> --- a/drivers/block/zram/zram_drv.c
>> +++ b/drivers/block/zram/zram_drv.c
>> @@ -455,7 +455,7 @@ void zram_page_end_io(struct bio *bio)
>> }
>>
>> /*
>> - * Returns 0 if the submission is successful.
>> + * Returns 1 if the submission is successful.
>> */
>> static int read_from_bdev_async(struct zram *zram, struct bio_vec *bvec,
>> unsigned long entry, struct bio *parent)
>> @@ -1073,6 +1073,7 @@ static int __zram_bvec_write(struct zram *zram, struct bio_vec *bvec,
>> } else {
>> zram_set_handle(zram, index, handle);
>> zram_set_obj_size(zram, index, comp_len);
>> + atomic64_add(comp_len, &zram->stats.compr_data_size);
>
> I want to add the accounting line to zs_unmap_object.

Right, this accounting can be done without slot lock!

You will fold this patch? or should I send another version?

Thanks
Yisheng