* 2.6.25 new perfmon kernel patch + libpfm + pfmon available [not found] <7c86c4470804291446l4693b317ha7ee2382d00e99e6@mail.gmail.com> @ 2008-04-29 21:47 ` stephane eranian 2008-04-29 15:08 ` Arjan van de Ven 2008-05-02 16:01 ` stephane eranian 0 siblings, 2 replies; 8+ messages in thread From: stephane eranian @ 2008-04-29 21:47 UTC (permalink / raw) To: linux-kernel; +Cc: ia64 Hello, I have released the perfmon2 kernel patch for kernel v2.6.25. There is no major features. However, there were a major restructuring of the code to make it more readable, isolate features per module. The header files have also been restructured to separate user vs. kernel, and generic only vs. shared with arch. The restructuring of the interrupt handler yielded a nice 15% latency improvement on single counter sampling runs on X86. This new structure will make it easier to extract features and merge them with the mainline kernel. In the time frame of 2.6.26, I will push a few bits and pieces to LKML for final review and integration. Here are some of the kernel changes: - Cell updates (Carl Love, Takashi Yamamoto) - new perfmon_debug boot option to enable debug (Robert Richter) - several bugs fixes on Itanium, MIPS and generic hrtimer management - Power locking updates (Corey Ashford) There is also a new release for libpfm, now at version 3.4. The changes include: - AMD Phenom (a.k.a. Barcelona) IBS support (Robert Richter) - Python bindings and examples (Arun Sharma) - environment variable support to enable debugging - auto-detection of syscall base number for 2.6.24 and 2.6.25 - new multi-threaded self-sampling example (Mark W. Krentel) - man pages cleanups (Steve Kaufmann) Special thanks to Arun (Google). The Python bindings are a nice addition to libpfm especially for prototyping and writing testsuites. Finally, a new major version of pfmon, now at pfmon-3.4. Among the many changes: - added support for dmalloc (Andrzej Nowak) - updated support for Cell processor (Takashi Yamamoto) - possibility to terminate pfmon cleanly with SIGTERM - --follow-fork and derivatives fixed on Itanium and other platforms - tracking of dlopen now works on mixed ABI environments - lots of bugs fixes As usual all files and more detailed changelogs can be downloaded from our website at: http://perfmon.sourceforge.net Enjoy, ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: 2.6.25 new perfmon kernel patch + libpfm + pfmon available 2008-04-29 21:47 ` 2.6.25 new perfmon kernel patch + libpfm + pfmon available stephane eranian @ 2008-04-29 15:08 ` Arjan van de Ven 2008-04-30 13:11 ` stephane eranian 2008-05-02 16:01 ` stephane eranian 1 sibling, 1 reply; 8+ messages in thread From: Arjan van de Ven @ 2008-04-29 15:08 UTC (permalink / raw) To: stephane eranian; +Cc: linux-kernel, ia64 On Tue, 29 Apr 2008 23:47:17 +0200 "stephane eranian" <eranian@googlemail.com> wrote: > > As usual all files and more detailed changelogs can be downloaded > from our website at: > > http://perfmon.sourceforge.net it hides well there ;( the website seems to only offer a 2003 version for download.. I doubt that that is the right one.. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: 2.6.25 new perfmon kernel patch + libpfm + pfmon available 2008-04-29 15:08 ` Arjan van de Ven @ 2008-04-30 13:11 ` stephane eranian 2008-04-29 15:33 ` Arjan van de Ven 0 siblings, 1 reply; 8+ messages in thread From: stephane eranian @ 2008-04-30 13:11 UTC (permalink / raw) To: Arjan van de Ven; +Cc: linux-kernel, ia64 Sorry, It's http://perfmon2.sf.net On Tue, Apr 29, 2008 at 5:08 PM, Arjan van de Ven <arjan@infradead.org> wrote: > On Tue, 29 Apr 2008 23:47:17 +0200 > "stephane eranian" <eranian@googlemail.com> wrote: > > > > > As usual all files and more detailed changelogs can be downloaded > > from our website at: > > > > http://perfmon.sourceforge.net > > it hides well there ;( > the website seems to only offer a 2003 version for download.. I doubt that that is the right one.. > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: 2.6.25 new perfmon kernel patch + libpfm + pfmon available 2008-04-30 13:11 ` stephane eranian @ 2008-04-29 15:33 ` Arjan van de Ven 2008-04-30 13:51 ` stephane eranian 0 siblings, 1 reply; 8+ messages in thread From: Arjan van de Ven @ 2008-04-29 15:33 UTC (permalink / raw) To: stephane eranian; +Cc: linux-kernel, ia64 On Wed, 30 Apr 2008 15:11:11 +0200 "stephane eranian" <eranian@googlemail.com> wrote: > Sorry, > > It's http://perfmon2.sf.net > > hummmmm, I wonder why perfmon wants to reimplement half of the PCI layer... +extern spinlock_t pci_config_lock; + +#define PCI_CONF1_ADDRESS(bus, devfn, reg) \ + (0x80000000 | ((reg & 0xF00) << 16) | ((bus & 0xFF) << 16) \ + | (devfn << 8) | (reg & 0xFC)) + +#define is_ibs_pmc(x) (x = 4 || x = 5) + +static int pci_read(unsigned int seg, unsigned int bus, + unsigned int devfn, int reg, int len, u32 *value) +{ + unsigned long flags; especially since this doesn't seem to use the proper config space abstractions :( ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: 2.6.25 new perfmon kernel patch + libpfm + pfmon available 2008-04-29 15:33 ` Arjan van de Ven @ 2008-04-30 13:51 ` stephane eranian 2008-04-29 16:42 ` Arjan van de Ven 0 siblings, 1 reply; 8+ messages in thread From: stephane eranian @ 2008-04-30 13:51 UTC (permalink / raw) To: Arjan van de Ven; +Cc: linux-kernel, ia64, Robert Richter If I recall, AMD said that this special initialization would eventually migrate into the core kernel. The pci_read() may be there because it was not exported by the kernel (this particular code lives in a kernel module). If you think there is now enough support in the core kernel to do this initialization then I'd be happy to remove this piece of code. On Tue, Apr 29, 2008 at 5:33 PM, Arjan van de Ven <arjan@infradead.org> wrote: > On Wed, 30 Apr 2008 15:11:11 +0200 > > "stephane eranian" <eranian@googlemail.com> wrote: > > > > Sorry, > > > > It's http://perfmon2.sf.net > > > > > > hummmmm, I wonder why perfmon wants to reimplement half of the PCI layer... > > +extern spinlock_t pci_config_lock; > + > +#define PCI_CONF1_ADDRESS(bus, devfn, reg) \ > + (0x80000000 | ((reg & 0xF00) << 16) | ((bus & 0xFF) << 16) \ > + | (devfn << 8) | (reg & 0xFC)) > + > +#define is_ibs_pmc(x) (x = 4 || x = 5) > + > +static int pci_read(unsigned int seg, unsigned int bus, > + unsigned int devfn, int reg, int len, u32 *value) > +{ > + unsigned long flags; > > especially since this doesn't seem to use the proper config space abstractions :( > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: 2.6.25 new perfmon kernel patch + libpfm + pfmon available 2008-04-30 13:51 ` stephane eranian @ 2008-04-29 16:42 ` Arjan van de Ven 2008-05-08 10:11 ` Robert Richter 0 siblings, 1 reply; 8+ messages in thread From: Arjan van de Ven @ 2008-04-29 16:42 UTC (permalink / raw) To: stephane eranian; +Cc: linux-kernel, ia64, Robert Richter On Wed, 30 Apr 2008 15:51:39 +0200 "stephane eranian" <eranian@googlemail.com> wrote: > If I recall, AMD said that this special initialization would > eventually migrate into the core kernel. The pci_read() may be there > because it was not exported by the kernel (this particular code lives > in a kernel module). ... yet your patch adds an EXPORT_SYMBOL() just to make this specific function possible. Weird. I find it hard to believe that there would be no code in the kernel to read or write config space of a device you have..... :) In fact I bet 80% of the drivers in the tree use it. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: 2.6.25 new perfmon kernel patch + libpfm + pfmon available 2008-04-29 16:42 ` Arjan van de Ven @ 2008-05-08 10:11 ` Robert Richter 0 siblings, 0 replies; 8+ messages in thread From: Robert Richter @ 2008-05-08 10:11 UTC (permalink / raw) To: Arjan van de Ven; +Cc: stephane eranian, linux-kernel, ia64 On 29.04.08 09:42:18, Arjan van de Ven wrote: > On Wed, 30 Apr 2008 15:51:39 +0200 > "stephane eranian" <eranian@googlemail.com> wrote: > > > If I recall, AMD said that this special initialization would > > eventually migrate into the core kernel. The pci_read() may be there > > because it was not exported by the kernel (this particular code lives > > in a kernel module). > > ... yet your patch adds an EXPORT_SYMBOL() just to make this specific function possible. Weird. > > I find it hard to believe that there would be no code in the kernel to > read or write config space of a device you have..... :) > In fact I bet 80% of the drivers in the tree use it. Access to extended config space for AMD northbridges was not yet implemented. Recent patches from Yinghai Lu fix this. I will send a patch that uses the in-kernel functions. -Robert -- Advanced Micro Devices, Inc. Operating System Research Center email: robert.richter@amd.com ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: 2.6.25 new perfmon kernel patch + libpfm + pfmon available 2008-04-29 21:47 ` 2.6.25 new perfmon kernel patch + libpfm + pfmon available stephane eranian 2008-04-29 15:08 ` Arjan van de Ven @ 2008-05-02 16:01 ` stephane eranian 1 sibling, 0 replies; 8+ messages in thread From: stephane eranian @ 2008-05-02 16:01 UTC (permalink / raw) To: linux-kernel; +Cc: ia64 Hello, Several people noticed there was a typo in the website url. The actual web site is: http://perfmon2.sf.net Sorry about that. On Tue, Apr 29, 2008 at 11:47 PM, stephane eranian <eranian@googlemail.com> wrote: > > Hello, > > I have released the perfmon2 kernel patch for kernel v2.6.25. There is > no major features. However, there were a major restructuring of the code > to make it more readable, isolate features per module. The header files > have also been restructured to separate user vs. kernel, and generic only > vs. shared with arch. The restructuring of the interrupt handler yielded > a nice 15% latency improvement on single counter sampling runs on X86. > This new structure will make it easier to extract features and merge them > with the mainline kernel. > > In the time frame of 2.6.26, I will push a few bits and pieces to LKML > for final review and integration. > > Here are some of the kernel changes: > - Cell updates (Carl Love, Takashi Yamamoto) > - new perfmon_debug boot option to enable debug (Robert Richter) > - several bugs fixes on Itanium, MIPS and generic hrtimer management > - Power locking updates (Corey Ashford) > > There is also a new release for libpfm, now at version 3.4. > The changes include: > - AMD Phenom (a.k.a. Barcelona) IBS support (Robert Richter) > - Python bindings and examples (Arun Sharma) > - environment variable support to enable debugging > - auto-detection of syscall base number for 2.6.24 and 2.6.25 > - new multi-threaded self-sampling example (Mark W. Krentel) > - man pages cleanups (Steve Kaufmann) > > Special thanks to Arun (Google). The Python bindings are a nice addition > to libpfm especially for prototyping and writing testsuites. > > Finally, a new major version of pfmon, now at pfmon-3.4. > Among the many changes: > - added support for dmalloc (Andrzej Nowak) > - updated support for Cell processor (Takashi Yamamoto) > - possibility to terminate pfmon cleanly with SIGTERM > - --follow-fork and derivatives fixed on Itanium and other platforms > - tracking of dlopen now works on mixed ABI environments > - lots of bugs fixes > > As usual all files and more detailed changelogs can be downloaded from our > website at: > > http://perfmon.sourceforge.net > > Enjoy, > ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2008-05-08 10:11 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <7c86c4470804291446l4693b317ha7ee2382d00e99e6@mail.gmail.com>
2008-04-29 21:47 ` 2.6.25 new perfmon kernel patch + libpfm + pfmon available stephane eranian
2008-04-29 15:08 ` Arjan van de Ven
2008-04-30 13:11 ` stephane eranian
2008-04-29 15:33 ` Arjan van de Ven
2008-04-30 13:51 ` stephane eranian
2008-04-29 16:42 ` Arjan van de Ven
2008-05-08 10:11 ` Robert Richter
2008-05-02 16:01 ` stephane eranian
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox