Re: [git pull] cpus4096 tree, part 3

Linus Torvalds
2009-01-03T22:00:49Z

On Sat, 3 Jan 2009, Ingo Molnar wrote:
>
> This one looks a bit high:
>
> 1) 5264 496 __change_page_attr_set_clr+0xa7/0xa15
>
> (Venki, Suresh and Arjan Cc:-ed)
>
> This one isnt too nice either:
>
> 27) 1984 800 do_page_fault+0x86d/0xcec
>
> not sure why it happens - will investigate tomorrow, it's getting late
> here.

The most common case tends to be insane gcc inlining (vmalloc_fault and
spurious_fault), and then gcc not re-using stack slots even if they have
no overlap in usage. Some people continue to claim that gcc reuses them,
but it's definitely not the case in any complex situation, so I suspect
the re-use is probably purely for some simple spilling case, not for
variables allocated on the stack.

do_page_fault() in particular has a lot of gunk in it for the special
cases.

What happened to Nick's cleanup patch to do_page_fault (a month or two
ago? I complained about some of the issues in his first version and asked
for some further cleanups, but I think that whole discussion ended with
him saying "I am going to add those changes that you suggested (in fact, I
already have)".

And then I didn't see anything further. Maybe I just missed the end
result. Or maybe we have it in some -mm branch or something?

Linus