Re: [PATCH 05/13] mm: convert shrinkers to use new API
From: Wanlong Gao <hidden>
Date: 2011-08-26 17:09:38
Also in:
linux-fsdevel, lkml
On Tue, 2011-08-23 at 18:56 +1000, Dave Chinner wrote:
From: Dave Chinner <redacted> 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@kvack.org. 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@kvack.org"> email@kvack.org </a>