nr_to_scan needs to be (unsigned) long, not int, otherwise we get negative values on 32bit systems during shrink resulting in lots of messages like one below. [ 4078.989603] shrink_slab: i915_gem_inactive_scan+0x0/0xc0 negative objects to delete nr=-289580136 Introduced in "drivers: convert shrinkers to new count/scan API" (383e4f4a4cdeb2dd552e90811089bcb4d41eb32e in linux-next.git) Signed-off-by: Artem Savkov <artem.savkov@xxxxxxxxx> --- drivers/gpu/drm/i915/i915_gem.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index 4635354..b3b4891b 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -4649,7 +4649,7 @@ i915_gem_inactive_scan(struct shrinker *shrinker, struct shrink_control *sc) struct drm_i915_private, mm.inactive_shrinker); struct drm_device *dev = dev_priv->dev; - int nr_to_scan = sc->nr_to_scan; + unsigned long nr_to_scan = sc->nr_to_scan; unsigned long freed; bool unlock = true; -- 1.8.3.3 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel