Re: [patch 0/7] [RFC] SLUB: Improve allocpercpu to reduce per cpuaccess overhead

From: David Miller
Date: Thu Nov 01 2007 - 01:38:49 EST


From: Christoph Lameter <clameter@xxxxxxx>
Date: Wed, 31 Oct 2007 21:16:59 -0700 (PDT)

> /*
> * Maximum allowed per cpu data per cpu
> */
> +#ifdef CONFIG_NUMA
> +#define PER_CPU_ALLOC_SIZE (32768 + MAX_NUMNODES * 512)
> +#else
> #define PER_CPU_ALLOC_SIZE 32768
> +#endif
> +

Christoph, as Rusty found out years ago when he first wrote this code,
you cannot put hard limits on the alloc_percpu() allocations.

They can be done by anyone, any module, and since there was no limit
before you cannot reasonably add one now.

As just one of many examples, several networking devices use
alloc_percpu() for each instance they bring up. This alone can
request arbitrary amounts of per-cpu data.

Therefore, you'll need to do your optimization without imposing any
size limits.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/