<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/arch/x86/kernel/cpu/perf_event.c, branch v3.2</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>perf/x86: Enable raw event access to Intel offcore events</title>
<updated>2011-11-14T12:03:44+00:00</updated>
<author>
<name>Peter Zijlstra</name>
<email>a.p.zijlstra@chello.nl</email>
</author>
<published>2011-11-14T09:03:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=ed13ec58bfe0d5dc95f748e6118432cb0fa283cb'/>
<id>ed13ec58bfe0d5dc95f748e6118432cb0fa283cb</id>
<content type='text'>
Now that the core offcore support is fixed up (thanks Stephane) and we
have sane generic events utilizing them, re-enable the raw access to
the feature as well.

Note that it doesn't matter if you use event 0x1b7 or 0x1bb to specify
an offcore event, either one works and neither guarantees you'll end
up on a particular offcore MSR.

Based on original patch from: Vince Weaver &lt;vweaver1@eecs.utk.edu&gt;.

Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Cc: Vince Weaver &lt;vweaver1@eecs.utk.edu&gt;.
Cc: Stephane Eranian &lt;eranian@google.com&gt;
Link: http://lkml.kernel.org/r/alpine.DEB.2.00.1108031200390.703@cl320.eecs.utk.edu
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now that the core offcore support is fixed up (thanks Stephane) and we
have sane generic events utilizing them, re-enable the raw access to
the feature as well.

Note that it doesn't matter if you use event 0x1b7 or 0x1bb to specify
an offcore event, either one works and neither guarantees you'll end
up on a particular offcore MSR.

Based on original patch from: Vince Weaver &lt;vweaver1@eecs.utk.edu&gt;.

Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Cc: Vince Weaver &lt;vweaver1@eecs.utk.edu&gt;.
Cc: Stephane Eranian &lt;eranian@google.com&gt;
Link: http://lkml.kernel.org/r/alpine.DEB.2.00.1108031200390.703@cl320.eecs.utk.edu
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>perf: Don't use -ENOSPC for out of PMU resources</title>
<updated>2011-11-14T12:01:24+00:00</updated>
<author>
<name>Peter Zijlstra</name>
<email>a.p.zijlstra@chello.nl</email>
</author>
<published>2011-11-09T16:56:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=aa2bc1ade59003a379ffc485d6da2d92ea3370a6'/>
<id>aa2bc1ade59003a379ffc485d6da2d92ea3370a6</id>
<content type='text'>
People (Linus) objected to using -ENOSPC to signal not having enough
resources on the PMU to satisfy the request. Use -EINVAL.

Requested-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Cc: Stephane Eranian &lt;eranian@google.com&gt;
Cc: Will Deacon &lt;will.deacon@arm.com&gt;
Cc: Deng-Cheng Zhu &lt;dengcheng.zhu@gmail.com&gt;
Cc: David Daney &lt;david.daney@cavium.com&gt;
Cc: Ralf Baechle &lt;ralf@linux-mips.org&gt;
Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Link: http://lkml.kernel.org/n/tip-xv8geaz2zpbjhlx0svmpp28n@git.kernel.org
[ merged to newer kernel, fixed up MIPS impact ]
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
People (Linus) objected to using -ENOSPC to signal not having enough
resources on the PMU to satisfy the request. Use -EINVAL.

Requested-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Cc: Stephane Eranian &lt;eranian@google.com&gt;
Cc: Will Deacon &lt;will.deacon@arm.com&gt;
Cc: Deng-Cheng Zhu &lt;dengcheng.zhu@gmail.com&gt;
Cc: David Daney &lt;david.daney@cavium.com&gt;
Cc: Ralf Baechle &lt;ralf@linux-mips.org&gt;
Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Link: http://lkml.kernel.org/n/tip-xv8geaz2zpbjhlx0svmpp28n@git.kernel.org
[ merged to newer kernel, fixed up MIPS impact ]
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>x86, nmi: Wire up NMI handlers to new routines</title>
<updated>2011-10-10T04:56:57+00:00</updated>
<author>
<name>Don Zickus</name>
<email>dzickus@redhat.com</email>
</author>
<published>2011-09-30T19:06:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=9c48f1c629ecfa114850c03f875c6691003214de'/>
<id>9c48f1c629ecfa114850c03f875c6691003214de</id>
<content type='text'>
Just convert all the files that have an nmi handler to the new routines.
Most of it is straight forward conversion.  A couple of places needed some
tweaking like kgdb which separates the debug notifier from the nmi handler
and mce removes a call to notify_die.

