>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." //Snild _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel