Re: Patch to reorder functions in the vmlinux to a defined order

From: Arjan van de Ven
Date: Thu Feb 23 2006 - 12:58:08 EST


Zwane Mwaikambo wrote:
On Thu, 23 Feb 2006, Arjan van de Ven wrote:

This patch puts the infrastructure in place to allow for a reordering of
functions based inside the vmlinux. The general idea is that it is possible
to put all "common" functions into the first 2Mb of the code, so that they
are covered by one TLB entry. This as opposed to the current situation where
a typical vmlinux covers about 3.5Mb (on x86-64) and thus 2 TLB entries.
(This patch depends on the previous patch to pin head.S as first in the order)

Hello Arjan,
Assuming that functions defined in an object file are related and hence benefit from cache spatial locality, doesn't this affect this greatly? It would seem that with regards to the kernel image on x86, (2MB) TLB usage isn't as scarce a resource as icache.

this is probably a mixed blessing; right now frequent and non-frequent code are highly intermixed, so even in the current situation the icache isn't optimally used.

So what you sort of want is a thing better than pure "sort", a sort that keeps existing order *within the hot functions*, but move the "cold" ones out. That is thankfully independent of the infrastructure; I'll keep that in mind when making the next version of the order list, it's a good idea.

-
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/