On Tue, Mar 27, 2018 at 11:21:26AM +0900, Sergey Senozhatsky wrote: > On (03/26/18 15:49), Minchan Kim wrote: > [..] > > +static ssize_t read_access_time(struct file *file, char __user *buf, > > + size_t count, loff_t *ppos) > > +{ > [..] > > + > > + for (index = *ppos; index < nr_pages; index++) { > > + zram_slot_lock(zram, index); > > + if (zram_test_flag(zram, index, ZRAM_WB)) > > + goto next; > > I think it'll be better to show ZRAM_WB pages as well. Those pages > are swapped out pages after all, consuming swap space - a physical > page. Freeing those should also be beneficial. So tracking "bad" > incompressible pages is quite handful. > > > + if (zram_test_flag(zram, index, ZRAM_SAME)) > > + goto next; > > + if (!zram_get_handle(zram, index)) > > + goto next; > > + > > + ret = snprintf(kbuf + written, remained, "%lu %lu\n", index, > > + get_seconds() - zram->table[index].ac_time); > > So here you can add a flag after index and age which will tell if the page > is in zsmalloc pool or on backing swap device.
Yeb, that's the way I'm approach during our discussion! Thanks for the review, Sergey!