On 7/17/23 16:12, Johannes Weiner wrote: > On Sat, Jul 15, 2023 at 04:42:13AM +0100, Matthew Wilcox wrote: >> On Fri, Jul 14, 2023 at 03:46:08PM -0400, Johannes Weiner wrote: >> > diff --git a/mm/zswap.c b/mm/zswap.c >> > index 62195f72bf56..1b0128060792 100644 >> > --- a/mm/zswap.c >> > +++ b/mm/zswap.c >> > @@ -2,7 +2,7 @@ >> > /* >> > * zswap.c - zswap driver file >> > * >> > - * zswap is a backend for frontswap that takes pages that are in the process >> > + * zswap is a cache that takes pages that are in the process >> > * of being swapped out and attempts to compress and store them in a >> > * RAM-based memory pool. This can result in a significant I/O reduction on >> > * the swap device and, in the case where decompressing from RAM is faster >> > @@ -20,7 +20,6 @@ >> > #include <linux/spinlock.h> >> > #include <linux/types.h> >> > #include <linux/atomic.h> >> > -#include <linux/frontswap.h> >> > #include <linux/rbtree.h> >> > #include <linux/swap.h> >> > #include <linux/crypto.h> >> >> To make this patch compile, I had to add zswap.h to the include list. > > I can fix that up, but I'm curious what kind of failure you saw. It > built fine for me, not even a warning. I get warnings but only with W=1 (worth fixing up though). CC mm/zswap.o mm/zswap.c:1203:6: warning: no previous prototype for ‘zswap_store’ [-Wmissing-prototypes] 1203 | bool zswap_store(struct page *page) | ^~~~~~~~~~~ mm/zswap.c:1382:6: warning: no previous prototype for ‘zswap_load’ [-Wmissing-prototypes] 1382 | bool zswap_load(struct page *page) | ^~~~~~~~~~ mm/zswap.c:1470:6: warning: no previous prototype for ‘zswap_invalidate’ [-Wmissing-prototypes] 1470 | void zswap_invalidate(int type, pgoff_t offset) | ^~~~~~~~~~~~~~~~ mm/zswap.c:1487:6: warning: no previous prototype for ‘zswap_swapon’ [-Wmissing-prototypes] 1487 | void zswap_swapon(int type) | ^~~~~~~~~~~~ mm/zswap.c:1502:6: warning: no previous prototype for ‘zswap_swapoff’ [-Wmissing-prototypes] 1502 | void zswap_swapoff(int type) | ^~~~~~~~~~~~~