<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lwn.git/arch/x86/oprofile/op_model_ppro.c, branch standardize-docs</title>
<subtitle>Linux kernel documentation tree maintained by Jonathan Corbet</subtitle>
<id>http://mirrors.hust.edu.cn/git/lwn.git/atom?h=standardize-docs</id>
<link rel='self' href='http://mirrors.hust.edu.cn/git/lwn.git/atom?h=standardize-docs'/>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/'/>
<updated>2016-03-31T11:33:17+00:00</updated>
<entry>
<title>x86/cpufeature: Remove cpu_has_arch_perfmon</title>
<updated>2016-03-31T11:33:17+00:00</updated>
<author>
<name>Borislav Petkov</name>
<email>bp@suse.de</email>
</author>
<published>2016-03-29T15:41:54+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=7b5e74e637e4a977c7cf40fd7de332f60b68180e'/>
<id>urn:sha1:7b5e74e637e4a977c7cf40fd7de332f60b68180e</id>
<content type='text'>
Use boot_cpu_has() instead.

Signed-off-by: Borislav Petkov &lt;bp@suse.de&gt;
Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: oprofile-list@lists.sf.net
Link: http://lkml.kernel.org/r/1459266123-21878-2-git-send-email-bp@alien8.de
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
</content>
</entry>
<entry>
<title>oprofile, x86: Fix overflow and warning (commit 1d12d35)</title>
<updated>2011-08-16T21:51:00+00:00</updated>
<author>
<name>Robert Richter</name>
<email>robert.richter@amd.com</email>
</author>
<published>2011-08-16T21:39:53+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=298557db42eb2d6efca81669dc369425b46c5be6'/>
<id>urn:sha1:298557db42eb2d6efca81669dc369425b46c5be6</id>
<content type='text'>
Following fixes for:

 1d12d35 oprofile, x86: Convert memory allocation to static array

Fix potential buffer overflow.

Fix the following warning:

 arch/x86/oprofile/op_model_ppro.c: In function ‘ppro_check_ctrs’:
 arch/x86/oprofile/op_model_ppro.c:143: warning: label ‘out’ defined but not used

Cc: Maarten Lankhorst &lt;m.b.lankhorst@gmail.com&gt;
Cc: Andi Kleen &lt;andi@firstfloor.org&gt;
Signed-off-by: Robert Richter &lt;robert.richter@amd.com&gt;
</content>
</entry>
<entry>
<title>oprofile, x86: Convert memory allocation to static array</title>
<updated>2011-08-01T20:54:19+00:00</updated>
<author>
<name>Maarten Lankhorst</name>
<email>m.b.lankhorst@gmail.com</email>
</author>
<published>2011-08-01T15:08:59+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=1d12d35284b74b7257b84ba0cef1e82a66d73aea'/>
<id>urn:sha1:1d12d35284b74b7257b84ba0cef1e82a66d73aea</id>
<content type='text'>
On -rt, allocators don't work from atomic context any more,
and the maximum size of the array is known at compile time.

Call trace on a -rt kernel:

oprofile: using NMI interrupt.
BUG: sleeping function called from invalid context at kernel/rtmutex.c:645
in_atomic(): 1, irqs_disabled(): 1, pid: 0, name: kworker/0:1
Pid: 0, comm: kworker/0:1 Tainted: G         C  3.0.0-rt3-patser+ #39
Call Trace:
 &lt;IRQ&gt;  [&lt;ffffffff8103fc0a&gt;] __might_sleep+0xca/0xf0
 [&lt;ffffffff8160d424&gt;] rt_spin_lock+0x24/0x40
 [&lt;ffffffff811476c7&gt;] __kmalloc+0xc7/0x370
 [&lt;ffffffffa0275c85&gt;] ? ppro_setup_ctrs+0x215/0x260 [oprofile]
 [&lt;ffffffffa0273de0&gt;] ? oprofile_cpu_notifier+0x60/0x60 [oprofile]
 [&lt;ffffffffa0275c85&gt;] ppro_setup_ctrs+0x215/0x260 [oprofile]
 [&lt;ffffffffa0273de0&gt;] ? oprofile_cpu_notifier+0x60/0x60 [oprofile]
 [&lt;ffffffffa0273de0&gt;] ? oprofile_cpu_notifier+0x60/0x60 [oprofile]
 [&lt;ffffffffa0273ea4&gt;] nmi_cpu_setup+0xc4/0x110 [oprofile]
 [&lt;ffffffff81094455&gt;] generic_smp_call_function_interrupt+0x95/0x190
 [&lt;ffffffff8101df77&gt;] smp_call_function_interrupt+0x27/0x40
 [&lt;ffffffff81615093&gt;] call_function_interrupt+0x13/0x20
 &lt;EOI&gt;  [&lt;ffffffff8131d0c4&gt;] ? plist_check_head+0x54/0xc0
 [&lt;ffffffff81371fe8&gt;] ? intel_idle+0xc8/0x120
 [&lt;ffffffff81371fc7&gt;] ? intel_idle+0xa7/0x120
 [&lt;ffffffff814a57b0&gt;] cpuidle_idle_call+0xb0/0x230
 [&lt;ffffffff810011db&gt;] cpu_idle+0x8b/0xe0
 [&lt;ffffffff815fc82f&gt;] start_secondary+0x1d3/0x1d8

