Messages in this thread | | | Date | Wed, 17 Jan 2001 14:57:26 -0500 | From | Chris Mason <> | Subject | Re: set_page_dirty/page_launder deadlock |
| |
On Sunday, January 14, 2001 10:56:10 AM -0800 Linus Torvalds <torvalds@transmeta.com> wrote:
>> Marcelo Tosatti writes: >> > >> > While taking a look at page_launder()... >> >> ... >> >> > set_page_dirty() may lock the pagecache_lock which means potential >> > deadlock since we have the pagemap_lru_lock locked. >> > > Well, as the new shm code doesn't return 1 any more, the whole locked page > handling should just be deleted. ramfs always just re-marked the page > dirty in its own "writepage()" function, so it was only shmfs that ever > returned this special case, and because of other issues it already got > excised by Christoph.. >
Then I'm confused by the code in 2.4.1pre8:
-chris
/* * Move the page from the page cache to the swap cache */ static int shmem_writepage(struct page * page) { int error; struct shmem_inode_info *info; swp_entry_t *entry, swap;
info = &page->mapping->host->u.shmem_i; if (info->locked) return 1; swap = __get_swap_page(2); if (!swap.val) return 1;
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
| |