[S390] cio: Memory allocation for idset changed.

Memory allocation for the quite huge idset changed from
kzalloc to vmalloc.

Signed-off-by: Michael Ernst <mernst@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
Michael Ernst 2008-08-01 16:39:14 +02:00 committed by Martin Schwidefsky
parent 683d718a89
commit 883e512c99

View file

@ -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)
{ {
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)