From: Robert Richter <robert.richter@amd.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>,
Ingo Molnar <mingo@elte.hu>, LKML <linux-kernel@vger.kernel.org>,
Robert Richter <robert.richter@amd.com>
Subject: [PATCH v3 0/2] perf, x86: handle overlapping counters
Date: Mon, 14 Nov 2011 18:51:09 +0100 [thread overview]
Message-ID: <1321293071-8636-1-git-send-email-robert.richter@amd.com> (raw)
In-Reply-To: <20111111142935.GI15738@erda.amd.com>
I know there is an ongoing discussion about the best algorithm to be
used for this problem. Posting this version with the latest updates
anyway...
This patch set implements support for overlapping counters (patch #2).
For this the existing x86 event scheduler is reworked by introducing
helper functions (patch #1).
V2:
changes in patch #2:
* Renamed redo -> overlap.
* Reimplementation using perf scheduling helper functions.
V3:
changes in patch #1:
* Added macro for_each_set_bit_cont().
* Changed functions interfaces of perf_sched_find_counter() and
perf_sched_next_event() to use bool as return value.
* Added some comments to make code better understandable.
changes in patch #2:
* Added WARN_ON_ONCE() if out of save states.
* Changed function interface of perf_sched_restore_state() to use bool
as return value.
-Robert
Robert Richter (2):
perf, x86: Implement event scheduler helper functions
perf, x86: Fix event scheduler for constraints with overlapping
counters
arch/x86/kernel/cpu/perf_event.c | 217 +++++++++++++++++++++++++---------
arch/x86/kernel/cpu/perf_event.h | 30 +++++-
arch/x86/kernel/cpu/perf_event_amd.c | 2 +-
include/linux/bitops.h | 10 ++-
4 files changed, 200 insertions(+), 59 deletions(-)
--
1.7.7
next prev parent reply other threads:[~2011-11-14 17:52 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-07 11:01 [PATCH] perf_events: fix and improve x86 event scheduling Stephane Eranian
2011-11-07 11:55 ` Peter Zijlstra
2011-11-07 12:10 ` Peter Zijlstra
2011-11-07 13:52 ` Stephane Eranian
2011-11-07 14:56 ` Peter Zijlstra
2011-11-10 14:37 ` Peter Zijlstra
2011-11-10 15:09 ` Stephane Eranian
2011-11-10 16:41 ` Gleb Natapov
2011-11-10 16:59 ` Stephane Eranian
2011-11-10 17:13 ` Gleb Natapov
2011-11-10 16:59 ` Robert Richter
2011-11-10 18:31 ` Peter Zijlstra
2011-11-10 18:03 ` Robert Richter
2011-11-10 18:41 ` Peter Zijlstra
2011-11-10 18:52 ` Peter Zijlstra
2011-11-11 14:29 ` Robert Richter
2011-11-14 17:51 ` Robert Richter [this message]
2011-11-14 17:51 ` [PATCH v3 1/2] perf, x86: Implement event scheduler helper functions Robert Richter
2011-11-16 16:02 ` Peter Zijlstra
2011-11-16 19:23 ` Robert Richter
2011-11-14 17:51 ` [PATCH v3 2/2] perf, x86: Fix event scheduler for constraints with overlapping counters Robert Richter
2011-11-14 12:55 ` [PATCH] perf_events: fix and improve x86 event scheduling Stephane Eranian
2011-11-14 14:12 ` Peter Zijlstra
2011-11-14 14:26 ` Stephane Eranian
2011-11-14 16:00 ` Peter Zijlstra
2011-11-14 17:39 ` Stephane Eranian
2011-11-14 21:43 ` Peter Zijlstra
2011-11-16 10:28 ` Stephane Eranian
2011-11-14 22:16 ` Peter Zijlstra
2011-11-16 10:06 ` 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=1321293071-8636-1-git-send-email-robert.richter@amd.com \
--to=robert.richter@amd.com \
--cc=eranian@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=peterz@infradead.org \
/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