This patch set consists of two kernel patches and one user level patch
to add SPU event based profiling support to OProfile for the IBM Cell
processor. The first patch in the series is the user level patch that
adds the needed events and event checking to the user tool. The second
patch is the first of two kernel patches. It makes some structural
changes to the kernel code to make it easier to add the specific
functions for doing SPU event profiling. The first kernel patch does
not make any functional changes. The third patch in the series is the
second kernel patch where the actual SPU event profiling code support is
added to the kernel.
Carl Love
On Tuesday 25 November 2008, Carl Love wrote:
> This patch set consists of two kernel patches and one user level patch
> to add SPU event based profiling support to OProfile for the IBM Cell
> processor. ?The first patch in the series is the user level patch that
> adds the needed events and event checking to the user tool. ?The second
> patch is the first of two kernel patches. ?It makes some structural
> changes to the kernel code to make it easier to add the specific
> functions for doing SPU event profiling. ?The first kernel patch does
> not make any functional changes. ?The third patch in the series is the
> second kernel patch where the actual SPU event profiling code support is
> added to the kernel.
Thanks for your submission!
I can't comment on the oprofile user code, but I have some comments
on the implementation in the third patch.
Are the patches interdependent, or will old versions of the oprofile
tool work with new kernels and vice versa?
Arnd <><
On Tue, 2008-11-25 at 17:00 +0100, Arnd Bergmann wrote:
> On Tuesday 25 November 2008, Carl Love wrote:
> > This patch set consists of two kernel patches and one user level patch
> > to add SPU event based profiling support to OProfile for the IBM Cell
> > processor. The first patch in the series is the user level patch that
> > adds the needed events and event checking to the user tool. The second
> > patch is the first of two kernel patches. It makes some structural
> > changes to the kernel code to make it easier to add the specific
> > functions for doing SPU event profiling. The first kernel patch does
> > not make any functional changes. The third patch in the series is the
> > second kernel patch where the actual SPU event profiling code support is
> > added to the kernel.
>
> Thanks for your submission!
>
> I can't comment on the oprofile user code, but I have some comments
> on the implementation in the third patch.
>
> Are the patches interdependent, or will old versions of the oprofile
> tool work with new kernels and vice versa?
>
> Arnd <><
There are two cases:1) new kernel code and old user tool. This works
fine, user is not able to do SPU events as the user code doesn't support
them. Case 2) old kernel code and new user tool. I realized that I
hadn't tested this case. So, I just did. What happens is the event
counters get setup for the SPU event but the kernel code treats it as if
it is a PPU event. OProfile runs, you get a report for the PPU
processors listing the SPU event as the PPU event used. Unfortunately,
the report is all garbage and not obvious to the naive user that it is
garbage. Looks like we will need to put a check into the user code to
make sure it does not try to do SPU event profiling if the kernel
doesn't support it. Argh!
Carl Love