Thread (37 messages) 37 messages, 6 authors, 2011-09-05

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>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help