|
@@ -3403,7 +3403,7 @@ __cache_alloc_node(struct kmem_cache *cachep, gfp_t flags, int nodeid,
|
|
|
cache_alloc_debugcheck_before(cachep, flags);
|
|
|
local_irq_save(save_flags);
|
|
|
|
|
|
- if (nodeid == -1)
|
|
|
+ if (nodeid == NUMA_NO_NODE)
|
|
|
nodeid = slab_node;
|
|
|
|
|
|
if (unlikely(!cachep->nodelists[nodeid])) {
|
|
@@ -3934,7 +3934,7 @@ fail:
|
|
|
|
|
|
struct ccupdate_struct {
|
|
|
struct kmem_cache *cachep;
|
|
|
- struct array_cache *new[NR_CPUS];
|
|
|
+ struct array_cache *new[0];
|
|
|
};
|
|
|
|
|
|
static void do_ccupdate_local(void *info)
|
|
@@ -3956,7 +3956,8 @@ static int do_tune_cpucache(struct kmem_cache *cachep, int limit,
|
|
|
struct ccupdate_struct *new;
|
|
|
int i;
|
|
|
|
|
|
- new = kzalloc(sizeof(*new), gfp);
|
|
|
+ new = kzalloc(sizeof(*new) + nr_cpu_ids * sizeof(struct array_cache *),
|
|
|
+ gfp);
|
|
|
if (!new)
|
|
|
return -ENOMEM;
|
|
|
|