Re: 2.6.11 vs 2.6.10 slowdown on i686

From: Nick Piggin
Date: Fri Mar 18 2005 - 03:49:08 EST


Kurt Garloff wrote:
Hi Nick,


Hi Kurt!

On Thu, Mar 17, 2005 at 11:37:24PM +1100, Nick Piggin wrote:

Ian Pratt wrote:

fork: 166 -> 235 (40% slowdown)
exec: 857 -> 1003 (17% slowdown)

I'm guessing this is down to the 4 level pagetables. This is rather a
surprise as I thought the compiler would optimise most of these
changes away. Apparently not.

There are some changes in the current -bk tree (which are a
bit in-flux at the moment) which introduce some optimisations.

They should bring 2-level performance close to par with 2.6.10.
If not, complain again :)


Is there a clean patchset that we should look at to test?


Probably the best thing would be to wait and see what happens
with the ptwalk patches. There is a fix in there for ia64 now,
but I think that may be a temporary one.

Andi is probably keeping an eye on that, but if not then I
could put a patchset together when things finalise in 2.6.

From the profiles I have seen, the ptwalk patches bring page
table walking performance pretty well back to 2.6.10 levels,
however the "aggressive page table freeing" (clear_page_range)
changes that went in at the same time as the 4level stuff
seem to be what is slowing down exit() and unmapping performance.

Not by a huge amount, mind you, and it is not completely wasted
performance, because it provides better page table freeing.
But it is enough to be annoying! I haven't had much time to look
at it lately, but I hope to get onto it soon.

Nick

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