Skip to contentSkip to conversation

x86, bts: improve X86_PTRACE_BTS help text

RFC In review Markus Metzger 2 participants 3 messages Oct 15, 2008 – Oct 16, 2008 x86

lore
Share & tools
lore
#0 lore raw

RFC 1/1 x86, bts: improve X86_PTRACE_BTS help text

Improve the help text on the BTS config option.
Remove the DS config option - set it implicitly, when BTS is selected.

Signed-off-by [email protected]

----

arch/x86/Kconfig.cpu +12 -12
Index: gits/arch/x86/Kconfig.cpu
===================================================================
@@ -513,19 +513,19 @@
 	  If unsure, say N.
 
 config X86_DS
-	bool "Debug Store support"
-	default y
-	help
-	  Add support for Debug Store.
-	  This allows the kernel to provide a memory buffer to the hardware
-	  to store various profiling and tracing events.
+	def_bool X86_PTRACE_BTS
+	depends on X86_DEBUGCTLMSR
 
 config X86_PTRACE_BTS
-	bool "ptrace interface to Branch Trace Store"
+	bool "Branch Trace Store"
 	default y
-	depends on (X86_DS && X86_DEBUGCTLMSR)
+	depends on X86_DEBUGCTLMSR
 	help
-	  Add a ptrace interface to allow collecting an execution trace
-	  of the traced task.
-	  This collects control flow changes in a (cyclic) buffer and allows
-	  debuggers to fill in the gaps and show an execution trace of the debuggee.
+	  This adds a ptrace interface to the hardware's branch trace store.
+
+	  Debuggers may use it to collect an execution trace of the debugged
+	  application in order to answer the question 'how did I get here?'.
+	  Debuggers may trace user mode as well as kernel mode.
+
+	  Say Y unless there is no application development on this machine
+	  and you want to save a small amount of code size.

---------------------------------------------------------------------
Intel GmbH
Dornacher Strasse 1
85622 Feldkirchen/Muenchen Germany
Sitz der Gesellschaft: Feldkirchen bei Muenchen
Geschaeftsfuehrer: Douglas Lusk, Peter Gleissner, Hannes Schwaderer
Registergericht: Muenchen HRB 47456 Ust.-IdNr.
VAT Registration No.: DE129385895
Citibank Frankfurt (BLZ 502 109 00) 600119052

This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies.

#1 lore raw

Thanks for improving the help text; it looks much better.

One comment:

arch/x86/Kconfig.cpu line 517

Quoted 9 lines

config X86_DS

arch/x86/Kconfig.cpu +2 -6
-	bool "Debug Store support"
-	default y
-	help
-	  Add support for Debug Store.
-	  This allows the kernel to provide a memory buffer to the hardware
-	  to store various profiling and tracing events.
+	def_bool X86_PTRACE_BTS
+	depends on X86_DEBUGCTLMSR

using def_bool here to get this turned on if X86_PTRACE_BTS is set doesn't seem scalable to more uses of X86_DS. I would have thought that having X86_PTRACE_BTS select X86_DS would make more sense.

Or are other users of X86_DS not planned? In which case should there be a separate X86_DS option at all?

arch/x86/Kconfig.cpu line 531

Quoted 8 lines
arch/x86/Kconfig.cpu +8 -0
+	  This adds a ptrace interface to the hardware's branch trace store.
+
+	  Debuggers may use it to collect an execution trace of the debugged
+	  application in order to answer the question 'how did I get here?'.
+	  Debuggers may trace user mode as well as kernel mode.
+
+	  Say Y unless there is no application development on this machine
+	  and you want to save a small amount of code size.

This looks much better -- someone like me could read this and make an informed decision about the config option.

Thanks,
Roland

#2 lore raw
Quoted 6 lines

-----Original Message-----
From: Roland Dreier [mailto:[email protected]]
Sent: Donnerstag, 16. Oktober 2008 08:57
To: Metzger, Markus T

Quoted 1 line

config X86_DS

[...]

Quoted 7 lines

Review

Quoted 2 lines
(quoted diff) +2 -0
+	def_bool X86_PTRACE_BTS
+	depends on X86_DEBUGCTLMSR

using def_bool here to get this turned on if X86_PTRACE_BTS is set doesn't seem scalable to more uses of X86_DS. I would have thought that
having X86_PTRACE_BTS select X86_DS would make more sense.

We do plan other users. Perfmon2, for example, will be using it.

I fail to see the difference between the two models.
In one case, new users would need to select X86_DS.
In the other case, new users would need to extend the def_bool clause of X86_DS.

The documentation recommended to use select carefuly, that's why I picked the other one.

If people think that select is clearer, I will change it.

Quoted 7 lines

Review

Quoted 1 line
(quoted diff) +1 -0
+	  This adds a ptrace interface to the hardware's branch 

trace store.

Review

Quoted 2 lines
(quoted diff) +2 -0
+
+	  Debuggers may use it to collect an execution trace of 

the debugged

Review

Quoted 1 line
(quoted diff) +1 -0
+	  application in order to answer the question 'how did 

I get here?'.

Quoted 8 lines

arch/x86/Kconfig.cpu

Quoted 3 lines
arch/x86/Kconfig.cpu +3 -0
+	  Debuggers may trace user mode as well as kernel mode.
+
+	  Say Y unless there is no application development on 

this machine

arch/x86/Kconfig.cpu line 531

Quoted 1 line
arch/x86/Kconfig.cpu +1 -0
+	  and you want to save a small amount of code size.

This looks much better -- someone like me could read this and make an informed decision about the config option.

Good. I will send a patch if there is no more feedback on the select vs. def_bool topic today.

regards,
markus.
---------------------------------------------------------------------
Intel GmbH
Dornacher Strasse 1
85622 Feldkirchen/Muenchen Germany
Sitz der Gesellschaft: Feldkirchen bei Muenchen
Geschaeftsfuehrer: Douglas Lusk, Peter Gleissner, Hannes Schwaderer
Registergericht: Muenchen HRB 47456 Ust.-IdNr.
VAT Registration No.: DE129385895
Citibank Frankfurt (BLZ 502 109 00) 600119052

This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies.