]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - arch/powerpc/oprofile/cell/spu_task_sync.c
mm: use mm->exe_file instead of first VM_EXECUTABLE vma->vm_file
[karo-tx-linux.git] / arch / powerpc / oprofile / cell / spu_task_sync.c
index 642fca137ccb1489c593699b21115ed37c542883..28f1af2db1f564525dc374f3b7cf9eee0b5a1175 100644 (file)
@@ -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) {