Re: ia64_do_page_fault shows 19.4% slowdown from notify_die.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Apr 19, 2006 at 02:30:35AM +0200, Andi Kleen wrote:
> Robin Holt <[email protected]> writes:
>  
> > 499 nSec/fault ia64_do_page_fault notify_die commented out.
> > 501 nSec/fault ia64_do_page_fault with nobody registered.
> > 533 nSec/fault notify_die in and just kprobes.
> > 596 nSec/fault notify_die in and kdb, kprobes, mca, and xpc loaded.
> > 
> 
> With kdb some slowdown is expected.

kdb does not register a die notifier.  It only does the notify_die
callouts.  Sorry for the confusion.  mca handler and xpc both register
notifiers and both have very early exits.

> 
> But just going through kprobes shouldn't be that slow. I guess
> there would be optimization potential there.
> 
> Do you have finer grained profiling what is actually slow?
> 
>  
> > Having the notify_page_fault() without anybody registered was only a
> > 0.4% slowdown.  I am not sure that justifies the optimize away, but I
> > would certainly not object.
> 
> Still sounds far too much for what is essentially a call + load + test + return
> Where is that overhead comming from?  I know IA64 doesn't like indirect
> calls, but there shouldn't any be there for this case.

I think each registered notifier is adding approx 32 nSec.  Actually,
the noise on these samples was about +-9nSec which I assumed was processor
stalls on cacheline load.

I think it looks like a lot of time when viewed as nSec, but when viewed
as a percentage of process run time, it is probably not that great of
an issue which is why it has been allowed to creep by for so long.

I can not think of an easy way to diagnose this slowdown any further.
I could run through this code on the simulator so you can see which
instructions actually got executed.  Would that be helpful?

Thanks,
Robin
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux