Lines Matching defs:shrinker
84 * This function is the main interface to the shrinker. It will try to release
96 * backing storage pins at the buffer object level) result in the shrinker code
289 i915_gem_shrinker_count(struct shrinker *shrinker, struct shrink_control *sc)
291 struct drm_i915_private *i915 = shrinker->private_data;
302 * the shrinker to fire, until it is worth the cost of freeing an
308 i915->mm.shrinker->batch =
309 max((i915->mm.shrinker->batch + avg) >> 1,
317 i915_gem_shrinker_scan(struct shrinker *shrinker, struct shrink_control *sc)
319 struct drm_i915_private *i915 = shrinker->private_data;
431 i915->mm.shrinker = shrinker_alloc(0, "drm-i915_gem");
432 if (!i915->mm.shrinker) {
435 i915->mm.shrinker->scan_objects = i915_gem_shrinker_scan;
436 i915->mm.shrinker->count_objects = i915_gem_shrinker_count;
437 i915->mm.shrinker->batch = 4096;
438 i915->mm.shrinker->private_data = i915;
440 shrinker_register(i915->mm.shrinker);
457 shrinker_free(i915->mm.shrinker);
475 * i915_gem_object_make_unshrinkable - Hide the object from the shrinker. By
477 * make the object visible to the shrinker after allocating the system memory
482 * easily processed by the shrinker, like if they are perma-pinned.
584 * shrinker will attempt to discard the backing pages, instead of trying to swap