Prev: [BUG] rmap: fix page_address_in_vma() to walk through anon_vma_chain
Next: proc: fix badness in fs/proc/generic.c
From: Naoya Horiguchi on 22 Apr 2010 02:10 > mmap_sem page_table_lock > mm/ksm.c: > write_protect_page() hold not hold > replace_page() hold not hold > mm/memory-failure.c: > add_to_kill() not hold hold ^^^^ Sorry, I misread here. This is "not hold". Thanks, Naoya Horiguchi -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Naoya Horiguchi on 22 Apr 2010 22:20
> However, for anonymous pages, page_address_in_vma only > ever determined whether the page _could_ be part of the > VMA, never whether it actually was. > > The function page_address_in_vma has always given > false positives, which means all of the callers already > check that the page is actually part of the process. I see. > This means we may be able to get away with not verifying > the anon_vma at all. After all, verifying that the VMA > has the anon_vma mapped does not mean the VMA has this > page... > > Doing away with that check gets rid of your locking > conundrum :) I get it, thank you :) I'll rewrite fix patch based on your comments. Thanks, Naoya Horiguchi -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |