zram: add incompressible flag to read_block_state()
Add a new flag to zram block state that shows if the page is incompressible: that none of the algorithm (including secondary ones) could compress it. Link: https://lkml.kernel.org/r/20221109115047.2921851-14-senozhatsky@chromium.org Suggested-by: Minchan Kim <minchan@kernel.org> Signed-off-by: Sergey Senozhatsky <senozhatsky@chromium.org> Acked-by: Minchan Kim <minchan@kernel.org> Cc: Alexey Romanov <avromanov@sberdevices.ru> Cc: Nhat Pham <nphamcs@gmail.com> Cc: Nitin Gupta <ngupta@vflare.org> Cc: Suleiman Souhlal <suleiman@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
Родитель
b46f9ea3cb
Коммит
77db7bb56b
|
@ -497,10 +497,11 @@ pages of the process with*pagemap.
|
|||
If you enable the feature, you could see block state via
|
||||
/sys/kernel/debug/zram/zram0/block_state". The output is as follows::
|
||||
|
||||
300 75.033841 .wh..
|
||||
301 63.806904 s....
|
||||
302 63.806919 ..hi.
|
||||
303 62.801919 ....r
|
||||
300 75.033841 .wh...
|
||||
301 63.806904 s.....
|
||||
302 63.806919 ..hi..
|
||||
303 62.801919 ....r.
|
||||
304 146.781902 ..hi.n
|
||||
|
||||
First column
|
||||
zram's block index.
|
||||
|
@ -519,6 +520,8 @@ Third column
|
|||
idle page
|
||||
r:
|
||||
recompressed page (secondary compression algorithm)
|
||||
n:
|
||||
none (including secondary) of algorithms could compress it
|
||||
|
||||
First line of above example says 300th block is accessed at 75.033841sec
|
||||
and the block's state is huge so it is written back to the backing
|
||||
|
|
|
@ -946,14 +946,16 @@ static ssize_t read_block_state(struct file *file, char __user *buf,
|
|||
|
||||
ts = ktime_to_timespec64(zram->table[index].ac_time);
|
||||
copied = snprintf(kbuf + written, count,
|
||||
"%12zd %12lld.%06lu %c%c%c%c%c\n",
|
||||
"%12zd %12lld.%06lu %c%c%c%c%c%c\n",
|
||||
index, (s64)ts.tv_sec,
|
||||
ts.tv_nsec / NSEC_PER_USEC,
|
||||
zram_test_flag(zram, index, ZRAM_SAME) ? 's' : '.',
|
||||
zram_test_flag(zram, index, ZRAM_WB) ? 'w' : '.',
|
||||
zram_test_flag(zram, index, ZRAM_HUGE) ? 'h' : '.',
|
||||
zram_test_flag(zram, index, ZRAM_IDLE) ? 'i' : '.',
|
||||
zram_get_priority(zram, index) ? 'r' : '.');
|
||||
zram_get_priority(zram, index) ? 'r' : '.',
|
||||
zram_test_flag(zram, index,
|
||||
ZRAM_INCOMPRESSIBLE) ? 'n' : '.');
|
||||
|
||||
if (count <= copied) {
|
||||
zram_slot_unlock(zram, index);
|
||||
|
|
Загрузка…
Ссылка в новой задаче