[Thanks to Ying for finding out the history behind that mce call

https://lkml.org/lkml/2010/5/27/114

And Boris responding that he would like to remove that call because of it

https://lkml.org/lkml/2011/9/21/163]

The things that get converted are the registeration/unregistration routines
and the nmi handler itself has its args changed along with code removal
to check which list it is on (most are on one NMI list except for kgdb
which has both an NMI routine and an NMI Unknown routine).

Signed-off-by: Don Zickus &lt;dzickus@redhat.com&gt;
Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Acked-by: Corey Minyard &lt;minyard@acm.org&gt;
Cc: Jason Wessel &lt;jason.wessel@windriver.com&gt;
Cc: Andi Kleen &lt;ak@linux.intel.com&gt;
Cc: Robert Richter &lt;robert.richter@amd.com&gt;
Cc: Huang Ying &lt;ying.huang@intel.com&gt;
Cc: Corey Minyard &lt;minyard@acm.org&gt;
Cc: Jack Steiner &lt;steiner@sgi.com&gt;
Link: http://lkml.kernel.org/r/1317409584-23662-4-git-send-email-dzickus@redhat.com
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Just convert all the files that have an nmi handler to the new routines.
Most of it is straight forward conversion.  A couple of places needed some
tweaking like kgdb which separates the debug notifier from the nmi handler
and mce removes a call to notify_die.

[Thanks to Ying for finding out the history behind that mce call

https://lkml.org/lkml/2010/5/27/114

And Boris responding that he would like to remove that call because of it

https://lkml.org/lkml/2011/9/21/163]

The things that get converted are the registeration/unregistration routines
and the nmi handler itself has its args changed along with code removal
to check which list it is on (most are on one NMI list except for kgdb
which has both an NMI routine and an NMI Unknown routine).

Signed-off-by: Don Zickus &lt;dzickus@redhat.com&gt;
Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Acked-by: Corey Minyard &lt;minyard@acm.org&gt;
Cc: Jason Wessel &lt;jason.wessel@windriver.com&gt;
Cc: Andi Kleen &lt;ak@linux.intel.com&gt;
Cc: Robert Richter &lt;robert.richter@amd.com&gt;
Cc: Huang Ying &lt;ying.huang@intel.com&gt;
Cc: Corey Minyard &lt;minyard@acm.org&gt;
Cc: Jack Steiner &lt;steiner@sgi.com&gt;
Link: http://lkml.kernel.org/r/1317409584-23662-4-git-send-email-dzickus@redhat.com
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>x86, perf: Clean up perf_event cpu code</title>
<updated>2011-09-26T10:58:00+00:00</updated>
<author>
<name>Kevin Winchester</name>
<email>kjwinchester@gmail.com</email>
</author>
<published>2011-08-30T23:41:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=de0428a7ad4856c7b5b8a2792488ac893e6f3faa'/>
<id>de0428a7ad4856c7b5b8a2792488ac893e6f3faa</id>
<content type='text'>
The CPU support for perf events on x86 was implemented via included C files
with #ifdefs.  Clean this up by creating a new header file and compiling
the vendor-specific files as needed.

Signed-off-by: Kevin Winchester &lt;kjwinchester@gmail.com&gt;
Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Link: http://lkml.kernel.org/r/1314747665-2090-1-git-send-email-kjwinchester@gmail.com
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The CPU support for perf events on x86 was implemented via included C files
with #ifdefs.  Clean this up by creating a new header file and compiling
the vendor-specific files as needed.

Signed-off-by: Kevin Winchester &lt;kjwinchester@gmail.com&gt;
Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Link: http://lkml.kernel.org/r/1314747665-2090-1-git-send-email-kjwinchester@gmail.com
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge commit 'v3.1-rc7' into perf/core</title>
<updated>2011-09-26T10:54:28+00:00</updated>
<author>
<name>Ingo Molnar</name>
<email>mingo@elte.hu</email>
</author>
<published>2011-09-26T10:53:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=ed3982cf3748b657ffb79d9d1c2e4a562661db2d'/>
<id>ed3982cf3748b657ffb79d9d1c2e4a562661db2d</id>
<content type='text'>
Merge reason: Pick up the latest upstream fixes.

Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Merge reason: Pick up the latest upstream fixes.

Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>x86, perf: Check that current-&gt;mm is alive before getting user callchain</title>
<updated>2011-08-31T13:56:31+00:00</updated>
<author>
<name>Andrey Vagin</name>
<email>avagin@openvz.org</email>
</author>
<published>2011-08-30T08:32:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=20afc60f892d285fde179ead4b24e6a7938c2f1b'/>
<id>20afc60f892d285fde179ead4b24e6a7938c2f1b</id>
<content type='text'>
An event may occur when an mm is already released.

I added an event in dequeue_entity() and caught a panic with
the following backtrace:

[  434.421110] BUG: unable to handle kernel NULL pointer dereference at 0000000000000050
[  434.421258] IP: [&lt;ffffffff810464ac&gt;] __get_user_pages_fast+0x9c/0x120
...
[  434.421258] Call Trace:
[  434.421258]  [&lt;ffffffff8101ae81&gt;] copy_from_user_nmi+0x51/0xf0
[  434.421258]  [&lt;ffffffff8109a0d5&gt;] ? sched_clock_local+0x25/0x90
[  434.421258]  [&lt;ffffffff8101b048&gt;] perf_callchain_user+0x128/0x170
[  434.421258]  [&lt;ffffffff811154cd&gt;] ? __perf_event_header__init_id+0xed/0x100
[  434.421258]  [&lt;ffffffff81116690&gt;] perf_prepare_sample+0x200/0x280
[  434.421258]  [&lt;ffffffff81118da8&gt;] __perf_event_overflow+0x1b8/0x290
[  434.421258]  [&lt;ffffffff81065240&gt;] ? tg_shares_up+0x0/0x670
[  434.421258]  [&lt;ffffffff8104fe1a&gt;] ? walk_tg_tree+0x6a/0xb0
[  434.421258]  [&lt;ffffffff81118f44&gt;] perf_swevent_overflow+0xc4/0xf0
[  434.421258]  [&lt;ffffffff81119150&gt;] do_perf_sw_event+0x1e0/0x250
[  434.421258]  [&lt;ffffffff81119204&gt;] perf_tp_event+0x44/0x70
[  434.421258]  [&lt;ffffffff8105701f&gt;] ftrace_profile_sched_block+0xdf/0x110
[  434.421258]  [&lt;ffffffff8106121d&gt;] dequeue_entity+0x2ad/0x2d0
[  434.421258]  [&lt;ffffffff810614ec&gt;] dequeue_task_fair+0x1c/0x60
[  434.421258]  [&lt;ffffffff8105818a&gt;] dequeue_task+0x9a/0xb0
[  434.421258]  [&lt;ffffffff810581e2&gt;] deactivate_task+0x42/0xe0
[  434.421258]  [&lt;ffffffff814bc019&gt;] thread_return+0x191/0x808
[  434.421258]  [&lt;ffffffff81098a44&gt;] ? switch_task_namespaces+0x24/0x60
[  434.421258]  [&lt;ffffffff8106f4c4&gt;] do_exit+0x464/0x910
[  434.421258]  [&lt;ffffffff8106f9c8&gt;] do_group_exit+0x58/0xd0
[  434.421258]  [&lt;ffffffff8106fa57&gt;] sys_exit_group+0x17/0x20
[  434.421258]  [&lt;ffffffff8100b202&gt;] system_call_fastpath+0x16/0x1b

Signed-off-by: Andrey Vagin &lt;avagin@openvz.org&gt;
Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Cc: stable@kernel.org
Link: http://lkml.kernel.org/r/1314693156-24131-1-git-send-email-avagin@openvz.org
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
An event may occur when an mm is already released.

I added an event in dequeue_entity() and caught a panic with
the following backtrace:

[  434.421110] BUG: unable to handle kernel NULL pointer dereference at 0000000000000050
[  434.421258] IP: [&lt;ffffffff810464ac&gt;] __get_user_pages_fast+0x9c/0x120
...
[  434.421258] Call Trace:
[  434.421258]  [&lt;ffffffff8101ae81&gt;] copy_from_user_nmi+0x51/0xf0
[  434.421258]  [&lt;ffffffff8109a0d5&gt;] ? sched_clock_local+0x25/0x90
[  434.421258]  [&lt;ffffffff8101b048&gt;] perf_callchain_user+0x128/0x170
[  434.421258]  [&lt;ffffffff811154cd&gt;] ? __perf_event_header__init_id+0xed/0x100
[  434.421258]  [&lt;ffffffff81116690&gt;] perf_prepare_sample+0x200/0x280
[  434.421258]  [&lt;ffffffff81118da8&gt;] __perf_event_overflow+0x1b8/0x290
[  434.421258]  [&lt;ffffffff81065240&gt;] ? tg_shares_up+0x0/0x670
[  434.421258]  [&lt;ffffffff8104fe1a&gt;] ? walk_tg_tree+0x6a/0xb0
[  434.421258]  [&lt;ffffffff81118f44&gt;] perf_swevent_overflow+0xc4/0xf0
[  434.421258]  [&lt;ffffffff81119150&gt;] do_perf_sw_event+0x1e0/0x250
[  434.421258]  [&lt;ffffffff81119204&gt;] perf_tp_event+0x44/0x70
[  434.421258]  [&lt;ffffffff8105701f&gt;] ftrace_profile_sched_block+0xdf/0x110
[  434.421258]  [&lt;ffffffff8106121d&gt;] dequeue_entity+0x2ad/0x2d0
[  434.421258]  [&lt;ffffffff810614ec&gt;] dequeue_task_fair+0x1c/0x60
[  434.421258]  [&lt;ffffffff8105818a&gt;] dequeue_task+0x9a/0xb0
[  434.421258]  [&lt;ffffffff810581e2&gt;] deactivate_task+0x42/0xe0
[  434.421258]  [&lt;ffffffff814bc019&gt;] thread_return+0x191/0x808
[  434.421258]  [&lt;ffffffff81098a44&gt;] ? switch_task_namespaces+0x24/0x60
[  434.421258]  [&lt;ffffffff8106f4c4&gt;] do_exit+0x464/0x910
[  434.421258]  [&lt;ffffffff8106f9c8&gt;] do_group_exit+0x58/0xd0
[  434.421258]  [&lt;ffffffff8106fa57&gt;] sys_exit_group+0x17/0x20
[  434.421258]  [&lt;ffffffff8100b202&gt;] system_call_fastpath+0x16/0x1b

Signed-off-by: Andrey Vagin &lt;avagin@openvz.org&gt;
Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Cc: stable@kernel.org
Link: http://lkml.kernel.org/r/1314693156-24131-1-git-send-email-avagin@openvz.org
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>perf, x86: Avoid kfree() in CPU_STARTING</title>
<updated>2011-08-14T09:53:02+00:00</updated>
<author>
<name>Peter Zijlstra</name>
<email>a.p.zijlstra@chello.nl</email>
</author>
<published>2011-07-22T11:41:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=7fdba1ca10462f42ad2246b918fe6368f5ce488e'/>
<id>7fdba1ca10462f42ad2246b918fe6368f5ce488e</id>
<content type='text'>
On -rt kfree() can schedule, but CPU_STARTING is before the CPU is
fully up and running. These are contradictory, so avoid it. Instead
push the kfree() to CPU_ONLINE where we're free to schedule.

Reported-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Link: http://lkml.kernel.org/n/tip-kwd4j6ayld5thrscvaxgjquv@git.kernel.org
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
On -rt kfree() can schedule, but CPU_STARTING is before the CPU is
fully up and running. These are contradictory, so avoid it. Instead
push the kfree() to CPU_ONLINE where we're free to schedule.

Reported-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Link: http://lkml.kernel.org/n/tip-kwd4j6ayld5thrscvaxgjquv@git.kernel.org
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>x86, perf: Make copy_from_user_nmi() a library function</title>
<updated>2011-07-21T18:41:57+00:00</updated>
<author>
<name>Robert Richter</name>
<email>robert.richter@amd.com</email>
</author>
<published>2011-06-07T09:49:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=1ac2e6ca44e13a087eb7438d284f887097ee7e84'/>
<id>1ac2e6ca44e13a087eb7438d284f887097ee7e84</id>
<content type='text'>
copy_from_user_nmi() is used in oprofile and perf. Moving it to other
library functions like copy_from_user(). As this is x86 code for 32
and 64 bits, create a new file usercopy.c for unified code.

Signed-off-by: Robert Richter &lt;robert.richter@amd.com&gt;
Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Link: http://lkml.kernel.org/r/20110607172413.GJ20052@erda.amd.com
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
copy_from_user_nmi() is used in oprofile and perf. Moving it to other
library functions like copy_from_user(). As this is x86 code for 32
and 64 bits, create a new file usercopy.c for unified code.

Signed-off-by: Robert Richter &lt;robert.richter@amd.com&gt;
Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Link: http://lkml.kernel.org/r/20110607172413.GJ20052@erda.amd.com
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>perf, x86: P4 PMU - Introduce event alias feature</title>
<updated>2011-07-14T21:25:04+00:00</updated>
<author>
<name>Cyrill Gorcunov</name>
<email>gorcunov@openvz.org</email>
</author>
<published>2011-07-08T20:17:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=f91298709790b9a483752ca3c967845537df2af3'/>
<id>f91298709790b9a483752ca3c967845537df2af3</id>
<content type='text'>
Instead of hw_nmi_watchdog_set_attr() weak function
and appropriate x86_pmu::hw_watchdog_set_attr() call
we introduce even alias mechanism which allow us
to drop this routines completely and isolate quirks
of Netburst architecture inside P4 PMU code only.

The main idea remains the same though -- to allow
nmi-watchdog and perf top run simultaneously.

Note the aliasing mechanism applies to generic
PERF_COUNT_HW_CPU_CYCLES event only because arbitrary
event (say passed as RAW initially) might have some
additional bits set inside ESCR register changing
the behaviour of event and we can't guarantee anymore
that alias event will give the same result.

P.S. Thanks a huge to Don and Steven for for testing
     and early review.

Acked-by: Don Zickus &lt;dzickus@redhat.com&gt;
Tested-by: Steven Rostedt &lt;rostedt@goodmis.org&gt;
Signed-off-by: Cyrill Gorcunov &lt;gorcunov@openvz.org&gt;
CC: Ingo Molnar &lt;mingo@elte.hu&gt;
CC: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
CC: Stephane Eranian &lt;eranian@google.com&gt;
CC: Lin Ming &lt;ming.m.lin@intel.com&gt;
CC: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
CC: Frederic Weisbecker &lt;fweisbec@gmail.com&gt;
Link: http://lkml.kernel.org/r/20110708201712.GS23657@sun
Signed-off-by: Steven Rostedt &lt;rostedt@goodmis.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead of hw_nmi_watchdog_set_attr() weak function
and appropriate x86_pmu::hw_watchdog_set_attr() call
we introduce even alias mechanism which allow us
to drop this routines completely and isolate quirks
of Netburst architecture inside P4 PMU code only.

The main idea remains the same though -- to allow
nmi-watchdog and perf top run simultaneously.

Note the aliasing mechanism applies to generic
PERF_COUNT_HW_CPU_CYCLES event only because arbitrary
event (say passed as RAW initially) might have some
additional bits set inside ESCR register changing
the behaviour of event and we can't guarantee anymore
that alias event will give the same result.

P.S. Thanks a huge to Don and Steven for for testing
     and early review.

Acked-by: Don Zickus &lt;dzickus@redhat.com&gt;
Tested-by: Steven Rostedt &lt;rostedt@goodmis.org&gt;
Signed-off-by: Cyrill Gorcunov &lt;gorcunov@openvz.org&gt;
CC: Ingo Molnar &lt;mingo@elte.hu&gt;
CC: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
CC: Stephane Eranian &lt;eranian@google.com&gt;
CC: Lin Ming &lt;ming.m.lin@intel.com&gt;
CC: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
CC: Frederic Weisbecker &lt;fweisbec@gmail.com&gt;
Link: http://lkml.kernel.org/r/20110708201712.GS23657@sun
Signed-off-by: Steven Rostedt &lt;rostedt@goodmis.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>perf, intel: Try alternative OFFCORE encodings</title>
<updated>2011-07-01T09:06:37+00:00</updated>
<author>
<name>Peter Zijlstra</name>
<email>a.p.zijlstra@chello.nl</email>
</author>
<published>2011-05-23T09:08:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=b79e8941fb9af07d810da91b4e29da2bba331b6e'/>
<id>b79e8941fb9af07d810da91b4e29da2bba331b6e</id>
<content type='text'>
Since the OFFCORE registers are fully symmetric, try the other one
when the specified one is already in use.

Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Link: http://lkml.kernel.org/r/1306141897.18455.8.camel@twins
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since the OFFCORE registers are fully symmetric, try the other one
when the specified one is already in use.

Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Link: http://lkml.kernel.org/r/1306141897.18455.8.camel@twins
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</pre>
</div>
</content>
</entry>
</feed>
