Messages in this thread | | | Date | Tue, 22 Jun 1999 20:04:48 +0200 (CEST) | From | Ingo Molnar <> | Subject | Re: oops if free a locked page |
| |
On Tue, 22 Jun 1999, Andrea Arcangeli wrote:
> 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/
| |