linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] mm: use kvzalloc for swap_info_struct allocation
@ 2018-11-04 22:13 Vasily Averin
  2018-11-05  0:50 ` Huang, Ying
  0 siblings, 1 reply; 8+ messages in thread
From: Vasily Averin @ 2018-11-04 22:13 UTC (permalink / raw)
  To: linux-mm, Andrew Morton; +Cc: Huang Ying, linux-kernel, Aaron Lu

commit a2468cc9bfdf ("swap: choose swap device according to numa node")
increased size of swap_info_struct up to 44 Kbytes, now it requires 4th order page.
Switch to kvzmalloc allows to avoid unexpected allocation failures.

Signed-off-by: Vasily Averin <vvs@virtuozzo.com>
---
 mm/swapfile.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/mm/swapfile.c b/mm/swapfile.c
index 644f746e167a..8688ae65ef58 100644
--- a/mm/swapfile.c
+++ b/mm/swapfile.c
@@ -2813,7 +2813,7 @@ static struct swap_info_struct *alloc_swap_info(void)
 	unsigned int type;
 	int i;
 
-	p = kzalloc(sizeof(*p), GFP_KERNEL);
+	p = kvzalloc(sizeof(*p), GFP_KERNEL);
 	if (!p)
 		return ERR_PTR(-ENOMEM);
 
@@ -2824,7 +2824,7 @@ static struct swap_info_struct *alloc_swap_info(void)
 	}
 	if (type >= MAX_SWAPFILES) {
 		spin_unlock(&swap_lock);
-		kfree(p);
+		kvfree(p);
 		return ERR_PTR(-EPERM);
 	}
 	if (type >= nr_swapfiles) {
@@ -2838,7 +2838,7 @@ static struct swap_info_struct *alloc_swap_info(void)
 		smp_wmb();
 		nr_swapfiles++;
 	} else {
-		kfree(p);
+		kvfree(p);
 		p = swap_info[type];
 		/*
 		 * Do not memset this entry: a racing procfs swap_next()
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2018-11-05 14:27 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-11-04 22:13 [PATCH 1/2] mm: use kvzalloc for swap_info_struct allocation Vasily Averin
2018-11-05  0:50 ` Huang, Ying
2018-11-05  4:59   ` Vasily Averin
2018-11-05  5:16     ` Huang, Ying
2018-11-05  6:10     ` Aaron Lu
2018-11-05 11:17       ` [PATCH v2] " Vasily Averin
2018-11-05 14:11         ` Michal Hocko
2018-11-05 14:27           ` Aaron Lu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).