On Thu, Aug 24, 2017 at 05:29:59PM +0300, Andrey Ryabinin wrote: > > > On 08/22/2017 10:35 PM, josef@xxxxxxxxxxxxxx wrote: > > --- a/mm/vmscan.c > > +++ b/mm/vmscan.c > > @@ -306,9 +306,7 @@ EXPORT_SYMBOL(unregister_shrinker); > > #define SHRINK_BATCH 128 > > > > static unsigned long do_shrink_slab(struct shrink_control *shrinkctl, > > - struct shrinker *shrinker, > > - unsigned long nr_scanned, > > - unsigned long nr_eligible) > > + struct shrinker *shrinker, int priority) > > { > > unsigned long freed = 0; > > unsigned long long delta; > > @@ -333,9 +331,8 @@ static unsigned long do_shrink_slab(struct shrink_control *shrinkctl, > > nr = atomic_long_xchg(&shrinker->nr_deferred[nid], 0); > > > > total_scan = nr; > > - delta = (4 * nr_scanned) / shrinker->seeks; > > - delta *= freeable; > > - do_div(delta, nr_eligible + 1); > > + delta = freeable >> priority; > > + delta = (4 * freeable) / shrinker->seeks; > > Something is wrong. The first line does nothing. > Lol jesus, nice catch, I'll fix this up. Thanks, Josef -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>