x86, bts: improve X86_PTRACE_BTS help text
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.
----
arch/x86/Kconfig.cpu +12 -12
@@ -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.
Thanks for improving the help text; it looks much better.
One comment:
arch/x86/Kconfig.cpu line 517
Quoted 9 lines
config
X86_DSarch/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
Quoted 6 lines
-----Original Message-----
From: Roland Dreier [mailto:[email protected]]
Sent: Donnerstag, 16. Oktober 2008 08:57
To: Metzger, Markus TQuoted 1 line
config
X86_DS
[...]
Quoted 7 lines
Review
Quoted 2 lines
(quoted diff) +2
-0+ def_bool X86_PTRACE_BTS + depends on X86_DEBUGCTLMSRusing
def_boolhere to get this turned on ifX86_PTRACE_BTSis set doesn't seem scalable to more uses ofX86_DS. I would have thought that
havingX86_PTRACE_BTSselectX86_DSwould 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 branchtrace store.
Review
Quoted 2 lines
(quoted diff) +2
-0+ + Debuggers may use it to collect an execution trace ofthe debugged
Review
Quoted 1 line
(quoted diff) +1
-0+ application in order to answer the question 'how didI 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 onthis 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.