Re: [PATCH] dst_entry structure use,lastuse and refcnt abstraction

From: David S. Miller
Date: Thu Jun 23 2005 - 23:33:31 EST


From: Christoph Lameter <christoph@xxxxxxxxxxx>
Date: Thu, 23 Jun 2005 21:06:30 -0700 (PDT)

> I am sure one can do better than that. The x445 is the smallest NUMA box
> that I know of and the only one available in the context of that project.
> But I am also not sure that this will reach proportions that will
> outweigh the complexity added by these patches. What would be
> the performance benefit that we would need to see to feel that is
> is right to get such a change in?

Something on the order of %10. If I recall correctly, that's
basically what we got on SMP from the RCU changes to the routing
cache.

> Hmm. I like the idea of a separate routing cache per node. May actually
> reach higher performance than splitting the counters. Lets think a bit
> about that.

One thing that may happen down the line is that the flow cache
becomes a more unified thing. Ie. local sockets get found there,
netfilter rules can match, as well as normal "routes".

The idea is that on a miss, you go down into the "slow" lookup path
where the data structure is less distributed (SMP and NUMA wise) and
slower to search. And this populates the flow tables.

But that seems to work best on a per-cpu basis.

Unfortunately, it really doesn't address your problem in and of
itself. This is because flow entries, especially when used on
sockets, would still get accessed by other cpus and thus nodes.
We would need to build something on top of the per-cpu flowcache,
such as the socket node array idea, to get something that helps
this NUMA issue as well.

Just tossing out some forward looking ideas :)

To be honest, the unified flow cache idea has been tossed around
a lot, and it's still intellectual masterbation. But then again,
so was the design for the IPSEC stuff we have now for several years.
-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html