Commit 883e512c authored by Michael Ernst's avatar Michael Ernst Committed by Martin Schwidefsky

[S390] cio: Memory allocation for idset changed.

Memory allocation for the quite huge idset changed from
kzalloc to vmalloc.
Signed-off-by: default avatarMichael Ernst <mernst@de.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent 683d718a
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
* Author(s): Peter Oberparleiter <peter.oberparleiter@de.ibm.com> * Author(s): Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
*/ */
#include <linux/slab.h> #include <linux/vmalloc.h>
#include <linux/bitops.h> #include <linux/bitops.h>
#include "idset.h" #include "idset.h"
#include "css.h" #include "css.h"
...@@ -25,18 +25,18 @@ static struct idset *idset_new(int num_ssid, int num_id) ...@@ -25,18 +25,18 @@ static struct idset *idset_new(int num_ssid, int num_id)
{ {
struct idset *set; struct idset *set;
set = kzalloc(sizeof(struct idset) + bitmap_size(num_ssid, num_id), set = vmalloc(sizeof(struct idset) + bitmap_size(num_ssid, num_id));
GFP_KERNEL);
if (set) { if (set) {
set->num_ssid = num_ssid; set->num_ssid = num_ssid;
set->num_id = num_id; set->num_id = num_id;
memset(set->bitmap, 0, bitmap_size(num_ssid, num_id));
} }
return set; return set;
} }
void idset_free(struct idset *set) void idset_free(struct idset *set)
{ {
kfree(set); vfree(set);
} }
void idset_clear(struct idset *set) void idset_clear(struct idset *set)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment