[PATCH 2/2] xfs: back off from kmem_zalloc_greedy if the task is killed
From: Michal Hocko
Date: Thu Mar 02 2017 - 10:49:02 EST
From: Michal Hocko <mhocko@xxxxxxxx>
It doesn't really make much sense to retry vmalloc request if the
current task is killed. We should rather bail out as soon as possible
and let it RIP as soon as possible. The current implementation of
vmalloc will fail anyway.
Suggested-by: Brian Foster <bfoster@xxxxxxxxxx>
Signed-off-by: Michal Hocko <mhocko@xxxxxxxx>
---
fs/xfs/kmem.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/xfs/kmem.c b/fs/xfs/kmem.c
index ee95f5c6db45..01c52567a4ff 100644
--- a/fs/xfs/kmem.c
+++ b/fs/xfs/kmem.c
@@ -34,7 +34,7 @@ kmem_zalloc_greedy(size_t *size, size_t minsize, size_t maxsize)
size_t kmsize = maxsize;
while (!(ptr = vzalloc(kmsize))) {
- if (kmsize == minsize)
+ if (kmsize == minsize || fatal_signal_pending(current))
break;
if ((kmsize >>= 1) <= minsize)
kmsize = minsize;
--
2.11.0