flush_tlb_page(vma, address); /* One for the process, one for the swap cache */ swap_duplicate(entry); add_to_swap_cache(page_map, entry); /* We checked we were unlocked way up above, and we have been careful not to stall until here */ set_bit(PG_locked, &page_map->flags); /* OK, do a physical asynchronous write to swap. */ rw_swap_page(WRITE, entry, (char *) page, 0); __free_page(page_map); return 1;