* notify_page_fault_chain
@ 2006-08-07 13:22 Jan Beulich
2006-08-07 13:36 ` notify_page_fault_chain Andi Kleen
2006-08-08 4:05 ` notify_page_fault_chain Keith Owens
0 siblings, 2 replies; 5+ messages in thread
From: Jan Beulich @ 2006-08-07 13:22 UTC (permalink / raw)
To: anil.s.keshavamurthy, Andrew Morton, Andreas Kleen; +Cc: linux-kernel
All,
I just noticed this addition to i386 and x86-64, conditionalized upon CONFIG_KPROBES. May I ask what the motivation for
this compatibility breaking change is? Only performance? I consider it already questionable to split out a specific
fault from the general die notification (previous users of the functionality all of the sudden won't get notifications
for one of the most crucial faults anymore), but entirely hiding the functionality (unavailable without CONFIG_KPROBES,
and even with it not getting exported) is really odd.
Thanks for any clarification,
Jan
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: notify_page_fault_chain
2006-08-07 13:22 notify_page_fault_chain Jan Beulich
@ 2006-08-07 13:36 ` Andi Kleen
2006-08-07 14:50 ` notify_page_fault_chain Jan Beulich
2006-08-08 4:05 ` notify_page_fault_chain Keith Owens
1 sibling, 1 reply; 5+ messages in thread
From: Andi Kleen @ 2006-08-07 13:36 UTC (permalink / raw)
To: Jan Beulich; +Cc: anil.s.keshavamurthy, Andrew Morton, linux-kernel
On Monday 07 August 2006 15:22, Jan Beulich wrote:
> I just noticed this addition to i386 and x86-64, conditionalized upon CONFIG_KPROBES. May I ask what the motivation for
> this compatibility breaking change is?
It's normally policy to only care about in tree code regarding exports and hooks.
But also no policy without exceptions.
> Only performance?
Christopher L. complained about it taking too long on IA64 I think
(but that might have been some IA64 specific quirk)
I think I proposed to use a inline check of the chain and only then
call the external function, but that might not have been implemented
that way.
> I consider it already questionable to split out a specific
> fault from the general die notification (previous users of the functionality all of the sudden won't get notifications
> for one of the most crucial faults anymore), but entirely hiding the functionality (unavailable without CONFIG_KPROBES,
> and even with it not getting exported) is really odd.
You want to use it for your debugger?
-Andi
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: notify_page_fault_chain
2006-08-07 13:36 ` notify_page_fault_chain Andi Kleen
@ 2006-08-07 14:50 ` Jan Beulich
2006-08-07 14:55 ` notify_page_fault_chain Andi Kleen
0 siblings, 1 reply; 5+ messages in thread
From: Jan Beulich @ 2006-08-07 14:50 UTC (permalink / raw)
To: Andi Kleen; +Cc: anil.s.keshavamurthy, Andrew Morton, linux-kernel
>> I consider it already questionable to split out a specific
>> fault from the general die notification (previous users of the functionality all of the sudden won't get
notifications
>> for one of the most crucial faults anymore), but entirely hiding the functionality (unavailable without
CONFIG_KPROBES,
>> and even with it not getting exported) is really odd.
>
>You want to use it for your debugger?
Yes, in its "light" form (i.e. without exception handling framework changes) it has to rely on this infrastructure.
Jan
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: notify_page_fault_chain
2006-08-07 14:50 ` notify_page_fault_chain Jan Beulich
@ 2006-08-07 14:55 ` Andi Kleen
0 siblings, 0 replies; 5+ messages in thread
From: Andi Kleen @ 2006-08-07 14:55 UTC (permalink / raw)
To: Jan Beulich; +Cc: anil.s.keshavamurthy, Andrew Morton, linux-kernel
On Monday 07 August 2006 16:50, Jan Beulich wrote:
> >> I consider it already questionable to split out a specific
> >> fault from the general die notification (previous users of the functionality all of the sudden won't get
> notifications
> >> for one of the most crucial faults anymore), but entirely hiding the functionality (unavailable without
> CONFIG_KPROBES,
> >> and even with it not getting exported) is really odd.
> >
> >You want to use it for your debugger?
>
> Yes, in its "light" form (i.e. without exception handling framework changes) it has to rely on this infrastructure.
Ok. I can make it unconditional and export it.
-Andi
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: notify_page_fault_chain
2006-08-07 13:22 notify_page_fault_chain Jan Beulich
2006-08-07 13:36 ` notify_page_fault_chain Andi Kleen
@ 2006-08-08 4:05 ` Keith Owens
1 sibling, 0 replies; 5+ messages in thread
From: Keith Owens @ 2006-08-08 4:05 UTC (permalink / raw)
To: Jan Beulich
Cc: anil.s.keshavamurthy, Andrew Morton, Andreas Kleen, linux-kernel
"Jan Beulich" (on Mon, 07 Aug 2006 14:22:54 +0100) wrote:
>All,
>
>I just noticed this addition to i386 and x86-64, conditionalized upon CONFIG_KPROBES. May I ask what the motivation for
>this compatibility breaking change is? Only performance? I consider it already questionable to split out a specific
>fault from the general die notification (previous users of the functionality all of the sudden won't get notifications
>for one of the most crucial faults anymore), but entirely hiding the functionality (unavailable without CONFIG_KPROBES,
>and even with it not getting exported) is really odd.
Running all callbacks on the notify_die chain for every page fault was
causing a significant slowdown on large machines, especially when the
callback chain included heartbeat monitors, kernel debuggers and cross
partition NUMA access routines.
Only kprobes needs to know about page faults, none of the other
callbacks care about page faults. So the notify_page_fault_chain chain
was added just for kprobes use, and made conditional on CONFIG_KPROBES.
That way only kprobed systems need to suffer the slowdown in page
faulting.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2006-08-08 4:05 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-08-07 13:22 notify_page_fault_chain Jan Beulich
2006-08-07 13:36 ` notify_page_fault_chain Andi Kleen
2006-08-07 14:50 ` notify_page_fault_chain Jan Beulich
2006-08-07 14:55 ` notify_page_fault_chain Andi Kleen
2006-08-08 4:05 ` notify_page_fault_chain Keith Owens
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox