[Intel-gfx] [PATCH 01/10] drm/i915: Only attempt to scan the requested number of shrinker slabs
Tvrtko Ursulin
tvrtko.ursulin at linux.intel.com
Wed Jan 17 10:29:51 UTC 2018
On 15/01/2018 21:24, Chris Wilson wrote:
> Since commit 4e773c3a8a69 ("drm/i915: Wire up shrinkctl->nr_scanned"),
Sounds like it deserves this in the Fixes: tag as well?
> we track the number of objects we scan and do not wish to exceed that as
> it will overly penalise our own slabs under mempressure. Given that we
> now know the target number of objects to scan, use that as our guide for
> deciding to shrink as opposed to the number of objects we manage to
> shrink (which doesn't correspond to the numbers we report to shrinkctl).
>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
> ---
> drivers/gpu/drm/i915/i915_gem_shrinker.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_gem_shrinker.c b/drivers/gpu/drm/i915/i915_gem_shrinker.c
> index 9029ed04879c..0e158f9287c4 100644
> --- a/drivers/gpu/drm/i915/i915_gem_shrinker.c
> +++ b/drivers/gpu/drm/i915/i915_gem_shrinker.c
> @@ -363,13 +363,13 @@ i915_gem_shrinker_scan(struct shrinker *shrinker, struct shrink_control *sc)
> I915_SHRINK_BOUND |
> I915_SHRINK_UNBOUND |
> I915_SHRINK_PURGEABLE);
> - if (freed < sc->nr_to_scan)
> + if (sc->nr_scanned < sc->nr_to_scan)
> freed += i915_gem_shrink(i915,
> sc->nr_to_scan - sc->nr_scanned,
> &sc->nr_scanned,
> I915_SHRINK_BOUND |
> I915_SHRINK_UNBOUND);
> - if (freed < sc->nr_to_scan && current_is_kswapd()) {
> + if (sc->nr_scanned < sc->nr_to_scan && current_is_kswapd()) {
> intel_runtime_pm_get(i915);
> freed += i915_gem_shrink(i915,
> sc->nr_to_scan - sc->nr_scanned,
>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
Regards,
Tvrtko
More information about the Intel-gfx
mailing list