Re: [External] Re: [PATCH] mm: zswap: fix the lack of page lru flag in zswap_writeback_entry

From: Matthew Wilcox
Date: Tue Jan 16 2024 - 17:21:04 EST


On Tue, Jan 16, 2024 at 09:40:05PM +0800, Zhongkun He wrote:
> 2) __read_swap_cache_async has six parameters, so there is no space to
> add a new one, add_to_lru_head.

That's easy enough. Define a new set of flags, make one of them the
equivalent of skip_if_exists. Something like:

typedef unsigned int __bitwise read_swap_t;

#define READ_SWAP_SKIP_EXISTING ((__force read_swap_t)0x00000001)
#define READ_SWAP_ADD_TAIL ((__force read_swap_t)0x00000002)

There's only six callers of __read_swap_cache_async() to convert, so not
really a big deal.