On Tue, 2011-08-23 at 18:56 +1000, Dave Chinner wrote: > From: Dave Chinner <dchinner@xxxxxxxxxx> > > Modify shrink_slab() to use the new .count_objects/.scan_objects API > and implement the callouts for all the existing shrinkers. > +static long > +cifs_idmap_shrinker_scan(struct shrinker *shrink, struct shrink_control *sc) > { > - int nr_to_scan = sc->nr_to_scan; > - int nr_del = 0; > - int nr_rem = 0; > struct rb_root *root; > + long freed; > > root = &uidtree; > spin_lock(&siduidlock); > - shrink_idmap_tree(root, nr_to_scan, &nr_rem, &nr_del); > + freed = shrink_idmap_tree(root, sc->nr_to_scan); > spin_unlock(&siduidlock); > > root = &gidtree; > spin_lock(&sidgidlock); > - shrink_idmap_tree(root, nr_to_scan, &nr_rem, &nr_del); > + freed += shrink_idmap_tree(root, sc->nr_to_scan); > spin_unlock(&sidgidlock); > > - return nr_rem; > + return freed; > +} > + > +/* > + * This still abuses the nr_to_scan == 0 trick to get the common code just to > + * count objects. There neds to be an external count of the objects in the ^^^^^? Hi Dave: Great work. a bit comments. Thanks -Wanlong Gao -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>