lkml.org 
[lkml]   [2001]   [Jan]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: 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/

\
 
 \ /
  Last update: 2005-03-22 13:24    [W:0.049 / U:11.788 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site