On 16:13 Mon 15 Apr , Dan Carpenter wrote: > On Mon, Apr 15, 2013 at 03:38:08PM +0200, Dolkow, Snild wrote: > > >Where is lowmem_shrink called from? I only see shrink called from the > > >bcache sysfs handler __bch_cache_set(). The return value isn't checked > > >there. > > > > > >Up to now this function has only returns positive numbers. > > > > > >There isn't a place which check LMK_BUSY so maybe it's best to just > > >return zero? > > > > Hey Dan, > > > > lowmem_shrink is assigned to a shrinker struct > > (include/linux/shrinker.h) and called in do_shrinker_shrink() in > > mm/vmscan.c. That, in turn, is called and checked in a few places > > in vmscan.c. > > > > >From the comments in shrinker.h: > > "It should return the number of objects which remain in the > > cache. If it returns -1, it means it cannot do any scanning at > > this time (eg. there is a risk of deadlock). The callback must not > > return -1 if nr_to_scan is zero." > > Ah. Good. -1 is the right return. > > But really should be a #define in shrinker.h instead of in > drivers/staging/android/. IMO one should use the errno.h values - e.g. EBUSY might be a good value in this case. Does anyone know why the shrinker wants -1? Is there a reason? -Oskar _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel