/linux-6.3-rc2/include/linux/ |
A D | shrinker.h | 63 struct shrinker { struct 99 extern int __printf(2, 3) prealloc_shrinker(struct shrinker *shrinker, 101 extern void register_shrinker_prepared(struct shrinker *shrinker); 102 extern int __printf(2, 3) register_shrinker(struct shrinker *shrinker, 104 extern void unregister_shrinker(struct shrinker *shrinker); 105 extern void free_prealloced_shrinker(struct shrinker *shrinker); 109 extern int shrinker_debugfs_add(struct shrinker *shrinker); 110 extern struct dentry *shrinker_debugfs_remove(struct shrinker *shrinker); 111 extern int __printf(2, 3) shrinker_debugfs_rename(struct shrinker *shrinker, 114 static inline int shrinker_debugfs_add(struct shrinker *shrinker) in shrinker_debugfs_add() argument [all …]
|
A D | list_lru.h | 61 struct lock_class_key *key, struct shrinker *shrinker); 67 #define list_lru_init_memcg(lru, shrinker) \ argument 68 __list_lru_init((lru), true, NULL, shrinker)
|
/linux-6.3-rc2/mm/ |
A D | shrinker_debug.c | 16 static unsigned long shrinker_count_objects(struct shrinker *shrinker, in shrinker_count_objects() argument 31 nr = shrinker->count_objects(shrinker, &sc); in shrinker_count_objects() 47 struct shrinker *shrinker = m->private; in shrinker_debugfs_count_show() local 112 struct shrinker *shrinker = file->private_data; in shrinker_debugfs_scan_write() local 160 shrinker->scan_objects(shrinker, &sc); in shrinker_debugfs_scan_write() 174 int shrinker_debugfs_add(struct shrinker *shrinker) in shrinker_debugfs_add() argument 208 int shrinker_debugfs_rename(struct shrinker *shrinker, const char *fmt, ...) in shrinker_debugfs_rename() argument 225 old = shrinker->name; in shrinker_debugfs_rename() 226 shrinker->name = new; in shrinker_debugfs_rename() 249 struct dentry *shrinker_debugfs_remove(struct shrinker *shrinker) in shrinker_debugfs_remove() argument [all …]
|
A D | vmscan.c | 514 static long xchg_nr_deferred(struct shrinker *shrinker, in xchg_nr_deferred() argument 631 static int __prealloc_shrinker(struct shrinker *shrinker) in __prealloc_shrinker() argument 682 void free_prealloced_shrinker(struct shrinker *shrinker) in free_prealloced_shrinker() argument 708 static int __register_shrinker(struct shrinker *shrinker) in __register_shrinker() argument 748 void unregister_shrinker(struct shrinker *shrinker) in unregister_shrinker() argument 788 struct shrinker *shrinker, int priority) in do_shrink_slab() argument 796 long batch_size = shrinker->batch ? shrinker->batch in do_shrink_slab() 800 freeable = shrinker->count_objects(shrinker, shrinkctl); in do_shrink_slab() 853 ret = shrinker->scan_objects(shrinker, shrinkctl); in do_shrink_slab() 908 struct shrinker *shrinker; in shrink_slab_memcg() local [all …]
|
A D | workingset.c | 573 static unsigned long count_shadow_nodes(struct shrinker *shrinker, in count_shadow_nodes() argument 701 static unsigned long scan_shadow_nodes(struct shrinker *shrinker, in scan_shadow_nodes() argument 709 static struct shrinker workingset_shadow_shrinker = {
|
A D | zsmalloc.c | 258 struct shrinker shrinker; member 2311 static unsigned long zs_shrinker_scan(struct shrinker *shrinker, in zs_shrinker_scan() argument 2316 shrinker); in zs_shrinker_scan() 2328 static unsigned long zs_shrinker_count(struct shrinker *shrinker, in zs_shrinker_count() argument 2335 shrinker); in zs_shrinker_count() 2350 unregister_shrinker(&pool->shrinker); in zs_unregister_shrinker() 2355 pool->shrinker.scan_objects = zs_shrinker_scan; in zs_register_shrinker() 2356 pool->shrinker.count_objects = zs_shrinker_count; in zs_register_shrinker() 2357 pool->shrinker.batch = 0; in zs_register_shrinker() 2358 pool->shrinker.seeks = DEFAULT_SEEKS; in zs_register_shrinker() [all …]
|
A D | list_lru.c | 560 struct lock_class_key *key, struct shrinker *shrinker) in __list_lru_init() argument 565 if (shrinker) in __list_lru_init() 566 lru->shrinker_id = shrinker->id; in __list_lru_init()
|
/linux-6.3-rc2/drivers/gpu/drm/panfrost/ |
A D | panfrost_gem_shrinker.c | 19 panfrost_gem_shrinker_count(struct shrinker *shrinker, struct shrink_control *sc) in panfrost_gem_shrinker_count() argument 22 container_of(shrinker, struct panfrost_device, shrinker); in panfrost_gem_shrinker_count() 66 panfrost_gem_shrinker_scan(struct shrinker *shrinker, struct shrink_control *sc) in panfrost_gem_shrinker_scan() argument 69 container_of(shrinker, struct panfrost_device, shrinker); in panfrost_gem_shrinker_scan() 103 pfdev->shrinker.count_objects = panfrost_gem_shrinker_count; in panfrost_gem_shrinker_init() 104 pfdev->shrinker.scan_objects = panfrost_gem_shrinker_scan; in panfrost_gem_shrinker_init() 105 pfdev->shrinker.seeks = DEFAULT_SEEKS; in panfrost_gem_shrinker_init() 106 WARN_ON(register_shrinker(&pfdev->shrinker, "drm-panfrost")); in panfrost_gem_shrinker_init() 119 if (pfdev->shrinker.nr_deferred) { in panfrost_gem_shrinker_cleanup() 120 unregister_shrinker(&pfdev->shrinker); in panfrost_gem_shrinker_cleanup()
|
A D | panfrost_device.h | 121 struct shrinker shrinker; member
|
/linux-6.3-rc2/drivers/gpu/drm/msm/ |
A D | msm_gem_shrinker.c | 35 msm_gem_shrinker_count(struct shrinker *shrinker, struct shrink_control *sc) in msm_gem_shrinker_count() argument 38 container_of(shrinker, struct msm_drm_private, shrinker); in msm_gem_shrinker_count() 101 msm_gem_shrinker_scan(struct shrinker *shrinker, struct shrink_control *sc) in msm_gem_shrinker_scan() argument 104 container_of(shrinker, struct msm_drm_private, shrinker); in msm_gem_shrinker_scan() 149 ret = msm_gem_shrinker_scan(&priv->shrinker, &sc); in msm_gem_shrinker_shrink() 209 priv->shrinker.count_objects = msm_gem_shrinker_count; in msm_gem_shrinker_init() 210 priv->shrinker.scan_objects = msm_gem_shrinker_scan; in msm_gem_shrinker_init() 211 priv->shrinker.seeks = DEFAULT_SEEKS; in msm_gem_shrinker_init() 212 WARN_ON(register_shrinker(&priv->shrinker, "drm-msm_gem")); in msm_gem_shrinker_init() 228 if (priv->shrinker.nr_deferred) { in msm_gem_shrinker_cleanup() [all …]
|
/linux-6.3-rc2/drivers/gpu/drm/i915/gem/ |
A D | i915_gem_shrinker.c | 285 i915_gem_shrinker_count(struct shrinker *shrinker, struct shrink_control *sc) in i915_gem_shrinker_count() argument 288 container_of(shrinker, struct drm_i915_private, mm.shrinker); in i915_gem_shrinker_count() 305 i915->mm.shrinker.batch = in i915_gem_shrinker_count() 306 max((i915->mm.shrinker.batch + avg) >> 1, in i915_gem_shrinker_count() 314 i915_gem_shrinker_scan(struct shrinker *shrinker, struct shrink_control *sc) in i915_gem_shrinker_scan() argument 317 container_of(shrinker, struct drm_i915_private, mm.shrinker); in i915_gem_shrinker_scan() 425 i915->mm.shrinker.scan_objects = i915_gem_shrinker_scan; in i915_gem_driver_register__shrinker() 426 i915->mm.shrinker.count_objects = i915_gem_shrinker_count; in i915_gem_driver_register__shrinker() 427 i915->mm.shrinker.seeks = DEFAULT_SEEKS; in i915_gem_driver_register__shrinker() 428 i915->mm.shrinker.batch = 4096; in i915_gem_driver_register__shrinker() [all …]
|
/linux-6.3-rc2/Documentation/admin-guide/mm/ |
A D | shrinker_debugfs.rst | 9 For each shrinker registered in the system a directory in **<debugfs>/shrinker/** 10 is created. The directory's name is composed from the shrinker's name and an 13 Each shrinker directory contains **count** and **scan** files, which allow to 24 $ cd /sys/kernel/debug/shrinker/ 40 2. *Get information about a specific shrinker* 59 If the shrinker is not memcg-aware or CONFIG_MEMCG is off, 0 is printed 60 as cgroup inode id. If the shrinker is not numa-aware, 0's are printed 112 For a non-memcg-aware shrinker or on a system with no memory 116 $ cd /sys/kernel/debug/shrinker/
|
/linux-6.3-rc2/tools/cgroup/ |
A D | memcg_shrinker.py | 27 for shrinker in subdirs: 28 count_path = os.path.join(root, shrinker, "count") 34 shrinkers.append((int(items[1]), shrinker, ino))
|
/linux-6.3-rc2/drivers/virtio/ |
A D | virtio_balloon.c | 114 struct shrinker shrinker; member 816 static unsigned long virtio_balloon_shrinker_scan(struct shrinker *shrinker, in virtio_balloon_shrinker_scan() argument 819 struct virtio_balloon *vb = container_of(shrinker, in virtio_balloon_shrinker_scan() 820 struct virtio_balloon, shrinker); in virtio_balloon_shrinker_scan() 825 static unsigned long virtio_balloon_shrinker_count(struct shrinker *shrinker, in virtio_balloon_shrinker_count() argument 828 struct virtio_balloon *vb = container_of(shrinker, in virtio_balloon_shrinker_count() 829 struct virtio_balloon, shrinker); in virtio_balloon_shrinker_count() 850 unregister_shrinker(&vb->shrinker); in virtio_balloon_unregister_shrinker() 855 vb->shrinker.scan_objects = virtio_balloon_shrinker_scan; in virtio_balloon_register_shrinker() 857 vb->shrinker.seeks = DEFAULT_SEEKS; in virtio_balloon_register_shrinker() [all …]
|
/linux-6.3-rc2/fs/nfs/ |
A D | nfs42xattr.c | 790 static unsigned long nfs4_xattr_cache_count(struct shrinker *shrink, 792 static unsigned long nfs4_xattr_entry_count(struct shrinker *shrink, 794 static unsigned long nfs4_xattr_cache_scan(struct shrinker *shrink, 796 static unsigned long nfs4_xattr_entry_scan(struct shrinker *shrink, 799 static struct shrinker nfs4_xattr_cache_shrinker = { 806 static struct shrinker nfs4_xattr_entry_shrinker = { 814 static struct shrinker nfs4_xattr_large_entry_shrinker = { 858 nfs4_xattr_cache_scan(struct shrinker *shrink, struct shrink_control *sc) in nfs4_xattr_cache_scan() 879 nfs4_xattr_cache_count(struct shrinker *shrink, struct shrink_control *sc) in nfs4_xattr_cache_count() 939 nfs4_xattr_entry_scan(struct shrinker *shrink, struct shrink_control *sc) in nfs4_xattr_entry_scan() [all …]
|
/linux-6.3-rc2/drivers/misc/ |
A D | vmw_balloon.c | 383 struct shrinker shrinker; member 1519 static unsigned long vmballoon_shrinker_scan(struct shrinker *shrinker, in vmballoon_shrinker_scan() argument 1561 static unsigned long vmballoon_shrinker_count(struct shrinker *shrinker, in vmballoon_shrinker_count() argument 1572 unregister_shrinker(&b->shrinker); in vmballoon_unregister_shrinker() 1584 b->shrinker.scan_objects = vmballoon_shrinker_scan; in vmballoon_register_shrinker() 1585 b->shrinker.count_objects = vmballoon_shrinker_count; in vmballoon_register_shrinker() 1586 b->shrinker.seeks = DEFAULT_SEEKS; in vmballoon_register_shrinker() 1588 r = register_shrinker(&b->shrinker, "vmw-balloon"); in vmballoon_register_shrinker()
|
/linux-6.3-rc2/fs/nfsd/ |
A D | netns.h | 180 struct shrinker nfsd_reply_cache_shrinker; 198 struct shrinker nfsd_client_shrinker;
|
/linux-6.3-rc2/fs/erofs/ |
A D | utils.c | 216 static unsigned long erofs_shrink_count(struct shrinker *shrink, in erofs_shrink_count() 222 static unsigned long erofs_shrink_scan(struct shrinker *shrink, in erofs_shrink_scan() 277 static struct shrinker erofs_shrinker_info = {
|
/linux-6.3-rc2/drivers/xen/xenbus/ |
A D | xenbus_probe_backend.c | 279 static unsigned long backend_shrink_memory_count(struct shrinker *shrinker, in backend_shrink_memory_count() argument 287 static struct shrinker backend_memory_shrinker = {
|
/linux-6.3-rc2/fs/f2fs/ |
A D | shrinker.c | 40 unsigned long f2fs_shrink_count(struct shrinker *shrink, in f2fs_shrink_count() 79 unsigned long f2fs_shrink_scan(struct shrinker *shrink, in f2fs_shrink_scan()
|
A D | Makefile | 6 f2fs-y += shrinker.o extent_cache.o sysfs.o
|
/linux-6.3-rc2/fs/ubifs/ |
A D | shrinker.c | 267 unsigned long ubifs_shrink_count(struct shrinker *shrink, in ubifs_shrink_count() 279 unsigned long ubifs_shrink_scan(struct shrinker *shrink, in ubifs_shrink_scan()
|
/linux-6.3-rc2/fs/ |
A D | mbcache.c | 40 struct shrinker c_shrink; 293 static unsigned long mb_cache_count(struct shrinker *shrink, in mb_cache_count() 333 static unsigned long mb_cache_scan(struct shrinker *shrink, in mb_cache_scan()
|
/linux-6.3-rc2/include/trace/events/ |
A D | vmscan.h | 200 TP_PROTO(struct shrinker *shr, struct shrink_control *sc, 209 __field(struct shrinker *, shr) 245 TP_PROTO(struct shrinker *shr, int nid, int shrinker_retval, 252 __field(struct shrinker *, shr)
|
/linux-6.3-rc2/drivers/md/ |
A D | dm-bufio.c | 115 struct shrinker shrinker; member 1719 static unsigned long dm_bufio_shrink_scan(struct shrinker *shrink, struct shrink_control *sc) in dm_bufio_shrink_scan() 1723 c = container_of(shrink, struct dm_bufio_client, shrinker); in dm_bufio_shrink_scan() 1730 static unsigned long dm_bufio_shrink_count(struct shrinker *shrink, struct shrink_control *sc) in dm_bufio_shrink_count() 1732 struct dm_bufio_client *c = container_of(shrink, struct dm_bufio_client, shrinker); in dm_bufio_shrink_count() 1850 c->shrinker.count_objects = dm_bufio_shrink_count; in dm_bufio_client_create() 1851 c->shrinker.scan_objects = dm_bufio_shrink_scan; in dm_bufio_client_create() 1852 c->shrinker.seeks = 1; in dm_bufio_client_create() 1853 c->shrinker.batch = 0; in dm_bufio_client_create() 1854 r = register_shrinker(&c->shrinker, "dm-bufio:(%u:%u)", in dm_bufio_client_create() [all …]
|