[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v3 43/49] mm: shrinker: remove old APIs



Now no users are using the old APIs, just remove them.

Signed-off-by: Qi Zheng <zhengqi.arch@xxxxxxxxxxxxx>
Reviewed-by: Muchun Song <songmuchun@xxxxxxxxxxxxx>
---
 include/linux/shrinker.h |   7 --
 mm/shrinker.c            | 143 ---------------------------------------
 2 files changed, 150 deletions(-)

diff --git a/include/linux/shrinker.h b/include/linux/shrinker.h
index cc23ff0aee20..c55c07c3f0cb 100644
--- a/include/linux/shrinker.h
+++ b/include/linux/shrinker.h
@@ -103,13 +103,6 @@ struct shrinker *shrinker_alloc(unsigned int flags, const 
char *fmt, ...);
 void shrinker_register(struct shrinker *shrinker);
 void shrinker_free(struct shrinker *shrinker);
 
-extern int __printf(2, 3) prealloc_shrinker(struct shrinker *shrinker,
-                                           const char *fmt, ...);
-extern void register_shrinker_prepared(struct shrinker *shrinker);
-extern int __printf(2, 3) register_shrinker(struct shrinker *shrinker,
-                                           const char *fmt, ...);
-extern void unregister_shrinker(struct shrinker *shrinker);
-extern void free_prealloced_shrinker(struct shrinker *shrinker);
 extern void synchronize_shrinkers(void);
 
 #ifdef CONFIG_SHRINKER_DEBUG
diff --git a/mm/shrinker.c b/mm/shrinker.c
index 43a375f954f3..3ab301ff122d 100644
--- a/mm/shrinker.c
+++ b/mm/shrinker.c
@@ -651,149 +651,6 @@ void shrinker_free(struct shrinker *shrinker)
 }
 EXPORT_SYMBOL_GPL(shrinker_free);
 
-/*
- * Add a shrinker callback to be called from the vm.
- */
-static int __prealloc_shrinker(struct shrinker *shrinker)
-{
-       unsigned int size;
-       int err;
-
-       if (shrinker->flags & SHRINKER_MEMCG_AWARE) {
-               err = prealloc_memcg_shrinker(shrinker);
-               if (err != -ENOSYS)
-                       return err;
-
-               shrinker->flags &= ~SHRINKER_MEMCG_AWARE;
-       }
-
-       size = sizeof(*shrinker->nr_deferred);
-       if (shrinker->flags & SHRINKER_NUMA_AWARE)
-               size *= nr_node_ids;
-
-       shrinker->nr_deferred = kzalloc(size, GFP_KERNEL);
-       if (!shrinker->nr_deferred)
-               return -ENOMEM;
-
-       return 0;
-}
-
-#ifdef CONFIG_SHRINKER_DEBUG
-int prealloc_shrinker(struct shrinker *shrinker, const char *fmt, ...)
-{
-       va_list ap;
-       int err;
-
-       va_start(ap, fmt);
-       shrinker->name = kvasprintf_const(GFP_KERNEL, fmt, ap);
-       va_end(ap);
-       if (!shrinker->name)
-               return -ENOMEM;
-
-       err = __prealloc_shrinker(shrinker);
-       if (err) {
-               kfree_const(shrinker->name);
-               shrinker->name = NULL;
-       }
-
-       return err;
-}
-#else
-int prealloc_shrinker(struct shrinker *shrinker, const char *fmt, ...)
-{
-       return __prealloc_shrinker(shrinker);
-}
-#endif
-
-void free_prealloced_shrinker(struct shrinker *shrinker)
-{
-#ifdef CONFIG_SHRINKER_DEBUG
-       kfree_const(shrinker->name);
-       shrinker->name = NULL;
-#endif
-       if (shrinker->flags & SHRINKER_MEMCG_AWARE) {
-               down_write(&shrinker_rwsem);
-               unregister_memcg_shrinker(shrinker);
-               up_write(&shrinker_rwsem);
-               return;
-       }
-
-       kfree(shrinker->nr_deferred);
-       shrinker->nr_deferred = NULL;
-}
-
-void register_shrinker_prepared(struct shrinker *shrinker)
-{
-       down_write(&shrinker_rwsem);
-       list_add_tail(&shrinker->list, &shrinker_list);
-       shrinker->flags |= SHRINKER_REGISTERED;
-       shrinker_debugfs_add(shrinker);
-       up_write(&shrinker_rwsem);
-}
-
-static int __register_shrinker(struct shrinker *shrinker)
-{
-       int err = __prealloc_shrinker(shrinker);
-
-       if (err)
-               return err;
-       register_shrinker_prepared(shrinker);
-       return 0;
-}
-
-#ifdef CONFIG_SHRINKER_DEBUG
-int register_shrinker(struct shrinker *shrinker, const char *fmt, ...)
-{
-       va_list ap;
-       int err;
-
-       va_start(ap, fmt);
-       shrinker->name = kvasprintf_const(GFP_KERNEL, fmt, ap);
-       va_end(ap);
-       if (!shrinker->name)
-               return -ENOMEM;
-
-       err = __register_shrinker(shrinker);
-       if (err) {
-               kfree_const(shrinker->name);
-               shrinker->name = NULL;
-       }
-       return err;
-}
-#else
-int register_shrinker(struct shrinker *shrinker, const char *fmt, ...)
-{
-       return __register_shrinker(shrinker);
-}
-#endif
-EXPORT_SYMBOL(register_shrinker);
-
-/*
- * Remove one
- */
-void unregister_shrinker(struct shrinker *shrinker)
-{
-       struct dentry *debugfs_entry;
-       int debugfs_id;
-
-       if (!(shrinker->flags & SHRINKER_REGISTERED))
-               return;
-
-       down_write(&shrinker_rwsem);
-       list_del(&shrinker->list);
-       shrinker->flags &= ~SHRINKER_REGISTERED;
-       if (shrinker->flags & SHRINKER_MEMCG_AWARE)
-               unregister_memcg_shrinker(shrinker);
-       debugfs_entry = shrinker_debugfs_detach(shrinker, &debugfs_id);
-       up_write(&shrinker_rwsem);
-
-       shrinker_debugfs_remove(debugfs_entry, debugfs_id);
-
-       kfree(shrinker->nr_deferred);
-       shrinker->nr_deferred = NULL;
-}
-EXPORT_SYMBOL(unregister_shrinker);
-
 /**
  * synchronize_shrinkers - Wait for all running shrinkers to complete.
  *
-- 
2.30.2




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.