linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 02/31] Add debugger entry points for X86
@ 2016-01-28 19:46 Jeffrey Merkey
  2016-01-28 20:20 ` H. Peter Anvin
  0 siblings, 1 reply; 4+ messages in thread
From: Jeffrey Merkey @ 2016-01-28 19:46 UTC (permalink / raw)
  To: linux-kernel
  Cc: tglx, mingo, hpa, x86, akpm, linux.mdb, dzickus, dyoung, mnfhuang

This patch series adds an export which can be set by system debuggers to
direct the hard lockup and soft lockup detector to trigger a breakpoint
exception and enter a debugger if one is active.  It is assumed that if
someone sets this variable, then an breakpoint handler of some sort will
be actively loaded or registered via the notify die handler chain.

This addition is extremely useful for debugging hard and soft lockups
real time and quickly from a console debugger.

Signed-off-by: Jeffrey Merkey <jeffmerkey@gmail.com>
---
 arch/x86/include/asm/kdebug.h | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/arch/x86/include/asm/kdebug.h b/arch/x86/include/asm/kdebug.h
index e5f5dc9..cbe9004 100644
--- a/arch/x86/include/asm/kdebug.h
+++ b/arch/x86/include/asm/kdebug.h
@@ -3,6 +3,11 @@
 
 #include <linux/notifier.h>
 
+static inline void arch_breakpoint(void)
+{
+	asm("   int $3");
+}
+
 struct pt_regs;
 
 /* Grossly misnamed. */
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH 02/31] Add debugger entry points for X86
  2016-01-28 19:46 [PATCH 02/31] Add debugger entry points for X86 Jeffrey Merkey
@ 2016-01-28 20:20 ` H. Peter Anvin
  2016-01-28 20:22   ` Jeffrey Merkey
  0 siblings, 1 reply; 4+ messages in thread
From: H. Peter Anvin @ 2016-01-28 20:20 UTC (permalink / raw)
  To: Jeffrey Merkey, linux-kernel
  Cc: tglx, mingo, x86, akpm, linux.mdb, dzickus, dyoung, mnfhuang

On 01/28/16 11:46, Jeffrey Merkey wrote:
> This patch series adds an export which can be set by system debuggers to
> direct the hard lockup and soft lockup detector to trigger a breakpoint
> exception and enter a debugger if one is active.  It is assumed that if
> someone sets this variable, then an breakpoint handler of some sort will
> be actively loaded or registered via the notify die handler chain.
> 
> This addition is extremely useful for debugging hard and soft lockups
> real time and quickly from a console debugger.
> 
> Signed-off-by: Jeffrey Merkey <jeffmerkey@gmail.com>
> ---
>  arch/x86/include/asm/kdebug.h | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/arch/x86/include/asm/kdebug.h b/arch/x86/include/asm/kdebug.h
> index e5f5dc9..cbe9004 100644
> --- a/arch/x86/include/asm/kdebug.h
> +++ b/arch/x86/include/asm/kdebug.h
> @@ -3,6 +3,11 @@
>  
>  #include <linux/notifier.h>
>  
> +static inline void arch_breakpoint(void)
> +{
> +	asm("   int $3");
> +}
> +
>  struct pt_regs;
>  

Even though apparently gas changed "int $3" to "int3" the latter is
actually a different instruction (with subtly different behavior) and
this may very well be corrected in gas at a future date.

So please encode this as "int3".  It should also be "asm volatile" since
it has side effects unbeknownst to the compiler.

	-hpa

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH 02/31] Add debugger entry points for X86
  2016-01-28 20:20 ` H. Peter Anvin
@ 2016-01-28 20:22   ` Jeffrey Merkey
  2016-01-28 21:18     ` H. Peter Anvin
  0 siblings, 1 reply; 4+ messages in thread
From: Jeffrey Merkey @ 2016-01-28 20:22 UTC (permalink / raw)
  To: H. Peter Anvin
  Cc: linux-kernel, tglx, mingo, x86, akpm, linux.mdb, dzickus, dyoung,
	mnfhuang

On 1/28/16, H. Peter Anvin <hpa@zytor.com> wrote:
> On 01/28/16 11:46, Jeffrey Merkey wrote:
>> This patch series adds an export which can be set by system debuggers to
>> direct the hard lockup and soft lockup detector to trigger a breakpoint
>> exception and enter a debugger if one is active.  It is assumed that if
>> someone sets this variable, then an breakpoint handler of some sort will
>> be actively loaded or registered via the notify die handler chain.
>>
>> This addition is extremely useful for debugging hard and soft lockups
>> real time and quickly from a console debugger.
>>
>> Signed-off-by: Jeffrey Merkey <jeffmerkey@gmail.com>
>> ---
>>  arch/x86/include/asm/kdebug.h | 5 +++++
>>  1 file changed, 5 insertions(+)
>>
>> diff --git a/arch/x86/include/asm/kdebug.h
>> b/arch/x86/include/asm/kdebug.h
>> index e5f5dc9..cbe9004 100644
>> --- a/arch/x86/include/asm/kdebug.h
>> +++ b/arch/x86/include/asm/kdebug.h
>> @@ -3,6 +3,11 @@
>>
>>  #include <linux/notifier.h>
>>
>> +static inline void arch_breakpoint(void)
>> +{
>> +	asm("   int $3");
>> +}
>> +
>>  struct pt_regs;
>>
>
> Even though apparently gas changed "int $3" to "int3" the latter is
> actually a different instruction (with subtly different behavior) and
> this may very well be corrected in gas at a future date.
>
> So please encode this as "int3".  It should also be "asm volatile" since
> it has side effects unbeknownst to the compiler.
>
> 	-hpa
>
>

Yes sir, I'll add that to the to do list and resubmit after I get all
the comments back for all the changes.  It may be important to note
that the arch_kgdb_breakpoint also uses this same syntax and needs
also to be fixed.

Jeff

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH 02/31] Add debugger entry points for X86
  2016-01-28 20:22   ` Jeffrey Merkey
@ 2016-01-28 21:18     ` H. Peter Anvin
  0 siblings, 0 replies; 4+ messages in thread
From: H. Peter Anvin @ 2016-01-28 21:18 UTC (permalink / raw)
  To: Jeffrey Merkey
  Cc: linux-kernel, tglx, mingo, x86, akpm, linux.mdb, dzickus, dyoung,
	mnfhuang

On 01/28/16 12:22, Jeffrey Merkey wrote:
> 
> Yes sir, I'll add that to the to do list and resubmit after I get all
> the comments back for all the changes.  It may be important to note
> that the arch_kgdb_breakpoint also uses this same syntax and needs
> also to be fixed.
> 

That would be a great addition to the patchset, then.

	-hpa

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-01-28 21:18 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-28 19:46 [PATCH 02/31] Add debugger entry points for X86 Jeffrey Merkey
2016-01-28 20:20 ` H. Peter Anvin
2016-01-28 20:22   ` Jeffrey Merkey
2016-01-28 21:18     ` H. Peter Anvin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).