|
@@ -924,20 +924,7 @@ 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.
|
|
|
- */
|
|
|
-void lock_zspage(struct zspage *zspage)
|
|
|
-{
|
|
|
- struct page *page = get_first_page(zspage);
|
|
|
-
|
|
|
- do {
|
|
|
- lock_page(page);
|
|
|
- } while ((page = get_next_page(page)) != NULL);
|
|
|
-}
|
|
|
-
|
|
|
-int trylock_zspage(struct zspage *zspage)
|
|
|
+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)
|
|
|
{
|
|
@@ -1905,7 +1905,7 @@ static void replace_sub_page(struct size_class *class, struct zspage *zspage,
|
|
|
__SetPageMovable(newpage, page_mapping(oldpage));
|
|
|
}
|
|
|
|
|
|
-bool zs_page_isolate(struct page *page, isolate_mode_t mode)
|
|
|
+static bool zs_page_isolate(struct page *page, isolate_mode_t mode)
|
|
|
{
|
|
|
struct zs_pool *pool;
|
|
|
struct size_class *class;
|
|
@@ -1960,7 +1960,7 @@ bool zs_page_isolate(struct page *page, isolate_mode_t mode)
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
-int zs_page_migrate(struct address_space *mapping, struct page *newpage,
|
|
|
+static int zs_page_migrate(struct address_space *mapping, struct page *newpage,
|
|
|
struct page *page, enum migrate_mode mode)
|
|
|
{
|
|
|
struct zs_pool *pool;
|
|
@@ -2076,7 +2076,7 @@ unpin_objects:
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
-void zs_page_putback(struct page *page)
|
|
|
+static void zs_page_putback(struct page *page)
|
|
|
{
|
|
|
struct zs_pool *pool;
|
|
|
struct size_class *class;
|
|
@@ -2108,7 +2108,7 @@ void zs_page_putback(struct page *page)
|
|
|
spin_unlock(&class->lock);
|
|
|
}
|
|
|
|
|
|
-const struct address_space_operations zsmalloc_aops = {
|
|
|
+static const struct address_space_operations zsmalloc_aops = {
|
|
|
.isolate_page = zs_page_isolate,
|
|
|
.migratepage = zs_page_migrate,
|
|
|
.putback_page = zs_page_putback,
|