Re: [patch 00/41] cpu alloc / cpu ops v3: Optimize per cpu access

From: Andrew Morton
Date: Fri May 30 2008 - 02:16:53 EST


On Fri, 30 May 2008 08:01:02 +0200 Eric Dumazet <dada1@xxxxxxxxxxxxx> wrote:

> Really, percpu allocations are currently not frequent at all.
>
> vmalloc()/vfreee() are way more frequent and still use a list.

Sure it's hard to conceive how anyone could go and do a per-cpu
allocation on a fastpath.

But this has nothing to do with the frequency! The problems surround
the _amount_ of allocated memory and the allocation/freeing patterns.

Here's another example. And it's only an example! Generalise!

ext3 maintains three percpu_counters per mount. Each percpu_counter
does one percpu_alloc. People can mount an arbitrary number of ext3
filesystems!


Another: there are two percpu_counters (and hence two percpu_alloc()s)
per backing_dev_info. One backing_dev_info per disk and people have
been known to have thousands (iirc ~10,000) disks online.

And those examples were plucked only from today's kernel. Who knows
what other problems will be in 2.6.45?
--
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/