lkml.org 
[lkml]   [2007]   [Feb]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [Cbe-oss-dev] [RFC, PATCH] CELL Oprofile SPU profiling updated patch
I have applied the "cleanup" patch that Arnd sent, but had to fix up a 
few things:
- Bug fix: Initialize retval in spu_task_sync.c, line 95, otherwise
OProfile this function returns non-zero and OProfile fails.
- Remove unused codes in include/linux/oprofile.h
- Compile warnings: Initialize offset and spu_cookie at lines 283
and 284 in spu_task_sync.c

With these changes and some userspace changes that were necessary to
correspond with Arnd's changes, our testing was successful.

A fixup patch is attached.

P.S. We have a single patch with all these changes applied if anyone
would like us to post it.

-Maynard


Arnd Bergmann wrote:

>On Thursday 22 February 2007, Carl Love wrote:
>
>
>>This patch updates the existing arch/powerpc/oprofile/op_model_cell.c
>>to add in the SPU profiling capabilities. In addition, a 'cell' subdirectory
>>was added to arch/powerpc/oprofile to hold Cell-specific SPU profiling
>>code.
>>
>>
>
>There was a significant amount of whitespace breakage in this patch,
>which I cleaned up. The patch below consists of the other things
>I changed as a further cleanup. Note that I changed the format
>of the context switch record, which I found too complicated, as
>I described on IRC last week.
>
> Arnd <><
>
>
>

diff -paur linux-orig/arch/powerpc/oprofile/cell/spu_task_sync.c linux-new/arch/powerpc/oprofile/cell/spu_task_sync.c
--- linux-orig/arch/powerpc/oprofile/cell/spu_task_sync.c 2007-02-27 17:10:24.000000000 -0600
+++ linux-new/arch/powerpc/oprofile/cell/spu_task_sync.c 2007-02-27 17:08:57.000000000 -0600
@@ -92,7 +92,7 @@ prepare_cached_spu_info(struct spu * spu
{
unsigned long flags;
struct vma_to_fileoffset_map * new_map;
- int retval;
+ int retval = 0;
struct cached_info * info;

/* We won't bother getting cache_lock here since
@@ -280,8 +280,8 @@ static int process_context_switch(struct
{
unsigned long flags;
int retval;
- unsigned int offset;
- unsigned long spu_cookie, app_dcookie;
+ unsigned int offset = 0;
+ unsigned long spu_cookie = 0, app_dcookie;
retval = prepare_cached_spu_info(spu, objectId);
if (retval)
goto out;
diff -paur linux-orig/include/linux/oprofile.h linux-new/include/linux/oprofile.h
--- linux-orig/include/linux/oprofile.h 2007-02-27 14:41:29.000000000 -0600
+++ linux-new/include/linux/oprofile.h 2007-02-27 14:43:18.000000000 -0600
@@ -36,9 +36,6 @@
#define XEN_ENTER_SWITCH_CODE 10
#define SPU_PROFILING_CODE 11
#define SPU_CTX_SWITCH_CODE 12
-#define SPU_OFFSET_CODE 13
-#define SPU_COOKIE_CODE 14
-#define SPU_SHLIB_COOKIE_CODE 15

struct super_block;
struct dentry;
\
 
 \ /
  Last update: 2007-02-27 17:55    [W:0.073 / U:0.264 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site