From: Stephane Eranian <eranian@google.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: linux-kernel@vger.kernel.org, mingo@elte.hu, paulus@samba.org,
davem@davemloft.net, fweisbec@gmail.com, robert.richter@amd.com,
perfmon2-devel@lists.sf.net, eranian@gmail.com
Subject: Re: [PATCH] perf_events: AMD event scheduling (v3)
Date: Wed, 10 Feb 2010 14:04:54 +0100 [thread overview]
Message-ID: <bd4cb8901002100504i8e716e8ob845f692e031726f@mail.gmail.com> (raw)
In-Reply-To: <1265803166.11509.286.camel@laptop>
On Wed, Feb 10, 2010 at 12:59 PM, Peter Zijlstra <peterz@infradead.org> wrote:
> On Mon, 2010-02-08 at 17:17 +0200, Stephane Eranian wrote:
>> This patch adds correct AMD Northbridge event scheduling.
>> It must be applied on top tip-x86 + hw_perf_enable() fix.
>>
>> NB events are events measuring L3 cache, Hypertransport
>> traffic. They are identified by an event code >= 0xe0.
>> They measure events on the Northbride which is shared
>> by all cores on a package. NB events are counted on a
>> shared set of counters. When a NB event is programmed
>> in a counter, the data actually comes from a shared
>> counter. Thus, access to those counters needs to be
>> synchronized.
>>
>> We implement the synchronization such that no two cores
>> can be measuring NB events using the same counters. Thus,
>> we maintain a per-NB * allocation table. The available slot
>> is propagated using the event_constraint structure.
>>
>> The 2nd version takes into account the changes on how
>> constraints are stored by the scheduling code.
>>
>> The 3rd version fixes formatting issues, code readability
>> and one bug in amd_put_event_constraints().
>>
>> Signed-off-by: Stephane Eranian <eranian@google.com>
>
> OK, took this with the below merged in.
>
> ---
> Index: linux-2.6/arch/x86/kernel/cpu/perf_event.c
> ===================================================================
> --- linux-2.6.orig/arch/x86/kernel/cpu/perf_event.c
> +++ linux-2.6/arch/x86/kernel/cpu/perf_event.c
> @@ -81,7 +81,7 @@ struct event_constraint {
> };
>
> struct amd_nb {
> - int nb_id; /* Northbridge id */
> + int nb_id; /* NorthBridge id */
> int refcnt; /* reference count */
> struct perf_event *owners[X86_PMC_IDX_MAX];
> struct event_constraint event_constraints[X86_PMC_IDX_MAX];
> @@ -2268,7 +2268,7 @@ static inline int amd_is_nb_event(struct
> u64 val = hwc->config & K7_EVNTSEL_EVENT_MASK;
> /* event code : bits [35-32] | [7-0] */
> val = (val >> 24) | (val & 0xff);
> - return val >= 0x0e0;
> + return val >= 0xe00;
> }
>
I don't understand the change from 0xe0 to 0xe00.
That's not the same thing at all.
Event select is bits 0-7 + 32-35.
next prev parent reply other threads:[~2010-02-10 13:05 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-08 15:17 Stephane Eranian
2010-02-10 11:59 ` Peter Zijlstra
2010-02-10 13:04 ` Stephane Eranian [this message]
2010-02-10 13:17 ` Peter Zijlstra
2010-02-10 13:28 ` Peter Zijlstra
2010-02-10 13:58 ` stephane eranian
2010-02-10 15:59 ` [perfmon2] " Drongowski, Paul
2010-02-10 16:07 ` Stephane Eranian
2010-02-10 16:17 ` Peter Zijlstra
2010-02-10 16:09 ` Robert Richter
2010-02-10 16:14 ` Peter Zijlstra
2010-02-26 10:25 ` [tip:perf/core] perf_events, x86: AMD event scheduling tip-bot for Stephane Eranian
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=bd4cb8901002100504i8e716e8ob845f692e031726f@mail.gmail.com \
--to=eranian@google.com \
--cc=davem@davemloft.net \
--cc=eranian@gmail.com \
--cc=fweisbec@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=paulus@samba.org \
--cc=perfmon2-devel@lists.sf.net \
--cc=peterz@infradead.org \
--cc=robert.richter@amd.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®