Re: [RFC] Reorganizing structs to save space

From: Matt Mackall
Date: Tue Apr 03 2007 - 17:43:26 EST


On Tue, Apr 03, 2007 at 09:28:48AM -0300, Arnaldo Carvalho de Melo wrote:
> module 16960 16848 112

That's huge.

> struct module_ref ref[255]; /* 480 16320 */

Huh. That's this:

struct module_ref
{
local_t count;
} ____cacheline_aligned;

This is horrible. Surely there's some way to do better than a
cacheline per module per possible CPU. We should only need 4 bytes per
module per online CPU.

And really, about the only case where we actually care about cacheline
bouncing here at all is on modules that do this per-packet. Just about
everyone else can get by with 4 bytes per module total.

--
Mathematics is the supreme nostalgia of our time.
-
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/