From: Pekka Enberg <penberg@cs.helsinki.fi>
To: Robert Richter <robert.richter@amd.com>
Cc: "Ingo Molnar" <mingo@elte.hu>,
"Arjan van de Ven" <arjan@infradead.org>,
"Peter Zijlstra" <a.p.zijlstra@chello.nl>,
"Linus Torvalds" <torvalds@linux-foundation.org>,
"Paul Mackerras" <paulus@samba.org>,
LKML <linux-kernel@vger.kernel.org>,
oprofile-list <oprofile-list@lists.sourceforge.net>,
"Arnaldo Carvalho de Melo" <acme@redhat.com>,
"Frédéric Weisbecker" <fweisbec@gmail.com>,
"Mike Galbraith" <efault@gmx.de>,
"H. Peter Anvin" <hpa@zytor.com>,
"Thomas Gleixner" <tglx@linutronix.de>
Subject: Re: [PATCH 0/26] oprofile: Performance counter multiplexing
Date: Thu, 6 Aug 2009 10:31:52 +0300 [thread overview]
Message-ID: <84144f020908060031vb48b983m6e6b1b521e01d6aa@mail.gmail.com> (raw)
In-Reply-To: <20090805123501.GF14610@erda.amd.com>
Hi Robert,
On Wed, Aug 5, 2009 at 3:35 PM, Robert Richter<robert.richter@amd.com> wrote:
> The question is more if it makes sense. It's new to me dropping
> user/kernel interfaces that are in use and forcing its developers to
> rewrite their code. Oprofile is actively developed and in many
> distros. It supports architectures perfcounters doesn't. So, what do
> you want?
Maybe we can keep the ABIs in place but use a common machinery under
the hood for both perf and oprofile? That said, I do expect oprofile
ABIs to be special meaning that there's probably not a whole lot users
other than the oprofile user-space tool? So if do convert the
user-space tool to use sys_perf_counter_open() and put the in-kernel
oprofile code into deep-maintenance mode, maybe we can eventually get
rid of it?
That said, the lack of architecture support for perf is definitely a
blocker here...
On Wed, Aug 5, 2009 at 3:35 PM, Robert Richter<robert.richter@amd.com> wrote:
> And why not having more than one profiling subsystem in the kernel? I
> see also more than one type of car on the street though all of them
> have 4 wheels.
Well, so far I've only had bad experiences with duplicate
functionality in the kernel be it a core kernel subsystem like slab or
a device driver (broadcom and e100 come to mind). The problem is that
you fragment tester and developer base and end up with a different set
of bugs for each of the duplicate components causing more work than
necessary. And what eventually happens is that you have only one
component that's under active development but you can't get rid of the
less active ones because people depend on them and the active one has
corner case bugs that just don't get fixed.
Pekka
next prev parent reply other threads:[~2009-08-06 7:31 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-07-28 17:07 Robert Richter
2009-07-28 17:07 ` [PATCH 01/26] x86/oprofile: Rework and simplify nmi_cpu_setup() Robert Richter
2009-07-28 17:07 ` [PATCH 02/26] x86/oprofile: Whitespaces changes only Robert Richter
2009-07-28 17:07 ` [PATCH 03/26] oprofile: Implement performance counter multiplexing Robert Richter
2009-07-28 17:07 ` [PATCH 04/26] x86/oprofile: Fix usage of NUM_CONTROLS/NUM_COUNTERS macros Robert Richter
2009-07-28 17:07 ` [PATCH 05/26] x86/oprofile: Use per_cpu() instead of __get_cpu_var() Robert Richter
2009-07-28 17:07 ` [PATCH 06/26] x86/oprofile: Fix initialization of switch_index Robert Richter
2009-07-28 17:07 ` [PATCH 07/26] oprofile: oprofile_set_timeout(), return with error for invalid args Robert Richter
2009-07-28 17:07 ` [PATCH 08/26] oprofile: Rename variable timeout_jiffies and move to oprofile_files.c Robert Richter
2009-07-28 17:07 ` [PATCH 09/26] oprofile: Remove oprofile_multiplexing_init() Robert Richter
2009-07-28 17:07 ` [PATCH 10/26] oprofile: Grouping multiplexing code in oprof.c Robert Richter
2009-07-28 17:07 ` [PATCH 11/26] oprofile: Introduce op_x86_phys_to_virt() Robert Richter
2009-07-28 17:07 ` [PATCH 12/26] oprofile: Grouping multiplexing code in op_model_amd.c Robert Richter
2009-07-28 17:07 ` [PATCH 13/26] x86/oprofile: Implement multiplexing setup/shutdown functions Robert Richter
2009-07-28 17:07 ` [PATCH 14/26] x86/oprofile: Moving nmi_setup_cpu_mux() in nmi_int.c Robert Richter
2009-07-28 17:07 ` [PATCH 15/26] x86/oprofile: Moving nmi_cpu_save/restore_mpx_registers() " Robert Richter
2009-07-28 17:07 ` [PATCH 16/26] x86/oprofile: Moving nmi_cpu_switch() " Robert Richter
2009-07-28 17:07 ` [PATCH 17/26] x86/oprofile: Remove const qualifier from struct op_x86_model_spec Robert Richter
2009-07-28 17:07 ` [PATCH 18/26] x86/oprofile: Remove unused num_virt_controls " Robert Richter
2009-07-28 17:07 ` [PATCH 19/26] x86/oprofile: Modify initialization of num_virt_counters Robert Richter
2009-07-28 17:07 ` [PATCH 20/26] x86/oprofile: Add function has_mux() to check multiplexing support Robert Richter
2009-07-28 17:07 ` [PATCH 21/26] x86/oprofile: Enable multiplexing only if the model supports it Robert Richter
2009-07-28 17:07 ` [PATCH 22/26] x86/oprofile: Implement mux_clone() Robert Richter
2009-07-28 17:07 ` [PATCH 23/26] oprofile: Adding switch counter to oprofile statistic variables Robert Richter
2009-07-28 17:07 ` [PATCH 24/26] x86/oprofile: Implement op_x86_virt_to_phys() Robert Richter
2009-07-28 17:07 ` [PATCH 25/26] x86/oprofile: Add counter reservation check for virtual counters Robert Richter
2009-07-28 17:07 ` [PATCH 26/26] x86/oprofile: Small coding style fixes Robert Richter
2009-07-28 18:45 ` [PATCH 0/26] oprofile: Performance counter multiplexing Andi Kleen
2009-07-28 22:18 ` Suthikulpanit, Suravee
2009-08-03 11:22 ` Ingo Molnar
2009-08-03 14:25 ` Arjan van de Ven
2009-08-04 20:11 ` Ingo Molnar
2009-08-05 12:35 ` Robert Richter
2009-08-06 7:31 ` Pekka Enberg [this message]
2009-08-06 10:51 ` Ingo Molnar
2009-08-13 16:13 ` Robert Richter
[not found] ` <20090806105134.GD11236__37984.4768475325$1249556453$gmane$org@elte.hu>
2010-02-26 14:51 ` Andi Kleen
2010-03-05 16:46 ` Robert Richter
2010-03-05 17:01 ` Steven Rostedt
2010-03-08 3:51 ` Andi Kleen
2009-08-03 16:30 ` Robert Richter
2009-08-04 17:05 ` Ingo Molnar
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=84144f020908060031vb48b983m6e6b1b521e01d6aa@mail.gmail.com \
--to=penberg@cs.helsinki.fi \
--cc=a.p.zijlstra@chello.nl \
--cc=acme@redhat.com \
--cc=arjan@infradead.org \
--cc=efault@gmx.de \
--cc=fweisbec@gmail.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=oprofile-list@lists.sourceforge.net \
--cc=paulus@samba.org \
--cc=robert.richter@amd.com \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.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
Powered by JetHome