On Tue, Jul 23, 2013 at 11:18:06PM +0400, Artem Savkov wrote:
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)
Sorry, looks like my analysis was wrong, I can still see the issue with this patch.