diff options
Diffstat (limited to 'module/zfs/arc.c')
-rw-r--r-- | module/zfs/arc.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/module/zfs/arc.c b/module/zfs/arc.c index 8ef37cb4f..79b04f455 100644 --- a/module/zfs/arc.c +++ b/module/zfs/arc.c @@ -4434,17 +4434,17 @@ __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 * threads were unable to asynchronously keep enough free memory |