[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1477149440-12478-5-git-send-email-hch@lst.de>
Date: Sat, 22 Oct 2016 17:17:17 +0200
From: Christoph Hellwig <hch@....de>
To: akpm@...ux-foundation.org
Cc: joelaf@...gle.com, jszhang@...vell.com, chris@...is-wilson.co.uk,
joaodias@...gle.com, linux-mm@...ck.org,
linux-rt-users@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: [PATCH 4/7] mm: defer vmalloc from atomic context
We want to be able to use a sleeping lock for freeing vmap to keep
latency down. For this we need to use the deferred vfree mechanisms
no only from interrupt, but from any atomic context.
Signed-off-by: Christoph Hellwig <hch@....de>
---
mm/vmalloc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mm/vmalloc.c b/mm/vmalloc.c
index a4e2cec..bcc1a64 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -1509,7 +1509,7 @@ void vfree(const void *addr)
if (!addr)
return;
- if (unlikely(in_interrupt())) {
+ if (unlikely(in_atomic())) {
struct vfree_deferred *p = this_cpu_ptr(&vfree_deferred);
if (llist_add((struct llist_node *)addr, &p->list))
schedule_work(&p->wq);
--
2.1.4
Powered by blists - more mailing lists