Hi,

Here are a few more Perfmon/Cell patches. The first few are simple cleanups in 
the Cell code (and a few things in other areas). The 5th patch is the long 
overdue Cell hardware-sampling module. A lot of that code may not be easy to 
folllow unless you're familiar with the Cell PMU, so please ask questions if 
something isn't obvious.

The 6th and 7th patches are versions of the patches posted by Takaki Azuma 
last week that I made some modifications to. Azuma-san, these address some of 
the questions I posted in the last few days. Please review those two patches 
and let me know if you agree with the changes, or if there's something I may 
have left out. I believe the overall functionality should be equivalent to 
what you posted last week.

All patches are against Stephane's new GIT tree.


1/7:
Simple whitespace and comment cleanups.


2/7:
The handle_trace_buffer_interrupts() routine does not need the ctx_arch
argument.


3/7:
This switch statement in perfmon/perfmon.c doesn't seem to have any effect,
so we should be be able to remove it.


4/7:
Add macros for the bit-fields in the pm_status register.


5/7:
Add the Cell hardware-sampling module.

The Cell PMU provides a hardware buffer that can store up to 1024 128-bit
samples. There are several possible data formats for each sample, based on
the type of sampling the user selects. These include several types of counter-
based sampling modes, a few address tracing modes, and a thermal data mode.

All of these sampling modes are based on a hardware timer. However, this does
not fit well into the general Perfmon design for the sampling-format modules,
which is to collect samples based on counter overflows. Therefore, some of
the sample collection code is "duplicated" in order to deal with the
restrictions imposed by the Cell PMU. In order to do this, the
pfm_mask_monitoring() and pfm_get_new_msg() routines in the Perfmon core code
had to be exported so this module could call them.


6/7:
Add register definitions to the Cell MMIO register structures that are needed
by the Cell signal-routing patch.

This is a modification of the patch posted on the cbe-oss-dev mailing list
by Takaki Azuma ([EMAIL PROTECTED]) and Takayuki Uchikawa
([EMAIL PROTECTED]). Only the registers that are used by the
new Perfmon/Cell code are included in this version.


7/7:
Add in-kernel debug-bus signal routing for Cell systems that do not include
firmware with the "ibm,cbe-perftools" RTAS call. This code only handles two
signal-groups: PPU Instruction Unit (Group 1) and PPU Execution Unit.

This is a modification of the patches posted by Takaki Azuma
([EMAIL PROTECTED]) and Takayuki Uchikawa
([EMAIL PROTECTED]). The code from perfmon_cell_signals.c
and perfmon_cell_signals.h has been merged into perfmon_cell.c. Having the
multiple files causes headaches with the kernel build when perfmon_cell is
configured as a module. The additional code is only about 300 lines, so I
think it's reasonable to include it in the same file as the existing code.
Other minor changes and bug-fixes were also made.

Thanks,
-- 
Kevin Corry
[EMAIL PROTECTED]
http://www.ibm.com/linux/
_______________________________________________
perfmon mailing list
[email protected]
http://www.hpl.hp.com/hosted/linux/mail-archives/perfmon/

Reply via email to