Symbol: shrinker
drivers/android/binder_alloc.c
1218
binder_shrink_count(struct shrinker *shrink, struct shrink_control *sc)
drivers/android/binder_alloc.c
1224
binder_shrink_scan(struct shrinker *shrink, struct shrink_control *sc)
drivers/android/binder_alloc.c
1230
static struct shrinker *binder_shrinker;
drivers/gpu/drm/drm_pagemap_util.c
101
cache->shrinker = shrinker;
drivers/gpu/drm/drm_pagemap_util.c
103
err = devm_add_action_or_reset(shrinker->drm->dev, drm_pagemap_cache_fini, cache);
drivers/gpu/drm/drm_pagemap_util.c
267
struct drm_pagemap_shrinker *shrinker = cache->shrinker;
drivers/gpu/drm/drm_pagemap_util.c
269
spin_lock(&shrinker->lock);
drivers/gpu/drm/drm_pagemap_util.c
271
spin_unlock(&shrinker->lock);
drivers/gpu/drm/drm_pagemap_util.c
276
atomic_dec(&shrinker->num_dpagemaps);
drivers/gpu/drm/drm_pagemap_util.c
277
spin_unlock(&shrinker->lock);
drivers/gpu/drm/drm_pagemap_util.c
298
might_lock(&cache->shrinker->lock);
drivers/gpu/drm/drm_pagemap_util.c
32
struct drm_pagemap_shrinker *shrinker;
drivers/gpu/drm/drm_pagemap_util.c
320
struct drm_pagemap_shrinker *shrinker;
drivers/gpu/drm/drm_pagemap_util.c
337
shrinker = cache->shrinker;
drivers/gpu/drm/drm_pagemap_util.c
338
spin_lock(&shrinker->lock);
drivers/gpu/drm/drm_pagemap_util.c
339
list_add_tail(&dpagemap->shrink_link, &shrinker->dpagemaps);
drivers/gpu/drm/drm_pagemap_util.c
340
atomic_inc(&shrinker->num_dpagemaps);
drivers/gpu/drm/drm_pagemap_util.c
341
spin_unlock(&shrinker->lock);
drivers/gpu/drm/drm_pagemap_util.c
351
drm_pagemap_shrinker_count(struct shrinker *shrink, struct shrink_control *sc)
drivers/gpu/drm/drm_pagemap_util.c
353
struct drm_pagemap_shrinker *shrinker = shrink->private_data;
drivers/gpu/drm/drm_pagemap_util.c
354
unsigned long count = atomic_read(&shrinker->num_dpagemaps);
drivers/gpu/drm/drm_pagemap_util.c
360
drm_pagemap_shrinker_scan(struct shrinker *shrink, struct shrink_control *sc)
drivers/gpu/drm/drm_pagemap_util.c
362
struct drm_pagemap_shrinker *shrinker = shrink->private_data;
drivers/gpu/drm/drm_pagemap_util.c
368
spin_lock(&shrinker->lock);
drivers/gpu/drm/drm_pagemap_util.c
370
dpagemap = list_first_entry_or_null(&shrinker->dpagemaps, typeof(*dpagemap),
drivers/gpu/drm/drm_pagemap_util.c
375
atomic_dec(&shrinker->num_dpagemaps);
drivers/gpu/drm/drm_pagemap_util.c
377
spin_unlock(&shrinker->lock);
drivers/gpu/drm/drm_pagemap_util.c
389
spin_lock(&shrinker->lock);
drivers/gpu/drm/drm_pagemap_util.c
391
spin_unlock(&shrinker->lock);
drivers/gpu/drm/drm_pagemap_util.c
398
struct drm_pagemap_shrinker *shrinker = arg;
drivers/gpu/drm/drm_pagemap_util.c
400
drm_dbg(shrinker->drm, "Destroying dpagemap shrinker.\n");
drivers/gpu/drm/drm_pagemap_util.c
401
drm_WARN_ON(shrinker->drm, !!atomic_read(&shrinker->num_dpagemaps));
drivers/gpu/drm/drm_pagemap_util.c
402
shrinker_free(shrinker->shrink);
drivers/gpu/drm/drm_pagemap_util.c
403
kfree(shrinker);
drivers/gpu/drm/drm_pagemap_util.c
419
struct drm_pagemap_shrinker *shrinker;
drivers/gpu/drm/drm_pagemap_util.c
420
struct shrinker *shrink;
drivers/gpu/drm/drm_pagemap_util.c
423
shrinker = kzalloc_obj(*shrinker);
drivers/gpu/drm/drm_pagemap_util.c
424
if (!shrinker)
drivers/gpu/drm/drm_pagemap_util.c
429
kfree(shrinker);
drivers/gpu/drm/drm_pagemap_util.c
433
spin_lock_init(&shrinker->lock);
drivers/gpu/drm/drm_pagemap_util.c
434
INIT_LIST_HEAD(&shrinker->dpagemaps);
drivers/gpu/drm/drm_pagemap_util.c
435
shrinker->drm = drm;
drivers/gpu/drm/drm_pagemap_util.c
436
shrinker->shrink = shrink;
drivers/gpu/drm/drm_pagemap_util.c
439
shrink->private_data = shrinker;
drivers/gpu/drm/drm_pagemap_util.c
442
err = devm_add_action_or_reset(drm->dev, drm_pagemap_shrinker_fini, shrinker);
drivers/gpu/drm/drm_pagemap_util.c
446
return shrinker;
drivers/gpu/drm/drm_pagemap_util.c
55
struct shrinker *shrink;
drivers/gpu/drm/drm_pagemap_util.c
65
drm_dbg(cache->shrinker->drm, "Destroying dpagemap cache.\n");
drivers/gpu/drm/drm_pagemap_util.c
91
struct drm_pagemap_cache *drm_pagemap_cache_create_devm(struct drm_pagemap_shrinker *shrinker)
drivers/gpu/drm/i915/gem/i915_gem_shrinker.c
290
i915_gem_shrinker_count(struct shrinker *shrinker, struct shrink_control *sc)
drivers/gpu/drm/i915/gem/i915_gem_shrinker.c
292
struct drm_i915_private *i915 = shrinker->private_data;
drivers/gpu/drm/i915/gem/i915_gem_shrinker.c
309
i915->mm.shrinker->batch =
drivers/gpu/drm/i915/gem/i915_gem_shrinker.c
310
max((i915->mm.shrinker->batch + avg) >> 1,
drivers/gpu/drm/i915/gem/i915_gem_shrinker.c
318
i915_gem_shrinker_scan(struct shrinker *shrinker, struct shrink_control *sc)
drivers/gpu/drm/i915/gem/i915_gem_shrinker.c
320
struct drm_i915_private *i915 = shrinker->private_data;
drivers/gpu/drm/i915/gem/i915_gem_shrinker.c
432
i915->mm.shrinker = shrinker_alloc(0, "drm-i915_gem");
drivers/gpu/drm/i915/gem/i915_gem_shrinker.c
433
if (!i915->mm.shrinker) {
drivers/gpu/drm/i915/gem/i915_gem_shrinker.c
436
i915->mm.shrinker->scan_objects = i915_gem_shrinker_scan;
drivers/gpu/drm/i915/gem/i915_gem_shrinker.c
437
i915->mm.shrinker->count_objects = i915_gem_shrinker_count;
drivers/gpu/drm/i915/gem/i915_gem_shrinker.c
438
i915->mm.shrinker->batch = 4096;
drivers/gpu/drm/i915/gem/i915_gem_shrinker.c
439
i915->mm.shrinker->private_data = i915;
drivers/gpu/drm/i915/gem/i915_gem_shrinker.c
441
shrinker_register(i915->mm.shrinker);
drivers/gpu/drm/i915/gem/i915_gem_shrinker.c
458
shrinker_free(i915->mm.shrinker);
drivers/gpu/drm/i915/i915_drv.h
147
struct shrinker *shrinker;
drivers/gpu/drm/msm/msm_drv.h
163
struct shrinker *shrinker;
drivers/gpu/drm/msm/msm_gem_shrinker.c
165
msm_gem_shrinker_scan(struct shrinker *shrinker, struct shrink_control *sc)
drivers/gpu/drm/msm/msm_gem_shrinker.c
167
struct msm_drm_private *priv = shrinker->private_data;
drivers/gpu/drm/msm/msm_gem_shrinker.c
219
if (priv->shrinker)
drivers/gpu/drm/msm/msm_gem_shrinker.c
220
ret = msm_gem_shrinker_scan(priv->shrinker, &sc);
drivers/gpu/drm/msm/msm_gem_shrinker.c
284
priv->shrinker = shrinker_alloc(0, "drm-msm_gem");
drivers/gpu/drm/msm/msm_gem_shrinker.c
285
if (!priv->shrinker)
drivers/gpu/drm/msm/msm_gem_shrinker.c
288
priv->shrinker->count_objects = msm_gem_shrinker_count;
drivers/gpu/drm/msm/msm_gem_shrinker.c
289
priv->shrinker->scan_objects = msm_gem_shrinker_scan;
drivers/gpu/drm/msm/msm_gem_shrinker.c
290
priv->shrinker->private_data = priv;
drivers/gpu/drm/msm/msm_gem_shrinker.c
292
shrinker_register(priv->shrinker);
drivers/gpu/drm/msm/msm_gem_shrinker.c
310
if (priv->shrinker) {
drivers/gpu/drm/msm/msm_gem_shrinker.c
312
shrinker_free(priv->shrinker);
drivers/gpu/drm/msm/msm_gem_shrinker.c
35
msm_gem_shrinker_count(struct shrinker *shrinker, struct shrink_control *sc)
drivers/gpu/drm/msm/msm_gem_shrinker.c
37
struct msm_drm_private *priv = shrinker->private_data;
drivers/gpu/drm/panfrost/panfrost_device.h
173
struct shrinker *shrinker;
drivers/gpu/drm/panfrost/panfrost_gem_shrinker.c
102
pfdev->shrinker = shrinker_alloc(0, "drm-panfrost");
drivers/gpu/drm/panfrost/panfrost_gem_shrinker.c
103
if (!pfdev->shrinker)
drivers/gpu/drm/panfrost/panfrost_gem_shrinker.c
106
pfdev->shrinker->count_objects = panfrost_gem_shrinker_count;
drivers/gpu/drm/panfrost/panfrost_gem_shrinker.c
107
pfdev->shrinker->scan_objects = panfrost_gem_shrinker_scan;
drivers/gpu/drm/panfrost/panfrost_gem_shrinker.c
108
pfdev->shrinker->private_data = pfdev;
drivers/gpu/drm/panfrost/panfrost_gem_shrinker.c
110
shrinker_register(pfdev->shrinker);
drivers/gpu/drm/panfrost/panfrost_gem_shrinker.c
125
if (pfdev->shrinker)
drivers/gpu/drm/panfrost/panfrost_gem_shrinker.c
126
shrinker_free(pfdev->shrinker);
drivers/gpu/drm/panfrost/panfrost_gem_shrinker.c
19
panfrost_gem_shrinker_count(struct shrinker *shrinker, struct shrink_control *sc)
drivers/gpu/drm/panfrost/panfrost_gem_shrinker.c
21
struct panfrost_device *pfdev = shrinker->private_data;
drivers/gpu/drm/panfrost/panfrost_gem_shrinker.c
65
panfrost_gem_shrinker_scan(struct shrinker *shrinker, struct shrink_control *sc)
drivers/gpu/drm/panfrost/panfrost_gem_shrinker.c
67
struct panfrost_device *pfdev = shrinker->private_data;
drivers/gpu/drm/ttm/ttm_pool.c
1148
static unsigned long ttm_pool_shrinker_scan(struct shrinker *shrink,
drivers/gpu/drm/ttm/ttm_pool.c
1164
static unsigned long ttm_pool_shrinker_count(struct shrinker *shrink,
drivers/gpu/drm/ttm/ttm_pool.c
132
static struct shrinker *mm_shrinker;
drivers/gpu/drm/xe/xe_bo.c
444
xe_shrinker_mod_pages(xe->mem.shrinker, 0, tt->num_pages);
drivers/gpu/drm/xe/xe_bo.c
446
xe_shrinker_mod_pages(xe->mem.shrinker, tt->num_pages, 0);
drivers/gpu/drm/xe/xe_bo.c
454
xe_shrinker_mod_pages(xe->mem.shrinker, 0, -(long)tt->num_pages);
drivers/gpu/drm/xe/xe_bo.c
456
xe_shrinker_mod_pages(xe->mem.shrinker, -(long)tt->num_pages, 0);
drivers/gpu/drm/xe/xe_device_types.h
442
struct xe_shrinker *shrinker;
drivers/gpu/drm/xe/xe_shrinker.c
139
xe_shrinker_count(struct shrinker *shrink, struct shrink_control *sc)
drivers/gpu/drm/xe/xe_shrinker.c
141
struct xe_shrinker *shrinker = to_xe_shrinker(shrink);
drivers/gpu/drm/xe/xe_shrinker.c
146
read_lock(&shrinker->lock);
drivers/gpu/drm/xe/xe_shrinker.c
149
num_pages = min_t(unsigned long, num_pages, shrinker->shrinkable_pages);
drivers/gpu/drm/xe/xe_shrinker.c
153
num_pages += shrinker->purgeable_pages;
drivers/gpu/drm/xe/xe_shrinker.c
154
read_unlock(&shrinker->lock);
drivers/gpu/drm/xe/xe_shrinker.c
166
static bool xe_shrinker_runtime_pm_get(struct xe_shrinker *shrinker, bool force,
drivers/gpu/drm/xe/xe_shrinker.c
169
struct xe_device *xe = shrinker->xe;
drivers/gpu/drm/xe/xe_shrinker.c
176
read_lock(&shrinker->lock);
drivers/gpu/drm/xe/xe_shrinker.c
177
force = (nr_to_scan > shrinker->purgeable_pages && can_backup);
drivers/gpu/drm/xe/xe_shrinker.c
178
read_unlock(&shrinker->lock);
drivers/gpu/drm/xe/xe_shrinker.c
188
queue_work(xe->unordered_wq, &shrinker->pm_worker);
drivers/gpu/drm/xe/xe_shrinker.c
195
static void xe_shrinker_runtime_pm_put(struct xe_shrinker *shrinker, bool runtime_pm)
drivers/gpu/drm/xe/xe_shrinker.c
198
xe_pm_runtime_put(shrinker->xe);
drivers/gpu/drm/xe/xe_shrinker.c
201
static unsigned long xe_shrinker_scan(struct shrinker *shrink, struct shrink_control *sc)
drivers/gpu/drm/xe/xe_shrinker.c
203
struct xe_shrinker *shrinker = to_xe_shrinker(shrink);
drivers/gpu/drm/xe/xe_shrinker.c
221
read_lock(&shrinker->lock);
drivers/gpu/drm/xe/xe_shrinker.c
222
purgeable = !!shrinker->purgeable_pages;
drivers/gpu/drm/xe/xe_shrinker.c
223
read_unlock(&shrinker->lock);
drivers/gpu/drm/xe/xe_shrinker.c
226
runtime_pm = xe_shrinker_runtime_pm_get(shrinker, false, nr_to_scan, can_backup);
drivers/gpu/drm/xe/xe_shrinker.c
229
lret = xe_shrinker_walk(shrinker->xe, &ctx, shrink_flags,
drivers/gpu/drm/xe/xe_shrinker.c
241
runtime_pm = xe_shrinker_runtime_pm_get(shrinker, true, 0, can_backup);
drivers/gpu/drm/xe/xe_shrinker.c
245
lret = xe_shrinker_walk(shrinker->xe, &ctx, shrink_flags,
drivers/gpu/drm/xe/xe_shrinker.c
252
xe_shrinker_runtime_pm_put(shrinker, runtime_pm);
drivers/gpu/drm/xe/xe_shrinker.c
259
struct xe_shrinker *shrinker =
drivers/gpu/drm/xe/xe_shrinker.c
260
container_of(work, typeof(*shrinker), pm_worker);
drivers/gpu/drm/xe/xe_shrinker.c
262
xe_pm_runtime_get(shrinker->xe);
drivers/gpu/drm/xe/xe_shrinker.c
263
xe_pm_runtime_put(shrinker->xe);
drivers/gpu/drm/xe/xe_shrinker.c
268
struct xe_shrinker *shrinker = arg;
drivers/gpu/drm/xe/xe_shrinker.c
270
xe_assert(shrinker->xe, !shrinker->shrinkable_pages);
drivers/gpu/drm/xe/xe_shrinker.c
271
xe_assert(shrinker->xe, !shrinker->purgeable_pages);
drivers/gpu/drm/xe/xe_shrinker.c
272
shrinker_free(shrinker->shrink);
drivers/gpu/drm/xe/xe_shrinker.c
273
flush_work(&shrinker->pm_worker);
drivers/gpu/drm/xe/xe_shrinker.c
274
kfree(shrinker);
drivers/gpu/drm/xe/xe_shrinker.c
285
struct xe_shrinker *shrinker = kzalloc_obj(*shrinker);
drivers/gpu/drm/xe/xe_shrinker.c
287
if (!shrinker)
drivers/gpu/drm/xe/xe_shrinker.c
290
shrinker->shrink = shrinker_alloc(0, "drm-xe_gem:%s", xe->drm.unique);
drivers/gpu/drm/xe/xe_shrinker.c
291
if (!shrinker->shrink) {
drivers/gpu/drm/xe/xe_shrinker.c
292
kfree(shrinker);
drivers/gpu/drm/xe/xe_shrinker.c
296
INIT_WORK(&shrinker->pm_worker, xe_shrinker_pm);
drivers/gpu/drm/xe/xe_shrinker.c
297
shrinker->xe = xe;
drivers/gpu/drm/xe/xe_shrinker.c
298
rwlock_init(&shrinker->lock);
drivers/gpu/drm/xe/xe_shrinker.c
299
shrinker->shrink->count_objects = xe_shrinker_count;
drivers/gpu/drm/xe/xe_shrinker.c
300
shrinker->shrink->scan_objects = xe_shrinker_scan;
drivers/gpu/drm/xe/xe_shrinker.c
301
shrinker->shrink->private_data = shrinker;
drivers/gpu/drm/xe/xe_shrinker.c
302
shrinker_register(shrinker->shrink);
drivers/gpu/drm/xe/xe_shrinker.c
303
xe->mem.shrinker = shrinker;
drivers/gpu/drm/xe/xe_shrinker.c
305
return drmm_add_action_or_reset(&xe->drm, xe_shrinker_fini, shrinker);
drivers/gpu/drm/xe/xe_shrinker.c
31
struct shrinker *shrink;
drivers/gpu/drm/xe/xe_shrinker.c
35
static struct xe_shrinker *to_xe_shrinker(struct shrinker *shrink)
drivers/gpu/drm/xe/xe_shrinker.c
49
xe_shrinker_mod_pages(struct xe_shrinker *shrinker, long shrinkable, long purgeable)
drivers/gpu/drm/xe/xe_shrinker.c
51
write_lock(&shrinker->lock);
drivers/gpu/drm/xe/xe_shrinker.c
52
shrinker->shrinkable_pages += shrinkable;
drivers/gpu/drm/xe/xe_shrinker.c
53
shrinker->purgeable_pages += purgeable;
drivers/gpu/drm/xe/xe_shrinker.c
54
write_unlock(&shrinker->lock);
drivers/gpu/drm/xe/xe_shrinker.h
12
void xe_shrinker_mod_pages(struct xe_shrinker *shrinker, long shrinkable, long purgeable);
drivers/md/bcache/bcache.h
547
struct shrinker *shrink;
drivers/md/bcache/btree.c
665
static unsigned long bch_mca_scan(struct shrinker *shrink,
drivers/md/bcache/btree.c
732
static unsigned long bch_mca_count(struct shrinker *shrink,
drivers/md/dm-bufio.c
2461
static unsigned long dm_bufio_shrink_scan(struct shrinker *shrink, struct shrink_control *sc)
drivers/md/dm-bufio.c
2472
static unsigned long dm_bufio_shrink_count(struct shrinker *shrink, struct shrink_control *sc)
drivers/md/dm-bufio.c
2590
c->shrinker = shrinker_alloc(0, "dm-bufio:(%u:%u)",
drivers/md/dm-bufio.c
2592
if (!c->shrinker) {
drivers/md/dm-bufio.c
2597
c->shrinker->count_objects = dm_bufio_shrink_count;
drivers/md/dm-bufio.c
2598
c->shrinker->scan_objects = dm_bufio_shrink_scan;
drivers/md/dm-bufio.c
2599
c->shrinker->seeks = 1;
drivers/md/dm-bufio.c
2600
c->shrinker->batch = 0;
drivers/md/dm-bufio.c
2601
c->shrinker->private_data = c;
drivers/md/dm-bufio.c
2603
shrinker_register(c->shrinker);
drivers/md/dm-bufio.c
2643
shrinker_free(c->shrinker);
drivers/md/dm-bufio.c
999
struct shrinker *shrinker;
drivers/md/dm-zoned-metadata.c
190
struct shrinker *mblk_shrinker;
drivers/md/dm-zoned-metadata.c
610
static unsigned long dmz_mblock_shrinker_count(struct shrinker *shrink,
drivers/md/dm-zoned-metadata.c
621
static unsigned long dmz_mblock_shrinker_scan(struct shrinker *shrink,
drivers/md/raid5.c
7377
shrinker_free(conf->shrinker);
drivers/md/raid5.c
7425
static unsigned long raid5_cache_scan(struct shrinker *shrink,
drivers/md/raid5.c
7446
static unsigned long raid5_cache_count(struct shrinker *shrink,
drivers/md/raid5.c
7681
conf->shrinker = shrinker_alloc(0, "md-raid5:%s", mdname(mddev));
drivers/md/raid5.c
7682
if (!conf->shrinker) {
drivers/md/raid5.c
7689
conf->shrinker->seeks = DEFAULT_SEEKS * conf->raid_disks * 4;
drivers/md/raid5.c
7690
conf->shrinker->scan_objects = raid5_cache_scan;
drivers/md/raid5.c
7691
conf->shrinker->count_objects = raid5_cache_count;
drivers/md/raid5.c
7692
conf->shrinker->batch = 128;
drivers/md/raid5.c
7693
conf->shrinker->private_data = conf;
drivers/md/raid5.c
7695
shrinker_register(conf->shrinker);
drivers/md/raid5.h
668
struct shrinker *shrinker;
drivers/misc/vmw_balloon.c
1513
static unsigned long vmballoon_shrinker_scan(struct shrinker *shrinker,
drivers/misc/vmw_balloon.c
1555
static unsigned long vmballoon_shrinker_count(struct shrinker *shrinker,
drivers/misc/vmw_balloon.c
1565
shrinker_free(b->shrinker);
drivers/misc/vmw_balloon.c
1566
b->shrinker = NULL;
drivers/misc/vmw_balloon.c
1575
b->shrinker = shrinker_alloc(0, "vmw-balloon");
drivers/misc/vmw_balloon.c
1576
if (!b->shrinker)
drivers/misc/vmw_balloon.c
1579
b->shrinker->scan_objects = vmballoon_shrinker_scan;
drivers/misc/vmw_balloon.c
1580
b->shrinker->count_objects = vmballoon_shrinker_count;
drivers/misc/vmw_balloon.c
1581
b->shrinker->private_data = b;
drivers/misc/vmw_balloon.c
1583
shrinker_register(b->shrinker);
drivers/misc/vmw_balloon.c
388
struct shrinker *shrinker;
drivers/virtio/virtio_balloon.c
114
struct shrinker *shrinker;
drivers/virtio/virtio_balloon.c
869
static unsigned long virtio_balloon_shrinker_scan(struct shrinker *shrinker,
drivers/virtio/virtio_balloon.c
872
struct virtio_balloon *vb = shrinker->private_data;
drivers/virtio/virtio_balloon.c
877
static unsigned long virtio_balloon_shrinker_count(struct shrinker *shrinker,
drivers/virtio/virtio_balloon.c
880
struct virtio_balloon *vb = shrinker->private_data;
drivers/virtio/virtio_balloon.c
901
shrinker_free(vb->shrinker);
drivers/virtio/virtio_balloon.c
906
vb->shrinker = shrinker_alloc(0, "virtio-balloon");
drivers/virtio/virtio_balloon.c
907
if (!vb->shrinker)
drivers/virtio/virtio_balloon.c
910
vb->shrinker->scan_objects = virtio_balloon_shrinker_scan;
drivers/virtio/virtio_balloon.c
911
vb->shrinker->count_objects = virtio_balloon_shrinker_count;
drivers/virtio/virtio_balloon.c
912
vb->shrinker->private_data = vb;
drivers/virtio/virtio_balloon.c
914
shrinker_register(vb->shrinker);
drivers/xen/xenbus/xenbus_probe_backend.c
279
static unsigned long backend_shrink_memory_count(struct shrinker *shrinker,
drivers/xen/xenbus/xenbus_probe_backend.c
289
struct shrinker *backend_memory_shrinker;
fs/btrfs/compression.c
1140
compr_pool.shrinker = shrinker_alloc(SHRINKER_NONSLAB, "btrfs-compr-pages");
fs/btrfs/compression.c
1141
if (!compr_pool.shrinker)
fs/btrfs/compression.c
1149
compr_pool.shrinker->count_objects = btrfs_compr_pool_count;
fs/btrfs/compression.c
1150
compr_pool.shrinker->scan_objects = btrfs_compr_pool_scan;
fs/btrfs/compression.c
1151
compr_pool.shrinker->batch = 32;
fs/btrfs/compression.c
1152
compr_pool.shrinker->seeks = DEFAULT_SEEKS;
fs/btrfs/compression.c
1153
shrinker_register(compr_pool.shrinker);
fs/btrfs/compression.c
1162
shrinker_free(compr_pool.shrinker);
fs/btrfs/compression.c
133
struct shrinker *shrinker;
fs/btrfs/compression.c
140
static unsigned long btrfs_compr_pool_count(struct shrinker *sh, struct shrink_control *sc)
fs/btrfs/compression.c
154
static unsigned long btrfs_compr_pool_scan(struct shrinker *sh, struct shrink_control *sc)
fs/erofs/zutil.c
242
static unsigned long erofs_shrink_count(struct shrinker *shrink,
fs/erofs/zutil.c
248
static unsigned long erofs_shrink_scan(struct shrinker *shrink,
fs/erofs/zutil.c
29
static struct shrinker *erofs_shrinker_info;
fs/ext4/ext4.h
1706
struct shrinker *s_es_shrinker;
fs/ext4/extents_status.c
1760
static unsigned long ext4_es_count(struct shrinker *shrink,
fs/ext4/extents_status.c
1772
static unsigned long ext4_es_scan(struct shrinker *shrink,
fs/f2fs/f2fs.h
4520
unsigned long f2fs_shrink_count(struct shrinker *shrink,
fs/f2fs/f2fs.h
4522
unsigned long f2fs_shrink_scan(struct shrinker *shrink,
fs/f2fs/shrinker.c
40
unsigned long f2fs_shrink_count(struct shrinker *shrink,
fs/f2fs/shrinker.c
79
unsigned long f2fs_shrink_scan(struct shrinker *shrink,
fs/f2fs/super.c
155
static struct shrinker *f2fs_shrinker_info;
fs/gfs2/glock.c
1980
static unsigned long gfs2_glock_shrink_scan(struct shrinker *shrink,
fs/gfs2/glock.c
1988
static unsigned long gfs2_glock_shrink_count(struct shrinker *shrink,
fs/gfs2/glock.c
1994
static struct shrinker *glock_shrinker;
fs/gfs2/quota.c
173
static unsigned long gfs2_qd_shrink_scan(struct shrinker *shrink,
fs/gfs2/quota.c
190
static unsigned long gfs2_qd_shrink_count(struct shrinker *shrink,
fs/gfs2/quota.c
196
static struct shrinker *gfs2_qd_shrinker;
fs/jbd2/journal.c
1255
static unsigned long jbd2_journal_shrink_scan(struct shrinker *shrink,
fs/jbd2/journal.c
1281
static unsigned long jbd2_journal_shrink_count(struct shrinker *shrink,
fs/mbcache.c
293
static unsigned long mb_cache_count(struct shrinker *shrink,
fs/mbcache.c
332
static unsigned long mb_cache_scan(struct shrinker *shrink,
fs/mbcache.c
40
struct shrinker *c_shrink;
fs/nfs/dir.c
2944
nfs_access_cache_scan(struct shrinker *shrink, struct shrink_control *sc)
fs/nfs/dir.c
2956
nfs_access_cache_count(struct shrinker *shrink, struct shrink_control *sc)
fs/nfs/internal.h
389
extern unsigned long nfs_access_cache_count(struct shrinker *shrink,
fs/nfs/internal.h
391
extern unsigned long nfs_access_cache_scan(struct shrinker *shrink,
fs/nfs/nfs42xattr.c
1000
(*shrinker)->seeks = seeks;
fs/nfs/nfs42xattr.c
1002
shrinker_register(*shrinker);
fs/nfs/nfs42xattr.c
1007
static void nfs4_xattr_shrinker_destroy(struct shrinker *shrinker,
fs/nfs/nfs42xattr.c
1010
shrinker_free(shrinker);
fs/nfs/nfs42xattr.c
790
static unsigned long nfs4_xattr_cache_count(struct shrinker *shrink,
fs/nfs/nfs42xattr.c
792
static unsigned long nfs4_xattr_entry_count(struct shrinker *shrink,
fs/nfs/nfs42xattr.c
794
static unsigned long nfs4_xattr_cache_scan(struct shrinker *shrink,
fs/nfs/nfs42xattr.c
796
static unsigned long nfs4_xattr_entry_scan(struct shrinker *shrink,
fs/nfs/nfs42xattr.c
799
static struct shrinker *nfs4_xattr_cache_shrinker;
fs/nfs/nfs42xattr.c
800
static struct shrinker *nfs4_xattr_entry_shrinker;
fs/nfs/nfs42xattr.c
801
static struct shrinker *nfs4_xattr_large_entry_shrinker;
fs/nfs/nfs42xattr.c
839
nfs4_xattr_cache_scan(struct shrinker *shrink, struct shrink_control *sc)
fs/nfs/nfs42xattr.c
860
nfs4_xattr_cache_count(struct shrinker *shrink, struct shrink_control *sc)
fs/nfs/nfs42xattr.c
920
nfs4_xattr_entry_scan(struct shrinker *shrink, struct shrink_control *sc)
fs/nfs/nfs42xattr.c
950
nfs4_xattr_entry_count(struct shrinker *shrink, struct shrink_control *sc)
fs/nfs/nfs42xattr.c
975
typedef unsigned long (*count_objects_cb)(struct shrinker *s,
fs/nfs/nfs42xattr.c
977
typedef unsigned long (*scan_objects_cb)(struct shrinker *s,
fs/nfs/nfs42xattr.c
980
static int __init nfs4_xattr_shrinker_init(struct shrinker **shrinker,
fs/nfs/nfs42xattr.c
987
*shrinker = shrinker_alloc(SHRINKER_MEMCG_AWARE, name);
fs/nfs/nfs42xattr.c
988
if (!*shrinker)
fs/nfs/nfs42xattr.c
991
ret = list_lru_init_memcg(lru, *shrinker);
fs/nfs/nfs42xattr.c
993
shrinker_free(*shrinker);
fs/nfs/nfs42xattr.c
997
(*shrinker)->count_objects = count;
fs/nfs/nfs42xattr.c
998
(*shrinker)->scan_objects = scan;
fs/nfs/nfs42xattr.c
999
(*shrinker)->batch = batch;
fs/nfs/super.c
134
static struct shrinker *acl_shrinker;
fs/nfsd/filecache.c
598
nfsd_file_lru_count(struct shrinker *s, struct shrink_control *sc)
fs/nfsd/filecache.c
604
nfsd_file_lru_scan(struct shrinker *s, struct shrink_control *sc)
fs/nfsd/filecache.c
620
static struct shrinker *nfsd_file_shrinker;
fs/nfsd/netns.h
198
struct shrinker *nfsd_reply_cache_shrinker;
fs/nfsd/netns.h
216
struct shrinker *nfsd_client_shrinker;
fs/nfsd/nfs4state.c
1942
static struct shrinker *nfsd_slot_shrinker;
fs/nfsd/nfs4state.c
2198
nfsd_slot_count(struct shrinker *s, struct shrink_control *sc)
fs/nfsd/nfs4state.c
2206
nfsd_slot_scan(struct shrinker *s, struct shrink_control *sc)
fs/nfsd/nfs4state.c
4877
nfsd4_state_shrinker_count(struct shrinker *shrink, struct shrink_control *sc)
fs/nfsd/nfs4state.c
4891
nfsd4_state_shrinker_scan(struct shrinker *shrink, struct shrink_control *sc)
fs/nfsd/nfscache.c
294
nfsd_reply_cache_count(struct shrinker *shrink, struct shrink_control *sc)
fs/nfsd/nfscache.c
313
nfsd_reply_cache_scan(struct shrinker *shrink, struct shrink_control *sc)
fs/nfsd/nfscache.c
41
static unsigned long nfsd_reply_cache_count(struct shrinker *shrink,
fs/nfsd/nfscache.c
43
static unsigned long nfsd_reply_cache_scan(struct shrinker *shrink,
fs/quota/dquot.c
3004
struct shrinker *dqcache_shrinker;
fs/quota/dquot.c
785
dqcache_shrink_scan(struct shrinker *shrink, struct shrink_control *sc)
fs/quota/dquot.c
805
dqcache_shrink_count(struct shrinker *shrink, struct shrink_control *sc)
fs/super.c
179
static unsigned long super_cache_scan(struct shrinker *shrink,
fs/super.c
236
static unsigned long super_cache_count(struct shrinker *shrink,
fs/ubifs/shrinker.c
267
unsigned long ubifs_shrink_count(struct shrinker *shrink,
fs/ubifs/shrinker.c
279
unsigned long ubifs_shrink_scan(struct shrinker *shrink,
fs/ubifs/super.c
57
static struct shrinker *ubifs_shrinker_info;
fs/ubifs/ubifs.h
1908
unsigned long ubifs_shrink_scan(struct shrinker *shrink,
fs/ubifs/ubifs.h
1910
unsigned long ubifs_shrink_count(struct shrinker *shrink,
fs/xfs/xfs_buf.c
1636
struct shrinker *shrink,
fs/xfs/xfs_buf.c
1658
struct shrinker *shrink,
fs/xfs/xfs_buf.h
110
struct shrinker *bt_shrinker;
fs/xfs/xfs_icache.c
2279
struct shrinker *shrink,
fs/xfs/xfs_icache.c
2300
struct shrinker *shrink,
fs/xfs/xfs_mount.h
312
struct shrinker *m_inodegc_shrinker;
fs/xfs/xfs_qm.c
493
struct shrinker *shrink,
fs/xfs/xfs_qm.c
527
struct shrinker *shrink,
fs/xfs/xfs_qm.h
67
struct shrinker *qi_shrinker;
include/drm/drm_pagemap_util.h
66
struct drm_pagemap_cache *drm_pagemap_cache_create_devm(struct drm_pagemap_shrinker *shrinker);
include/linux/fs/super_types.h
228
struct shrinker *s_shrink; /* per-sb shrinker handle */
include/linux/fs/super_types.h
32
struct shrinker;
include/linux/jbd2.h
876
struct shrinker *j_shrinker;
include/linux/list_lru.h
66
struct shrinker *shrinker);
include/linux/list_lru.h
70
#define list_lru_init_memcg(lru, shrinker) \
include/linux/list_lru.h
71
__list_lru_init((lru), true, shrinker)
include/linux/list_lru.h
73
static inline int list_lru_init_memcg_key(struct list_lru *lru, struct shrinker *shrinker,
include/linux/list_lru.h
79
return list_lru_init_memcg(lru, shrinker);
include/linux/memcontrol.h
1637
static inline int shrinker_id(struct shrinker *shrinker)
include/linux/memcontrol.h
1639
return shrinker->id;
include/linux/memcontrol.h
1673
static inline int shrinker_id(struct shrinker *shrinker)
include/linux/shrinker.h
135
struct shrinker *shrinker_alloc(unsigned int flags, const char *fmt, ...);
include/linux/shrinker.h
136
void shrinker_register(struct shrinker *shrinker);
include/linux/shrinker.h
137
void shrinker_free(struct shrinker *shrinker);
include/linux/shrinker.h
139
static inline bool shrinker_try_get(struct shrinker *shrinker)
include/linux/shrinker.h
141
return refcount_inc_not_zero(&shrinker->refcount);
include/linux/shrinker.h
144
static inline void shrinker_put(struct shrinker *shrinker)
include/linux/shrinker.h
146
if (refcount_dec_and_test(&shrinker->refcount))
include/linux/shrinker.h
147
complete(&shrinker->done);
include/linux/shrinker.h
151
extern int __printf(2, 3) shrinker_debugfs_rename(struct shrinker *shrinker,
include/linux/shrinker.h
155
int shrinker_debugfs_rename(struct shrinker *shrinker, const char *fmt, ...)
include/linux/shrinker.h
83
unsigned long (*count_objects)(struct shrinker *,
include/linux/shrinker.h
85
unsigned long (*scan_objects)(struct shrinker *,
include/trace/events/vmscan.h
210
TP_PROTO(struct shrinker *shr, struct shrink_control *sc,
include/trace/events/vmscan.h
219
__field(struct shrinker *, shr)
include/trace/events/vmscan.h
255
TP_PROTO(struct shrinker *shr, int nid, int shrinker_retval,
include/trace/events/vmscan.h
262
__field(struct shrinker *, shr)
kernel/rcu/tree_nocb.h
1178
lazy_rcu_shrink_count(struct shrinker *shrink, struct shrink_control *sc)
kernel/rcu/tree_nocb.h
1203
lazy_rcu_shrink_scan(struct shrinker *shrink, struct shrink_control *sc)
kernel/rcu/tree_nocb.h
1267
struct shrinker * __maybe_unused lazy_rcu_shrinker;
mm/huge_memory.c
279
static unsigned long shrink_huge_zero_folio_count(struct shrinker *shrink,
mm/huge_memory.c
286
static unsigned long shrink_huge_zero_folio_scan(struct shrinker *shrink,
mm/huge_memory.c
300
static struct shrinker *huge_zero_folio_shrinker;
mm/huge_memory.c
4367
static unsigned long deferred_split_count(struct shrinker *shrink,
mm/huge_memory.c
4407
static unsigned long deferred_split_scan(struct shrinker *shrink,
mm/huge_memory.c
70
static struct shrinker *deferred_split_shrinker;
mm/huge_memory.c
71
static unsigned long deferred_split_count(struct shrinker *shrink,
mm/huge_memory.c
73
static unsigned long deferred_split_scan(struct shrinker *shrink,
mm/internal.h
1673
struct shrinker *shrinker, const char *fmt, va_list ap)
mm/internal.h
1675
shrinker->name = kvasprintf_const(GFP_KERNEL, fmt, ap);
mm/internal.h
1677
return shrinker->name ? 0 : -ENOMEM;
mm/internal.h
1680
static inline void shrinker_debugfs_name_free(struct shrinker *shrinker)
mm/internal.h
1682
kfree_const(shrinker->name);
mm/internal.h
1683
shrinker->name = NULL;
mm/internal.h
1686
extern int shrinker_debugfs_add(struct shrinker *shrinker);
mm/internal.h
1687
extern struct dentry *shrinker_debugfs_detach(struct shrinker *shrinker,
mm/internal.h
1692
static inline int shrinker_debugfs_add(struct shrinker *shrinker)
mm/internal.h
1696
static inline int shrinker_debugfs_name_alloc(struct shrinker *shrinker,
mm/internal.h
1701
static inline void shrinker_debugfs_name_free(struct shrinker *shrinker)
mm/internal.h
1704
static inline struct dentry *shrinker_debugfs_detach(struct shrinker *shrinker,
mm/list_lru.c
574
int __list_lru_init(struct list_lru *lru, bool memcg_aware, struct shrinker *shrinker)
mm/list_lru.c
579
if (shrinker)
mm/list_lru.c
580
lru->shrinker_id = shrinker->id;
mm/shrinker.c
216
static int shrinker_memcg_alloc(struct shrinker *shrinker)
mm/shrinker.c
224
id = idr_alloc(&shrinker_idr, shrinker, 0, 0, GFP_KERNEL);
mm/shrinker.c
234
shrinker->id = id;
mm/shrinker.c
241
static void shrinker_memcg_remove(struct shrinker *shrinker)
mm/shrinker.c
243
int id = shrinker->id;
mm/shrinker.c
252
static long xchg_nr_deferred_memcg(int nid, struct shrinker *shrinker,
mm/shrinker.c
261
unit = info->unit[shrinker_id_to_index(shrinker->id)];
mm/shrinker.c
262
nr_deferred = atomic_long_xchg(&unit->nr_deferred[shrinker_id_to_offset(shrinker->id)], 0);
mm/shrinker.c
268
static long add_nr_deferred_memcg(long nr, int nid, struct shrinker *shrinker,
mm/shrinker.c
277
unit = info->unit[shrinker_id_to_index(shrinker->id)];
mm/shrinker.c
279
atomic_long_add_return(nr, &unit->nr_deferred[shrinker_id_to_offset(shrinker->id)]);
mm/shrinker.c
314
static int shrinker_memcg_alloc(struct shrinker *shrinker)
mm/shrinker.c
319
static void shrinker_memcg_remove(struct shrinker *shrinker)
mm/shrinker.c
323
static long xchg_nr_deferred_memcg(int nid, struct shrinker *shrinker,
mm/shrinker.c
329
static long add_nr_deferred_memcg(long nr, int nid, struct shrinker *shrinker,
mm/shrinker.c
336
static long xchg_nr_deferred(struct shrinker *shrinker,
mm/shrinker.c
341
if (!(shrinker->flags & SHRINKER_NUMA_AWARE))
mm/shrinker.c
345
(shrinker->flags & SHRINKER_MEMCG_AWARE))
mm/shrinker.c
346
return xchg_nr_deferred_memcg(nid, shrinker,
mm/shrinker.c
349
return atomic_long_xchg(&shrinker->nr_deferred[nid], 0);
mm/shrinker.c
353
static long add_nr_deferred(long nr, struct shrinker *shrinker,
mm/shrinker.c
358
if (!(shrinker->flags & SHRINKER_NUMA_AWARE))
mm/shrinker.c
362
(shrinker->flags & SHRINKER_MEMCG_AWARE))
mm/shrinker.c
363
return add_nr_deferred_memcg(nr, nid, shrinker,
mm/shrinker.c
366
return atomic_long_add_return(nr, &shrinker->nr_deferred[nid]);
mm/shrinker.c
372
struct shrinker *shrinker, int priority)
mm/shrinker.c
380
long batch_size = shrinker->batch ? shrinker->batch
mm/shrinker.c
384
freeable = shrinker->count_objects(shrinker, shrinkctl);
mm/shrinker.c
393
nr = xchg_nr_deferred(shrinker, shrinkctl);
mm/shrinker.c
395
if (shrinker->seeks) {
mm/shrinker.c
398
do_div(delta, shrinker->seeks);
mm/shrinker.c
412
trace_mm_shrink_slab_start(shrinker, shrinkctl, nr,
mm/shrinker.c
437
ret = shrinker->scan_objects(shrinker, shrinkctl);
mm/shrinker.c
462
new_nr = add_nr_deferred(next_deferred, shrinker, shrinkctl);
mm/shrinker.c
464
trace_mm_shrink_slab_end(shrinker, shrinkctl->nid, freed, nr, new_nr, total_scan);
mm/shrinker.c
533
struct shrinker *shrinker;
mm/shrinker.c
537
shrinker = idr_find(&shrinker_idr, shrinker_id);
mm/shrinker.c
538
if (unlikely(!shrinker || !shrinker_try_get(shrinker))) {
mm/shrinker.c
547
!(shrinker->flags & SHRINKER_NONSLAB))
mm/shrinker.c
550
ret = do_shrink_slab(&sc, shrinker, priority);
mm/shrinker.c
569
ret = do_shrink_slab(&sc, shrinker, priority);
mm/shrinker.c
576
shrinker_put(shrinker);
mm/shrinker.c
618
struct shrinker *shrinker;
mm/shrinker.c
652
list_for_each_entry_rcu(shrinker, &shrinker_list, list) {
mm/shrinker.c
659
if (!shrinker_try_get(shrinker))
mm/shrinker.c
664
ret = do_shrink_slab(&sc, shrinker, priority);
mm/shrinker.c
670
shrinker_put(shrinker);
mm/shrinker.c
678
struct shrinker *shrinker_alloc(unsigned int flags, const char *fmt, ...)
mm/shrinker.c
680
struct shrinker *shrinker;
mm/shrinker.c
685
shrinker = kzalloc_obj(struct shrinker);
mm/shrinker.c
686
if (!shrinker)
mm/shrinker.c
690
err = shrinker_debugfs_name_alloc(shrinker, fmt, ap);
mm/shrinker.c
695
shrinker->flags = flags | SHRINKER_ALLOCATED;
mm/shrinker.c
696
shrinker->seeks = DEFAULT_SEEKS;
mm/shrinker.c
699
err = shrinker_memcg_alloc(shrinker);
mm/shrinker.c
702
shrinker->flags &= ~SHRINKER_MEMCG_AWARE;
mm/shrinker.c
709
return shrinker;
mm/shrinker.c
720
size = sizeof(*shrinker->nr_deferred);
mm/shrinker.c
724
shrinker->nr_deferred = kzalloc(size, GFP_KERNEL);
mm/shrinker.c
725
if (!shrinker->nr_deferred)
mm/shrinker.c
728
return shrinker;
mm/shrinker.c
731
shrinker_debugfs_name_free(shrinker);
mm/shrinker.c
733
kfree(shrinker);
mm/shrinker.c
738
void shrinker_register(struct shrinker *shrinker)
mm/shrinker.c
740
if (unlikely(!(shrinker->flags & SHRINKER_ALLOCATED))) {
mm/shrinker.c
746
list_add_tail_rcu(&shrinker->list, &shrinker_list);
mm/shrinker.c
747
shrinker->flags |= SHRINKER_REGISTERED;
mm/shrinker.c
748
shrinker_debugfs_add(shrinker);
mm/shrinker.c
751
init_completion(&shrinker->done);
mm/shrinker.c
757
refcount_set(&shrinker->refcount, 1);
mm/shrinker.c
763
struct shrinker *shrinker = container_of(head, struct shrinker, rcu);
mm/shrinker.c
765
kfree(shrinker->nr_deferred);
mm/shrinker.c
766
kfree(shrinker);
mm/shrinker.c
769
void shrinker_free(struct shrinker *shrinker)
mm/shrinker.c
774
if (!shrinker)
mm/shrinker.c
777
if (shrinker->flags & SHRINKER_REGISTERED) {
mm/shrinker.c
779
shrinker_put(shrinker);
mm/shrinker.c
786
wait_for_completion(&shrinker->done);
mm/shrinker.c
790
if (shrinker->flags & SHRINKER_REGISTERED) {
mm/shrinker.c
795
list_del_rcu(&shrinker->list);
mm/shrinker.c
796
debugfs_entry = shrinker_debugfs_detach(shrinker, &debugfs_id);
mm/shrinker.c
797
shrinker->flags &= ~SHRINKER_REGISTERED;
mm/shrinker.c
800
shrinker_debugfs_name_free(shrinker);
mm/shrinker.c
802
if (shrinker->flags & SHRINKER_MEMCG_AWARE)
mm/shrinker.c
803
shrinker_memcg_remove(shrinker);
mm/shrinker.c
809
call_rcu(&shrinker->rcu, shrinker_free_rcu_cb);
mm/shrinker_debug.c
108
struct shrinker *shrinker = file->private_data;
mm/shrinker_debug.c
132
if (shrinker->flags & SHRINKER_MEMCG_AWARE) {
mm/shrinker_debug.c
150
shrinker->scan_objects(shrinker, &sc);
mm/shrinker_debug.c
163
int shrinker_debugfs_add(struct shrinker *shrinker)
mm/shrinker_debug.c
178
shrinker->debugfs_id = id;
mm/shrinker_debug.c
18
static unsigned long shrinker_count_objects(struct shrinker *shrinker,
mm/shrinker_debug.c
180
snprintf(buf, sizeof(buf), "%s-%d", shrinker->name, id);
mm/shrinker_debug.c
188
shrinker->debugfs_entry = entry;
mm/shrinker_debug.c
190
debugfs_create_file("count", 0440, entry, shrinker,
mm/shrinker_debug.c
192
debugfs_create_file("scan", 0220, entry, shrinker,
mm/shrinker_debug.c
197
int shrinker_debugfs_rename(struct shrinker *shrinker, const char *fmt, ...)
mm/shrinker_debug.c
212
old = shrinker->name;
mm/shrinker_debug.c
213
shrinker->name = new;
mm/shrinker_debug.c
215
ret = debugfs_change_name(shrinker->debugfs_entry, "%s-%d",
mm/shrinker_debug.c
216
shrinker->name, shrinker->debugfs_id);
mm/shrinker_debug.c
219
shrinker->name = old;
mm/shrinker_debug.c
230
struct dentry *shrinker_debugfs_detach(struct shrinker *shrinker,
mm/shrinker_debug.c
233
struct dentry *entry = shrinker->debugfs_entry;
mm/shrinker_debug.c
237
*debugfs_id = entry ? shrinker->debugfs_id : -1;
mm/shrinker_debug.c
238
shrinker->debugfs_entry = NULL;
mm/shrinker_debug.c
251
struct shrinker *shrinker;
mm/shrinker_debug.c
26
if (nid == 0 || (shrinker->flags & SHRINKER_NUMA_AWARE)) {
mm/shrinker_debug.c
262
list_for_each_entry(shrinker, &shrinker_list, list)
mm/shrinker_debug.c
263
if (!shrinker->debugfs_entry) {
mm/shrinker_debug.c
264
ret = shrinker_debugfs_add(shrinker);
mm/shrinker_debug.c
33
nr = shrinker->count_objects(shrinker, &sc);
mm/shrinker_debug.c
49
struct shrinker *shrinker = m->private;
mm/shrinker_debug.c
62
memcg_aware = shrinker->flags & SHRINKER_MEMCG_AWARE;
mm/shrinker_debug.c
69
total = shrinker_count_objects(shrinker,
mm/slab_common.c
2126
kfree_rcu_shrink_count(struct shrinker *shrink, struct shrink_control *sc)
mm/slab_common.c
2144
kfree_rcu_shrink_scan(struct shrinker *shrink, struct shrink_control *sc)
mm/slab_common.c
2170
struct shrinker *kfree_rcu_shrinker;
mm/vmalloc.c
5400
vmap_node_shrink_count(struct shrinker *shrink, struct shrink_control *sc)
mm/vmalloc.c
5415
vmap_node_shrink_scan(struct shrinker *shrink, struct shrink_control *sc)
mm/vmalloc.c
5427
struct shrinker *vmap_node_shrinker;
mm/workingset.c
640
static unsigned long count_shadow_nodes(struct shrinker *shrinker,
mm/workingset.c
767
static unsigned long scan_shadow_nodes(struct shrinker *shrinker,
mm/workingset.c
783
struct shrinker *workingset_shadow_shrinker;
mm/zsmalloc.c
1972
static unsigned long zs_shrinker_scan(struct shrinker *shrinker,
mm/zsmalloc.c
1976
struct zs_pool *pool = shrinker->private_data;
mm/zsmalloc.c
1988
static unsigned long zs_shrinker_count(struct shrinker *shrinker,
mm/zsmalloc.c
1994
struct zs_pool *pool = shrinker->private_data;
mm/zsmalloc.c
2009
shrinker_free(pool->shrinker);
mm/zsmalloc.c
2014
pool->shrinker = shrinker_alloc(0, "mm-zspool:%s", pool->name);
mm/zsmalloc.c
2015
if (!pool->shrinker)
mm/zsmalloc.c
2018
pool->shrinker->scan_objects = zs_shrinker_scan;
mm/zsmalloc.c
2019
pool->shrinker->count_objects = zs_shrinker_count;
mm/zsmalloc.c
2020
pool->shrinker->batch = 0;
mm/zsmalloc.c
2021
pool->shrinker->private_data = pool;
mm/zsmalloc.c
2023
shrinker_register(pool->shrinker);
mm/zsmalloc.c
209
struct shrinker *shrinker;
mm/zswap.c
1181
static unsigned long zswap_shrinker_scan(struct shrinker *shrinker,
mm/zswap.c
1202
static unsigned long zswap_shrinker_count(struct shrinker *shrinker,
mm/zswap.c
1274
static struct shrinker *zswap_alloc_shrinker(void)
mm/zswap.c
1276
struct shrinker *shrinker;
mm/zswap.c
1278
shrinker =
mm/zswap.c
1280
if (!shrinker)
mm/zswap.c
1283
shrinker->scan_objects = zswap_shrinker_scan;
mm/zswap.c
1284
shrinker->count_objects = zswap_shrinker_count;
mm/zswap.c
1285
shrinker->batch = 0;
mm/zswap.c
1286
shrinker->seeks = DEFAULT_SEEKS;
mm/zswap.c
1287
return shrinker;
mm/zswap.c
170
static struct shrinker *zswap_shrinker;
net/sunrpc/auth.c
475
rpcauth_cache_shrink_scan(struct shrinker *shrink, struct shrink_control *sc)
net/sunrpc/auth.c
489
rpcauth_cache_shrink_count(struct shrinker *shrink, struct shrink_control *sc)
net/sunrpc/auth.c
866
static struct shrinker *rpc_cred_shrinker;