diff --git a/module/zfs/arc.c b/module/zfs/arc.c index 8ef37cb4fa60..79b04f45564f 100644 --- a/module/zfs/arc.c +++ b/module/zfs/arc.c @@ -4434,16 +4434,16 @@ __arc_shrinker_func(struct shrinker *shrink, struct shrink_control *sc) #else pages = btop(arc_evictable_memory()); #endif + /* + * We've shrunk what we can, wake up threads. + */ + cv_broadcast(&arc_reclaim_waiters_cv); + } else { arc_kmem_reap_now(); pages = SHRINK_STOP; } - /* - * We've reaped what we can, wake up threads. - */ - cv_broadcast(&arc_reclaim_waiters_cv); - /* * When direct reclaim is observed it usually indicates a rapid * increase in memory pressure. This occurs because the kswapd