Messages in this thread | | | From | Nick Piggin <> | Subject | Re: [PATCH 11/20] Inline get_page_from_freelist() in the fast-path | Date | Wed, 25 Feb 2009 01:08:10 +1100 |
| |
On Wednesday 25 February 2009 00:32:53 Mel Gorman wrote: > On Tue, Feb 24, 2009 at 02:32:37AM +1100, Nick Piggin wrote: > > On Monday 23 February 2009 10:17:20 Mel Gorman wrote: > > > In the best-case scenario, use an inlined version of > > > get_page_from_freelist(). This increases the size of the text but > > > avoids time spent pushing arguments onto the stack. > > > > I'm quite fond of inlining ;) But it can increase register pressure as > > well as icache footprint as well. x86-64 isn't spilling a lot more > > registers to stack after these changes, is it? > > I didn't actually check that closely so I don't know for sure. Is there a > handier way of figuring it out than eyeballing the assembly? In the end
I guess the 5 second check is to look at how much stack the function uses. OTOH I think gcc does do a reasonable job at register allocation.
> I dropped the inline of this function anyway. It means the patches > reduce rather than increase text size which is a bit more clear-cut.
Cool, clear cut patches for round 1 should help to get things moving.
> > In which case you will get extra icache footprint. What speedup does > > it give in the cache-hot microbenchmark case? > > I wasn't measuring with a microbenchmark at the time of writing so I don't > know. I was going entirely by profile counts running kernbench and the > time spent running the benchmark.
OK. Well seeing as you have dropped this for the moment, let's not dwell on it ;)
| |