Messages in this thread | | | Date | Tue, 13 May 2003 16:16:07 -0700 | From | William Lee Irwin III <> | Subject | Re: Race between vmtruncate and mapped areas? |
| |
On Tuesday, May 13, 2003 15:49:29 -0700 William Lee Irwin III <wli@holomorphy.com> wrote: >> That doesn't sound like it's going to help, there isn't a unique >> mmap_sem to be taken and so we just get caught between acquisitions >> with the same problem.
On Tue, May 13, 2003 at 06:00:08PM -0500, Dave McCracken wrote: > Actually it does fix it. I added code in vmtruncate_list() to do a > down_write(&vma->vm_mm->mmap_sem) around the zap_page_range(), and the > problem went away. It serializes against any outstanding page faults on a > particular page table. New faults will see that the page is no longer in > the file and fail with SIGBUS. Andrew's test case stopped failing. > I've attached the patch so you can see what I did. > Can anyone think of any gotchas to this solution?
How many processes are you doing this with? If it's a small number can you try it with 1000 or so?
-- wli - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |