Skip to content

Commit 3826909

Browse files
joelagnelpaulmckrcu
authored andcommitted
rcu/kfree: Fix kfree_rcu_shrink_count() return value
As per the comments in include/linux/shrinker.h, .count_objects callback should return the number of freeable items, but if there are no objects to free, SHRINK_EMPTY should be returned. The only time 0 is returned should be when we are unable to determine the number of objects, or the cache should be skipped for another reason. Signed-off-by: Joel Fernandes (Google) <joel@joelfernandes.org> Reviewed-by: Uladzislau Rezki (Sony) <urezki@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
1 parent 093590c commit 3826909

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

kernel/rcu/tree.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3372,7 +3372,7 @@ kfree_rcu_shrink_count(struct shrinker *shrink, struct shrink_control *sc)
33723372
atomic_set(&krcp->backoff_page_cache_fill, 1);
33733373
}
33743374

3375-
return count;
3375+
return count == 0 ? SHRINK_EMPTY : count;
33763376
}
33773377

33783378
static unsigned long

0 commit comments

Comments
 (0)