OProfile SPU event profiling support for IBM Cell processor
cover OProfile SPU event profiling support for IBM Cell processor
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
Quoted 10 lines · Carl Love
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. =A0The first patch in the series is the user level patch that adds the needed events and event checking to the user tool. =A0The second patch is the first of two kernel patches. =A0It makes some structural changes to the kernel code to make it easier to add the specific functions for doing SPU event profiling. =A0The first kernel patch does not make any functional changes. =A0The 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 <><
Quoted 14 lines · Arnd Bergmann
Quoted 10 lines · Carl Love
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!
Quoted 7 lines
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