@@ -924,19 +924,6 @@ static void reset_page(struct page *page)
page->freelist = NULL;
}
-/*
- * To prevent zspage destroy during migration, zspage freeing should
- * hold locks of all pages in the zspage.
- */
-static void lock_zspage(struct zspage *zspage)
-{
- struct page *page = get_first_page(zspage);
-
- do {
- lock_page(page);
- } while ((page = get_next_page(page)) != NULL);
-}
-
static int trylock_zspage(struct zspage *zspage)
{
struct page *cursor, *fail;
@@ -1814,6 +1801,19 @@ static enum fullness_group putback_zspage(struct size_class *class,
}
#ifdef CONFIG_COMPACTION
+/*
+ * To prevent zspage destroy during migration, zspage freeing should
+ * hold locks of all pages in the zspage.
+ */
+static void lock_zspage(struct zspage *zspage)
+{
+ struct page *page = get_first_page(zspage);
+
+ do {
+ lock_page(page);
+ } while ((page = get_next_page(page)) != NULL);
+}
+
static struct dentry *zs_mount(struct file_system_type *fs_type,
int flags, const char *dev_name,
void *data, size_t data_size)
Making lock_zspage() static revealed that it is unused in some confiurations: mm/zsmalloc.c:931:13: error: 'lock_zspage' defined but not used [-Werror=unused-function] I considered moving it into the same #ifdef that hides its user, but it seems better to keep it close to trylock_zspage() etc, so this marks it __maybe_unused() to let the compiler drop it without warning about it. Fixes: 0de664ada6b6 ("mm/zsmalloc.c: make several functions and a struct static") Signed-off-by: Arnd Bergmann <arnd@arndb.de> --- mm/zsmalloc.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-)