Signed-off-by: Maarten Lankhorst &lt;m.b.lankhorst@gmail.com&gt;
Signed-off-by: Robert Richter &lt;robert.richter@amd.com&gt;
</content>
</entry>
<entry>
<title>x86: Replace uses of current_cpu_data with this_cpu ops</title>
<updated>2010-12-30T11:22:03+00:00</updated>
<author>
<name>Tejun Heo</name>
<email>tj@kernel.org</email>
</author>
<published>2010-12-18T15:30:05+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=7b543a5334ff4ea2e3ad3b777fc23cdb8072a988'/>
<id>urn:sha1:7b543a5334ff4ea2e3ad3b777fc23cdb8072a988</id>
<content type='text'>
Replace all uses of current_cpu_data with this_cpu operations on the
per cpu structure cpu_info.  The scala accesses are replaced with the
matching this_cpu ops which results in smaller and more efficient
code.

In the long run, it might be a good idea to remove cpu_data() macro
too and use per_cpu macro directly.

tj: updated description

Cc: Yinghai Lu &lt;yinghai@kernel.org&gt;
Cc: Ingo Molnar &lt;mingo@elte.hu&gt;
Acked-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
Acked-by: Tejun Heo &lt;tj@kernel.org&gt;
Signed-off-by: Christoph Lameter &lt;cl@linux.com&gt;
Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
</content>
</entry>
<entry>
<title>Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip</title>
<updated>2010-05-18T15:19:03+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2010-05-18T15:19:03+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=4d7b4ac22fbec1a03206c6cde353f2fd6942f828'/>
<id>urn:sha1:4d7b4ac22fbec1a03206c6cde353f2fd6942f828</id>
<content type='text'>
* 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (311 commits)
  perf tools: Add mode to build without newt support
  perf symbols: symbol inconsistency message should be done only at verbose=1
  perf tui: Add explicit -lslang option
  perf options: Type check all the remaining OPT_ variants
  perf options: Type check OPT_BOOLEAN and fix the offenders
  perf options: Check v type in OPT_U?INTEGER
  perf options: Introduce OPT_UINTEGER
  perf tui: Add workaround for slang &lt; 2.1.4
  perf record: Fix bug mismatch with -c option definition
  perf options: Introduce OPT_U64
  perf tui: Add help window to show key associations
  perf tui: Make &lt;- exit menus too
  perf newt: Add single key shortcuts for zoom into DSO and threads
  perf newt: Exit browser unconditionally when CTRL+C, q or Q is pressed
  perf newt: Fix the 'A'/'a' shortcut for annotate
  perf newt: Make &lt;- exit the ui_browser
  x86, perf: P4 PMU - fix counters management logic
  perf newt: Make &lt;- zoom out filters
  perf report: Report number of events, not samples
  perf hist: Clarify events_stats fields usage
  ...

Fix up trivial conflicts in kernel/fork.c and tools/perf/builtin-record.c
</content>
</entry>
<entry>
<title>oprofile/x86: return -EBUSY if counters are already reserved</title>
<updated>2010-05-04T09:35:28+00:00</updated>
<author>
<name>Robert Richter</name>
<email>robert.richter@amd.com</email>
</author>
<published>2010-02-26T16:20:55+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=8617f98c001d00b176422d707e6a67b88bcd7e0d'/>
<id>urn:sha1:8617f98c001d00b176422d707e6a67b88bcd7e0d</id>
<content type='text'>
In case a counter is already reserved by the watchdog or perf_event
subsystem, oprofile ignored this counters silently. This case is
handled now and oprofile_setup() now reports an error.

