ide: NUMA aware allocation of host and port structures
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Tue, 6 Jan 2009 16:20:56 +0000 (17:20 +0100)
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Tue, 6 Jan 2009 16:20:56 +0000 (17:20 +0100)
kzalloc() -> kzalloc_node() in ide_host_alloc().

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
drivers/ide/ide-probe.c

index 2fca32ed576f64c18d174d852428aa66f0187288..00c7e5a67bd1169c71ded0c60af8c12238d5ac8e 100644 (file)
@@ -1391,9 +1391,11 @@ static void ide_free_port_slot(int idx)
 struct ide_host *ide_host_alloc(const struct ide_port_info *d, hw_regs_t **hws)
 {
        struct ide_host *host;
+       struct device *dev = hws[0] ? hws[0]->dev : NULL;
+       int node = dev ? dev_to_node(dev) : -1;
        int i;
 
-       host = kzalloc(sizeof(*host), GFP_KERNEL);
+       host = kzalloc_node(sizeof(*host), GFP_KERNEL, node);
        if (host == NULL)
                return NULL;
 
@@ -1404,7 +1406,7 @@ struct ide_host *ide_host_alloc(const struct ide_port_info *d, hw_regs_t **hws)
                if (hws[i] == NULL)
                        continue;
 
-               hwif = kzalloc(sizeof(*hwif), GFP_KERNEL);
+               hwif = kzalloc_node(sizeof(*hwif), GFP_KERNEL, node);
                if (hwif == NULL)
                        continue;
 
@@ -1429,8 +1431,7 @@ struct ide_host *ide_host_alloc(const struct ide_port_info *d, hw_regs_t **hws)
                return NULL;
        }
 
-       if (hws[0])
-               host->dev[0] = hws[0]->dev;
+       host->dev[0] = dev;
 
        if (d) {
                host->init_chipset = d->init_chipset;