[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20170302154541.16155-2-mhocko@kernel.org>
Date: Thu, 2 Mar 2017 16:45:41 +0100
From: Michal Hocko <mhocko@...nel.org>
To: Christoph Hellwig <hch@....de>, Brian Foster <bfoster@...hat.com>
Cc: Tetsuo Handa <penguin-kernel@...ove.SAKURA.ne.jp>,
Xiong Zhou <xzhou@...hat.com>, linux-xfs@...r.kernel.org,
<linux-mm@...ck.org>, LKML <linux-kernel@...r.kernel.org>,
<linux-fsdevel@...r.kernel.org>, Michal Hocko <mhocko@...e.com>
Subject: [PATCH 2/2] xfs: back off from kmem_zalloc_greedy if the task is killed
From: Michal Hocko <mhocko@...e.com>
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@...hat.com>
Signed-off-by: Michal Hocko <mhocko@...e.com>
---
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
Powered by blists - more mailing lists