Hi, Kazu
On my side, I still got the following error after applying the patch:
crash> files -p ffff8ea84c130938
INODE NRPAGES
ffff8ea84c130938 63375
PAGE PHYSICAL MAPPING INDEX CNT FLAGS
fffff5168860d000 218340000 ffff8ea84c130ab0 0 5 17ffffc0012076
referenced,uptodate,lru,active,workingset,private,head
files: do_xarray: callback operation failed: entry: 1 item: 0
Am I missing anything else?
Thanks
Lianbo
On Wed, Nov 22, 2023 at 1:02 PM HAGIO KAZUHITO(萩尾 一仁) <k-hagio-ab(a)nec.com>
wrote:
On 2023/11/21 17:42, Johan.Erlandsson(a)sony.com wrote:
>>>>> Hi
>>>>> Sharing 3 changes for zram regarding swap cache handling. Please
have a look.
>>>>>
>>>>> Subject: [PATCH 1/3] zram, swap cache missing page tree offset
>>>>> Subject: [PATCH 2/3] zram, swap cache entries are pointer to struct
page
>>>>> Subject: [PATCH 3/3] zram, exclude shadow entries from swap cache
lookup
>>>>
>>>> Thank you for the patches.
>>>>
>>>> > /* this already exists in maple_tree.h add to defs.h ? */
>>>>
>>>> Is it ok to add '#include maple_tree.h' ?
>>>
>>> Yes, that should work perfectly for 'xa_is_value'.
>>
>> Thanks for the reply.
>>
>> I'd like to squash the patches into a patch and add our signed-off-by
>> tags. Please let me know if there is any trouble with the attached
patch.
>
> All looks good, verified.
>
>>
>> One more thing, do you have any error message without the patch? I'd
>> like to add it to the commit log, if possible.
>
> No, I haven't seen any error messages. Short description what happens:
>
> - lookup_swap_cache() return NULL since do_xarray() call return FALSE
> - in try_zram_decompress(), since 'entry' is NULL, page is filled with 00
> if (!entry || (flags & ZRAM_FLAG_SAME_BIT)) {
>
> So without the patch, pages in swap cache will be seen to be a 'zero'
page.
Thanks for the description, added.
Linabo, I updated the attached patch.
Thanks,
Kazu