From: "Philip J. Mucci" <phil@sicortex.com>
To: eranian@hpl.hp.com
Cc: perfmon@napali.hpl.hp.com, linux-mips@linux-mips.org
Subject: Re: [Perfctr-devel] 2.6.19-rc6-git10 new perfmon code base + libpfm + pfmon
Date: Tue, 28 Nov 2006 15:50:27 +0100 [thread overview]
Message-ID: <1164725427.2316.109.camel@localhost.localdomain> (raw)
In-Reply-To: <20061127143705.GC24980@frankl.hpl.hp.com>
[-- Attachment #1: Type: text/plain, Size: 4803 bytes --]
Hi folks,
Linux-MIPS users will need the following patch to add the 'cpu'
directories to sysfs.
Phil
On Mon, 2006-11-27 at 06:37 -0800, Stephane Eranian wrote:
> Hello,
>
> I have released another version of the perfmon new code base package.
> This version of the kernel patch is relative to 2.6.19-rc6-git10.
>
> This is a major update because it completes the changes requested
> during the code review on LKML. As a consequence, the kernel interface
> is NOT backward compatible with previous v2.2 versions. This release has
> the v2.3 version number. Backward compatibility with v2.0 is maintained
> on Itanium processors.
>
> The kernel patch is split between infrastructure work and perfmon2 proper.
> The infrastructure contains the following changes which will be integrated
> into mainline before perfmon2 is. Those changes should appear in 2.6.20.
> They are provided in the base.diff file.
>
> The infrastructure changes include:
> - x86_64: fix idle_notifier to cover all interrupts entry/exit for idle thread
> - i386 : add idle notifier (copy of x86_64 notifier)
> - ia64 : idle notifier (copy of x86_64 notifier)
> - i386 : add X86_FEATURE_ceforge.net, linux-kernel@vger.kernel.orgq,X86_FEATURE_PEBS to cpufeature.h
> - x86_64: add X86_FEATURE_BTS,X86_FEATURE_PEBS to cpufeature.h
> - i386 : add PMU related MSR definitions to msr.h
> - x86_64: NMI watchdog uses PERFCTR1 to allow PEBS on Intel Core (requires PERFCTR0)
> - all : remove unused carta_random32.h
>
>
> The perfmon2 kernel changes the release to v2.3 and includes the following changes:
> - updated to 2.6.19-rc6-git10
> - sampling format identified with clear text string, not UUID anymore
> - pfm_create_context() returns file descriptor
> - sampling format name passed as argument
> - struct pfarg_ctx_t simplified
> - using random32() instead of carta_random32() (now obsolete)
> - in struct pfarg_pmd, reg_random_seed is obsolete
> - added support for Intel Core processors (Core 2 Duo)
> - unified PEBS support between P4 and Intel Core
> - fix bugs with munmap() of sampling buffer
> - changed sysfs to handle new naming for sampling formats
> - change rsvd_mask logic in PMU description modules
> - make idle notifier registration lazy (only when needed)
> - rewritten NMI integration using die_notifier()
> - NMI watchdog support and auto-detection for AMD K8, Intel Core
> - fix potential issues with locking/irq masking using LockDep checker
> - cleaned MIPS PMU description table setup
> - various MIPS bugs fixes (Phil Mucci, Manoj Ekbote)
> - various PowerPC updates include PPC32 description table (Phil Mucci)
>
> Due to problems with the git10 tree, the MIPS kernel does not compile regardless of
> perfmon2. A new patch will be generated once this problem is removed.
>
> I have also released a new libpfm, libpfm-3.2-061127, with lots of
> changes. Here are some of the most important ones:
>
> - added support for Intel Core (Core 2 Duo)
> - updated all example, header files to perfmon v2.3
> - updated man pages
> - Intel Core PEBS example
> - fixed rtop on 32-bit platforms
> - various MIPS updates (Phil Mucci)
> - big-endian support for MIPS
> - various Makefile improvements
>
> Also a new version of pfmon, pfmon-3.2-061127, with a lot
> of changes as well:
> - updated to perfmon v2.3 interface
> - support for Intel Core processors (Core 2 Duo)
> - support for Intel Core PEBS as a sampling format
> - complete rewrite of system-wide core loops to avoid race conditions with signals
> - added --print-interval to print intermediate deltas in system-wide mode
> - better handling of perfmon errors
> - corrected Montecito checks for L2D_CANCEL events
> - factorized 'detailed' sampling format for all arch
> - inst-hist default formats for all arch
> - corrected sampling buffer auto-sizing based on resource limit constraints
> - updated online documentation
>
> This version of pfmon requires libpfm-3.2-061127.
>
> You can get a more detailed log of changes the the CVS tree.
>
> You can grab the new packages at our web site:
>
> http://perfmon2.sf.net
>
> Enjoy,
>
> PS: I will post a kernel patch to LKML and a diffstat on the perfmon mailing list.
> --
>
> -Stephane
>
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share your
> opinions on IT & business topics through brief surveys - and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> _______________________________________________
> Perfctr-devel mailing list
> Perfctr-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/perfctr-devel
[-- Attachment #2: Attached message --]
[-- Type: message/rfc822, Size: 2723 bytes --]
From: phil@sicortex.com (Phil Mucci)
To: mucci@cs.utk.edu
Subject: No Subject
Date: Tue, 28 Nov 2006 09:47:09 -0500
Message-ID: <456C4BED.mailP0811VGTG@intranet.sicortex.com>
Index: perfmon/perfmon_sysfs.c
===================================================================
--- perfmon/perfmon_sysfs.c (.../perfmon2-post-sf-pre-fixup) (revision 27882)
+++ perfmon/perfmon_sysfs.c (.../perfmon2-post-sf-post-fixup) (revision 27882)
@@ -79,6 +79,10 @@
static struct kobject pfm_kernel_kobj, pfm_kernel_fmt_kobj;
+/* Remove this after mips get topology.c files */
+
+struct cpu sysfs_cpus[NR_CPUS];
+
static void pfm_reset_stats(int cpu)
{
struct pfm_stats *st;
@@ -400,6 +404,19 @@
int done_kobj_fmt = 0, done_kobj_kernel = 0;
int i, cpu = -1;
+ /* This is a hack to be removed */
+
+ for_each_present_cpu(i) {
+ ret = register_cpu(&sysfs_cpus[i],i,NULL);
+ if (ret)
+ {
+ PFM_INFO("cannot register cpu %d: %d\n",i,ret);
+ goto error;
+ }
+ }
+
+ /* End hack */
+
ret = subsystem_register(&pfm_fmt_subsys);
if (ret) {
PFM_INFO("cannot register pfm_fmt_subsys: %d", ret);
next parent reply other threads:[~2006-11-28 14:50 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20061127143705.GC24980@frankl.hpl.hp.com>
2006-11-28 14:50 ` Philip J. Mucci [this message]
2006-11-28 18:20 ` [Perfctr-devel] 2.6.19-rc6-git10 new perfmon code base + libpfm + pfmon Ralf Baechle
2006-11-28 19:05 ` Philip J. Mucci
2006-11-29 16:04 ` Ralf Baechle
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=1164725427.2316.109.camel@localhost.localdomain \
--to=phil@sicortex.com \
--cc=eranian@hpl.hp.com \
--cc=linux-mips@linux-mips.org \
--cc=perfmon@napali.hpl.hp.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