Title: [8149] trunk/arch/blackfin/kernel/traps.c: Task [#5545], revise previous commit, avoid schedule in decode_address() as Sonic pointed out
- Revision
- 8149
- Author
- gyang
- Date
- 2010-01-13 03:09:27 -0500 (Wed, 13 Jan 2010)
Log Message
Task [#5545], revise previous commit, avoid schedule in decode_address() as Sonic pointed out
Modified Paths
Diff
Modified: trunk/arch/blackfin/kernel/traps.c (8148 => 8149)
--- trunk/arch/blackfin/kernel/traps.c 2010-01-13 06:09:34 UTC (rev 8148)
+++ trunk/arch/blackfin/kernel/traps.c 2010-01-13 08:09:27 UTC (rev 8149)
@@ -138,7 +138,9 @@
if (!mm)
continue;
- down_write(&mm->mmap_sem);
+ while (!down_read_trylock(&mm->mmap_sem))
+ barrier();
+
for (n = rb_first(&mm->mm_rb); n; n = rb_next(n)) {
struct vm_area_struct *vma;
@@ -184,11 +186,11 @@
if (buf[0] == '\0')
sprintf(buf, "[ %s ] dynamic memory", name);
- up_write(&mm->mmap_sem);
+ up_read(&mm->mmap_sem);
goto done;
}
}
- up_write(&mm->mmap_sem);
+ up_read(&mm->mmap_sem);
if (!in_atomic)
mmput(mm);
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits