Messages in this thread | | | Date | Mon, 28 Sep 2009 03:23:37 +0200 | From | Andi Kleen <> | Subject | Re: [patch 02/12] Immediate Values - Architecture Independent Code |
| |
On Thu, Sep 24, 2009 at 09:20:13PM -0700, Andrew Morton wrote: > On Thu, 24 Sep 2009 09:26:28 -0400 Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> wrote: > > > Immediate values are used as read mostly variables that are rarely updated. They > > use code patching to modify the values inscribed in the instruction stream. It > > provides a way to save precious cache lines that would otherwise have to be used > > by these variables. > > What a hare-brained concept.
The concept makes a lot of sense. Cache misses are extremly costly on modern CPUs and when the workload has blown the caches away in user space it can literally be hundreds or even thousands of cycles to fetch a data cache line.
Similar optimizations are also quite common in compilers (with profile feedback) and JITs.
> Do you have any data which indicates that this thing is of any real > benefit to anyone for anything?
There's a lot of data around that the kernel has very little IPC due to a lot of cache misses in some workloads. In general this applies to anything that touches a lot of data in user space and blows the caches away.
-Andi
-- ak@linux.intel.com -- Speaking for myself only.
| |