diff options
Diffstat (limited to 'arch/powerpc/oprofile/cell/spu_task_sync.c')
| -rw-r--r-- | arch/powerpc/oprofile/cell/spu_task_sync.c | 15 | 
1 files changed, 4 insertions, 11 deletions
diff --git a/arch/powerpc/oprofile/cell/spu_task_sync.c b/arch/powerpc/oprofile/cell/spu_task_sync.c index 642fca137cc..28f1af2db1f 100644 --- a/arch/powerpc/oprofile/cell/spu_task_sync.c +++ b/arch/powerpc/oprofile/cell/spu_task_sync.c @@ -304,7 +304,7 @@ static inline unsigned long fast_get_dcookie(struct path *path)  	return cookie;  } -/* Look up the dcookie for the task's first VM_EXECUTABLE mapping, +/* Look up the dcookie for the task's mm->exe_file,   * which corresponds loosely to "application name". Also, determine   * the offset for the SPU ELF object.  If computed offset is   * non-zero, it implies an embedded SPU object; otherwise, it's a @@ -321,7 +321,6 @@ get_exec_dcookie_and_offset(struct spu *spu, unsigned int *offsetp,  {  	unsigned long app_cookie = 0;  	unsigned int my_offset = 0; -	struct file *app = NULL;  	struct vm_area_struct *vma;  	struct mm_struct *mm = spu->mm; @@ -330,16 +329,10 @@ get_exec_dcookie_and_offset(struct spu *spu, unsigned int *offsetp,  	down_read(&mm->mmap_sem); -	for (vma = mm->mmap; vma; vma = vma->vm_next) { -		if (!vma->vm_file) -			continue; -		if (!(vma->vm_flags & VM_EXECUTABLE)) -			continue; -		app_cookie = fast_get_dcookie(&vma->vm_file->f_path); +	if (mm->exe_file) { +		app_cookie = fast_get_dcookie(&mm->exe_file->f_path);  		pr_debug("got dcookie for %s\n", -			 vma->vm_file->f_dentry->d_name.name); -		app = vma->vm_file; -		break; +			 mm->exe_file->f_dentry->d_name.name);  	}  	for (vma = mm->mmap; vma; vma = vma->vm_next) {  | 
