> On Tue, 22 Jun 1999, Ingo Molnar wrote:
>
> >calling __free_page() with a locked page is fine though - but it must not
> >be the 'final' free.
>
> In some SMP-threaded envinronment you can't know if it is the `final'
> free.
i made this mistake as well - until Linus pointed out the fact that
pagecache get_page()/put_page() are naturally synchronized by the
pagecache spinlock and the combination of page->inode. Buffer-cache pages
are synchronized by the kernel lock and the existence of page->buffers.
[or whatever native buffer-cache lock there is]
normal 'free floating' pages might indeed go away unexpectedly, but
shrink_mmap() should not deal with such pages .. unless you do something
unusual.
-- mingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/