mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-25 18:59:33 +03:00
Return -1 from arc_shrinker_func()
This is analogous to SPL commit zfsonlinux/spl@b9b3715. While we don't have clear evidence of systems getting caught here indefinately like in the SPL this ensures that it will never happen. Signed-off-by: Richard Yao <ryao@gentoo.org> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes #1579
This commit is contained in:
parent
8170d28126
commit
c11a12bc3b
@ -2374,10 +2374,8 @@ __arc_shrinker_func(struct shrinker *shrink, struct shrink_control *sc)
|
|||||||
*/
|
*/
|
||||||
if (pages > 0) {
|
if (pages > 0) {
|
||||||
arc_kmem_reap_now(ARC_RECLAIM_AGGR, ptob(sc->nr_to_scan));
|
arc_kmem_reap_now(ARC_RECLAIM_AGGR, ptob(sc->nr_to_scan));
|
||||||
pages = btop(arc_evictable_memory());
|
|
||||||
} else {
|
} else {
|
||||||
arc_kmem_reap_now(ARC_RECLAIM_CONS, ptob(sc->nr_to_scan));
|
arc_kmem_reap_now(ARC_RECLAIM_CONS, ptob(sc->nr_to_scan));
|
||||||
pages = -1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -2397,7 +2395,7 @@ __arc_shrinker_func(struct shrinker *shrink, struct shrink_control *sc)
|
|||||||
|
|
||||||
mutex_exit(&arc_reclaim_thr_lock);
|
mutex_exit(&arc_reclaim_thr_lock);
|
||||||
|
|
||||||
return (pages);
|
return (-1);
|
||||||
}
|
}
|
||||||
SPL_SHRINKER_CALLBACK_WRAPPER(arc_shrinker_func);
|
SPL_SHRINKER_CALLBACK_WRAPPER(arc_shrinker_func);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user