diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-01-06 13:17:26 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-01-06 13:17:26 -0500 |
commit | 28d9bfc37c861aa9c8386dff1ac7e9a10e5c5162 (patch) | |
tree | 85bcc2db18ff20e380a40aba375e70d14c2671b4 /Documentation | |
parent | f3b0cfa9b017a9d4686c9b14b908a1685f97a077 (diff) | |
parent | 4b95f135f606c87e4056b6d7fd3c5781c818858b (diff) |
Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (146 commits)
tools, perf: Documentation for the power events API
perf: Add calls to suspend trace point
perf script: Make some lists static
perf script: Use the default lost event handler
perf session: Warn about errors when processing pipe events too
perf tools: Fix perf_event.h header usage
perf test: Clarify some error reports in the open syscall test
x86, NMI: Add touch_nmi_watchdog to io_check_error delay
x86: Avoid calling arch_trigger_all_cpu_backtrace() at the same time
x86: Only call smp_processor_id in non-preempt cases
perf timechart: Adjust perf timechart to the new power events
perf: Clean up power events by introducing new, more generic ones
perf: Do not export power_frequency, but power_start event
perf test: Add test for counting open syscalls
perf evsel: Auto allocate resources needed for some methods
perf evsel: Use {cpu,thread}_map to shorten list of parameters
perf tools: Refactor all_tids to hold nr and the map
perf tools: Refactor cpumap to hold nr and the map
perf evsel: Introduce per cpu and per thread open helpers
perf evsel: Steal the counter reading routines from stat
...
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/kernel-parameters.txt | 10 | ||||
-rw-r--r-- | Documentation/trace/events-power.txt | 90 |
2 files changed, 91 insertions, 9 deletions
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index 01ece1b9213e..992cda68fa63 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
@@ -1579,20 +1579,12 @@ and is between 256 and 4096 characters. It is defined in the file | |||
1579 | 1579 | ||
1580 | nmi_watchdog= [KNL,BUGS=X86] Debugging features for SMP kernels | 1580 | nmi_watchdog= [KNL,BUGS=X86] Debugging features for SMP kernels |
1581 | Format: [panic,][num] | 1581 | Format: [panic,][num] |
1582 | Valid num: 0,1,2 | 1582 | Valid num: 0 |
1583 | 0 - turn nmi_watchdog off | 1583 | 0 - turn nmi_watchdog off |
1584 | 1 - use the IO-APIC timer for the NMI watchdog | ||
1585 | 2 - use the local APIC for the NMI watchdog using | ||
1586 | a performance counter. Note: This will use one | ||
1587 | performance counter and the local APIC's performance | ||
1588 | vector. | ||
1589 | When panic is specified, panic when an NMI watchdog | 1584 | When panic is specified, panic when an NMI watchdog |
1590 | timeout occurs. | 1585 | timeout occurs. |
1591 | This is useful when you use a panic=... timeout and | 1586 | This is useful when you use a panic=... timeout and |
1592 | need the box quickly up again. | 1587 | need the box quickly up again. |
1593 | Instead of 1 and 2 it is possible to use the following | ||
1594 | symbolic names: lapic and ioapic | ||
1595 | Example: nmi_watchdog=2 or nmi_watchdog=panic,lapic | ||
1596 | 1588 | ||
1597 | netpoll.carrier_timeout= | 1589 | netpoll.carrier_timeout= |
1598 | [NET] Specifies amount of time (in seconds) that | 1590 | [NET] Specifies amount of time (in seconds) that |
diff --git a/Documentation/trace/events-power.txt b/Documentation/trace/events-power.txt new file mode 100644 index 000000000000..96d87b67fe37 --- /dev/null +++ b/Documentation/trace/events-power.txt | |||
@@ -0,0 +1,90 @@ | |||
1 | |||
2 | Subsystem Trace Points: power | ||
3 | |||
4 | The power tracing system captures events related to power transitions | ||
5 | within the kernel. Broadly speaking there are three major subheadings: | ||
6 | |||
7 | o Power state switch which reports events related to suspend (S-states), | ||
8 | cpuidle (C-states) and cpufreq (P-states) | ||
9 | o System clock related changes | ||
10 | o Power domains related changes and transitions | ||
11 | |||
12 | This document describes what each of the tracepoints is and why they | ||
13 | might be useful. | ||
14 | |||
15 | Cf. include/trace/events/power.h for the events definitions. | ||
16 | |||
17 | 1. Power state switch events | ||
18 | ============================ | ||
19 | |||
20 | 1.1 New trace API | ||
21 | ----------------- | ||
22 | |||
23 | A 'cpu' event class gathers the CPU-related events: cpuidle and | ||
24 | cpufreq. | ||
25 | |||
26 | cpu_idle "state=%lu cpu_id=%lu" | ||
27 | cpu_frequency "state=%lu cpu_id=%lu" | ||
28 | |||
29 | A suspend event is used to indicate the system going in and out of the | ||
30 | suspend mode: | ||
31 | |||
32 | machine_suspend "state=%lu" | ||
33 | |||
34 | |||
35 | Note: the value of '-1' or '4294967295' for state means an exit from the current state, | ||
36 | i.e. trace_cpu_idle(4, smp_processor_id()) means that the system | ||
37 | enters the idle state 4, while trace_cpu_idle(PWR_EVENT_EXIT, smp_processor_id()) | ||
38 | means that the system exits the previous idle state. | ||
39 | |||
40 | The event which has 'state=4294967295' in the trace is very important to the user | ||
41 | space tools which are using it to detect the end of the current state, and so to | ||
42 | correctly draw the states diagrams and to calculate accurate statistics etc. | ||
43 | |||
44 | 1.2 DEPRECATED trace API | ||
45 | ------------------------ | ||
46 | |||
47 | A new Kconfig option CONFIG_EVENT_POWER_TRACING_DEPRECATED with the default value of | ||
48 | 'y' has been created. This allows the legacy trace power API to be used conjointly | ||
49 | with the new trace API. | ||
50 | The Kconfig option, the old trace API (in include/trace/events/power.h) and the | ||
51 | old trace points will disappear in a future release (namely 2.6.41). | ||
52 | |||
53 | power_start "type=%lu state=%lu cpu_id=%lu" | ||
54 | power_frequency "type=%lu state=%lu cpu_id=%lu" | ||
55 | power_end "cpu_id=%lu" | ||
56 | |||
57 | The 'type' parameter takes one of those macros: | ||
58 | . POWER_NONE = 0, | ||
59 | . POWER_CSTATE = 1, /* C-State */ | ||
60 | . POWER_PSTATE = 2, /* Fequency change or DVFS */ | ||
61 | |||
62 | The 'state' parameter is set depending on the type: | ||
63 | . Target C-state for type=POWER_CSTATE, | ||
64 | . Target frequency for type=POWER_PSTATE, | ||
65 | |||
66 | power_end is used to indicate the exit of a state, corresponding to the latest | ||
67 | power_start event. | ||
68 | |||
69 | 2. Clocks events | ||
70 | ================ | ||
71 | The clock events are used for clock enable/disable and for | ||
72 | clock rate change. | ||
73 | |||
74 | clock_enable "%s state=%lu cpu_id=%lu" | ||
75 | clock_disable "%s state=%lu cpu_id=%lu" | ||
76 | clock_set_rate "%s state=%lu cpu_id=%lu" | ||
77 | |||
78 | The first parameter gives the clock name (e.g. "gpio1_iclk"). | ||
79 | The second parameter is '1' for enable, '0' for disable, the target | ||
80 | clock rate for set_rate. | ||
81 | |||
82 | 3. Power domains events | ||
83 | ======================= | ||
84 | The power domain events are used for power domains transitions | ||
85 | |||
86 | power_domain_target "%s state=%lu cpu_id=%lu" | ||
87 | |||
88 | The first parameter gives the power domain name (e.g. "mpu_pwrdm"). | ||
89 | The second parameter is the power domain target state. | ||
90 | |||