Re: [PATCH] reapswap for 2.4.5-ac10
From: Hugh Dickins <hidden>
Date: 2001-06-06 12:31:40
On Tue, 5 Jun 2001, Marcelo Tosatti wrote:
On Tue, 5 Jun 2001, Stephen C. Tweedie wrote:quoted
On Tue, Jun 05, 2001 at 04:48:46PM -0300, Marcelo Tosatti wrote:quoted
I'm resending the reapswap patch for inclusion into -ac series.Isn't it broken in this state? Checking page_count, page->buffers and PageSwapCache without the appropriate locks is dangerous.We hold the pagemap_lru_lock, so there will be no one doing lookups on this swap page (get_swapcache_page() locks pagemap_lru_lock). Am I overlooking something here?
mm/shmem.c:shmem_getpage_locked() and mm/swapfile.c:try_to_unuse() call delete_from_swap_cache_nolock(), both holding page lock, neither holding pagemap_lru_lock. Unless you hold the page lock, PageSwapCache(page) and page->index are volatile, but to find swap_count(page) you have to rely on both of them. TryLockPage()? Hugh -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/