Signed-off-by: Robert Richter &lt;robert.richter@amd.com&gt;
</content>
</entry>
<entry>
<title>oprofile/x86: moving shutdown functions</title>
<updated>2010-05-04T09:35:27+00:00</updated>
<author>
<name>Robert Richter</name>
<email>robert.richter@amd.com</email>
</author>
<published>2010-03-23T19:01:54+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=83300ce0df6b72e156b386457aa0f0902b8c0a98'/>
<id>urn:sha1:83300ce0df6b72e156b386457aa0f0902b8c0a98</id>
<content type='text'>
Moving some code in preparation of the next patch.

Signed-off-by: Robert Richter &lt;robert.richter@amd.com&gt;
</content>
</entry>
<entry>
<title>oprofile/x86: reserve counter msrs pairwise</title>
<updated>2010-05-04T09:35:26+00:00</updated>
<author>
<name>Robert Richter</name>
<email>robert.richter@amd.com</email>
</author>
<published>2010-03-23T18:33:21+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=d0e4120fda6f87eead438eed4d49032e12060e58'/>
<id>urn:sha1:d0e4120fda6f87eead438eed4d49032e12060e58</id>
<content type='text'>
For AMD's and Intel's P6 generic performance counters have pairwise
counter and control msrs. This patch changes the counter reservation
in a way that both msrs must be registered. It joins some counter
loops and also removes the unnecessary NUM_CONTROLS macro in the AMD
implementation.

Signed-off-by: Robert Richter &lt;robert.richter@amd.com&gt;
</content>
</entry>
<entry>
<title>perf, x86: Undo some some *_counter* -&gt; *_event* renames</title>
<updated>2010-04-02T17:52:02+00:00</updated>
<author>
<name>Robert Richter</name>
<email>robert.richter@amd.com</email>
</author>
<published>2010-03-29T16:36:50+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=948b1bb89a44561560531394c18da4a99215f772'/>
<id>urn:sha1:948b1bb89a44561560531394c18da4a99215f772</id>
<content type='text'>
The big rename:

 cdd6c48 perf: Do the big rename: Performance Counters -&gt; Performance Events

accidentally renamed some members of stucts that were named after
registers in the spec. To avoid confusion this patch reverts some
changes. The related specs are MSR descriptions in AMD's BKDGs and the
ARCHITECTURAL PERFORMANCE MONITORING section in the Intel 64 and IA-32
Architectures Software Developer's Manuals.

This patch does:

 $ sed -i -e 's:num_events:num_counters:g' \
   arch/x86/include/asm/perf_event.h \
   arch/x86/kernel/cpu/perf_event_amd.c \
   arch/x86/kernel/cpu/perf_event.c \
   arch/x86/kernel/cpu/perf_event_intel.c \
   arch/x86/kernel/cpu/perf_event_p6.c \
   arch/x86/kernel/cpu/perf_event_p4.c \
   arch/x86/oprofile/op_model_ppro.c

 $ sed -i -e 's:event_bits:cntval_bits:g' -e 's:event_mask:cntval_mask:g' \
   arch/x86/kernel/cpu/perf_event_amd.c \
   arch/x86/kernel/cpu/perf_event.c \
   arch/x86/kernel/cpu/perf_event_intel.c \
   arch/x86/kernel/cpu/perf_event_p6.c \
   arch/x86/kernel/cpu/perf_event_p4.c

Signed-off-by: Robert Richter &lt;robert.richter@amd.com&gt;
Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
LKML-Reference: &lt;1269880612-25800-2-git-send-email-robert.richter@amd.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>perf, x86: rename macro in ARCH_PERFMON_EVENTSEL_ENABLE</title>
<updated>2010-03-01T13:21:23+00:00</updated>
<author>
<name>Robert Richter</name>
<email>robert.richter@amd.com</email>
</author>
<published>2010-03-01T13:21:23+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=bb1165d6882f423f90fc7007a88c6c993b7c2ac4'/>
<id>urn:sha1:bb1165d6882f423f90fc7007a88c6c993b7c2ac4</id>
<content type='text'>
For consistency reasons this patch renames
ARCH_PERFMON_EVENTSEL0_ENABLE to ARCH_PERFMON_EVENTSEL_ENABLE.

The following is performed:

 $ sed -i -e s/ARCH_PERFMON_EVENTSEL0_ENABLE/ARCH_PERFMON_EVENTSEL_ENABLE/g \
   arch/x86/include/asm/perf_event.h arch/x86/kernel/cpu/perf_event.c \
   arch/x86/kernel/cpu/perf_event_p6.c \
   arch/x86/kernel/cpu/perfctr-watchdog.c \
   arch/x86/oprofile/op_model_amd.c arch/x86/oprofile/op_model_ppro.c

Signed-off-by: Robert Richter &lt;robert.richter@amd.com&gt;
</content>
</entry>
</feed>
