On Friday, October 28, 2016 1:56 PM Huang, Ying wrote: > > @@ -109,9 +118,16 @@ int __add_to_swap_cache(struct page *page, swp_entry_t entry) > * So add_to_swap_cache() doesn't returns -EEXIST. > */ > VM_BUG_ON(error == -EEXIST); > - set_page_private(page, 0UL); > ClearPageSwapCache(page); > - put_page(page); > + set_page_private(cur_page, 0UL); > + while (i--) { > + cur_page--; > + cur_entry.val--; > + set_page_private(cur_page, 0UL); > + radix_tree_delete(&address_space->page_tree, > + swp_offset(cur_entry)); > + } Pull pages out of radix tree with tree lock held? > + page_ref_sub(page, nr); > } > > return error; > -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>