xps: NUMA allocations for per cpu data
authorEric Dumazet <eric.dumazet@gmail.com>
Sun, 28 Nov 2010 05:43:24 +0000 (05:43 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 29 Nov 2010 17:43:13 +0000 (09:43 -0800)
store_xps_map() allocates maps that are used by single cpu, it makes
sense to use NUMA allocations.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Cc: Tom Herbert <therbert@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/net-sysfs.c

index 99c11294623f90ba3d6ff4cd9d7d890e5e633eea..35ef42fa0cf3885a7f58a3d6a3623eeb0abf8b21 100644 (file)
@@ -956,8 +956,9 @@ static ssize_t store_xps_map(struct netdev_queue *queue,
                        if (map_len >= alloc_len) {
                                alloc_len = alloc_len ?
                                    2 * alloc_len : XPS_MIN_MAP_ALLOC;
-                               new_map = kzalloc(XPS_MAP_SIZE(alloc_len),
-                                   GFP_KERNEL);
+                               new_map = kzalloc_node(XPS_MAP_SIZE(alloc_len),
+                                                      GFP_KERNEL,
+                                                      cpu_to_node(cpu));
                                if (!new_map)
                                        goto error;
                                new_map->alloc_len = alloc_len;