Re: [PATCH 3/3] zram: rework reported to end-user zram statistics

From: Jerome Marchand
Date: Tue Jan 14 2014 - 09:04:18 EST


On 01/14/2014 02:53 PM, Sergey Senozhatsky wrote:
> On (01/14/14 14:43), Jerome Marchand wrote:
> [..]
>>>>
>>>> That's weird: good/bad_compress are accounted, but it seems to me that
>>>> they are to never used in any way. If so, there is indeed no reason to
>>>> keep them.
>>>>
>>>>
>>>>> Account each sub-request
>>>>> compression size so we can calculate real device compression ratio.
>>>>
>>>> Your patch doesn't change the way pages_stored and compr[essed]_size
>>>> are accounted. What does your patch change that allow us to calculate
>>>> the "real" compression ratio?
>>>>
>>>>>
>>>>> 4) reported zram stats:
>>>>> - num_writes -- number of writes
>>>>> - num_reads -- number of reads
>>>>> - pages_stored -- number of pages currently stored
>>>>> - compressed_size -- compressed size of pages stored
>>>>
>>>> Wouldn't it be more practical to report the original and compressed
>>>> data sizes using the same units as it is currently done?
>>>>
>>>
>>> hm, do we really need pages_stored stats? what kind of unseful information it
>>> shows to end user?.. perhaps, it's better to replace it with accounted passed
>>> bvec->bv_len (as uncompressed_size).
>>>
>>
>> That's really going to complicates things. We would need to keep track
>> of which sectors of a particular page has been written to. It's much
>> easier to keep current page granularity and consider any partial I/O
>> as an whole page I/O.
>>
>
> fair enough. thank you.
>
> 2/3 and 3/3 were changed according to your comments:
> - 2/3 drop READA check
> - 3/3 update commit message.
>
> ready to re-publish. may I add your ACK to all 3 patches or just to 1/3?

The READA thing was my only concern for 2/3, so yes for this one.
Concerning the third patch, I'd like to see what other people think
about which stats we want to report.

>
> -ss
>
>>>
>>>> Jerome
>>>>
>>>>> - pages_zero -- number of zero filled pages
>>>>> - failed_read -- number of failed reads
>>>>> - failed_writes -- can happen when memory is too low
>>>>> - invalid_io -- non-page-aligned I/O requests
>>>>> - notify_free -- number of swap slot free notifications
>>>>> - memory_used -- zs pool zs_get_total_size_bytes()
>>>>>
>>>>> Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
>>
>>

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