Lines Matching refs:page
31 struct page *page, bio_end_io_t end_io) in get_swap_bio() argument
39 bio->bi_iter.bi_sector = map_swap_page(page, &bdev); in get_swap_bio()
44 bio_add_page(bio, page, PAGE_SIZE * hpage_nr_pages(page), 0); in get_swap_bio()
51 struct page *page = bio_first_page_all(bio); in end_swap_bio_write() local
54 SetPageError(page); in end_swap_bio_write()
63 set_page_dirty(page); in end_swap_bio_write()
67 ClearPageReclaim(page); in end_swap_bio_write()
69 end_page_writeback(page); in end_swap_bio_write()
73 static void swap_slot_free_notify(struct page *page) in swap_slot_free_notify() argument
85 if (unlikely(!PageSwapCache(page))) in swap_slot_free_notify()
88 sis = page_swap_info(page); in swap_slot_free_notify()
109 entry.val = page_private(page); in swap_slot_free_notify()
115 SetPageDirty(page); in swap_slot_free_notify()
123 struct page *page = bio_first_page_all(bio); in end_swap_bio_read() local
127 SetPageError(page); in end_swap_bio_read()
128 ClearPageUptodate(page); in end_swap_bio_read()
135 SetPageUptodate(page); in end_swap_bio_read()
136 swap_slot_free_notify(page); in end_swap_bio_read()
138 unlock_page(page); in end_swap_bio_read()
245 int swap_writepage(struct page *page, struct writeback_control *wbc) in swap_writepage() argument
249 if (try_to_free_swap(page)) { in swap_writepage()
250 unlock_page(page); in swap_writepage()
253 if (frontswap_store(page) == 0) { in swap_writepage()
254 set_page_writeback(page); in swap_writepage()
255 unlock_page(page); in swap_writepage()
256 end_page_writeback(page); in swap_writepage()
259 ret = __swap_writepage(page, wbc, end_swap_bio_write); in swap_writepage()
264 static sector_t swap_page_sector(struct page *page) in swap_page_sector() argument
266 return (sector_t)__page_file_index(page) << (PAGE_SHIFT - 9); in swap_page_sector()
269 static inline void count_swpout_vm_event(struct page *page) in count_swpout_vm_event() argument
272 if (unlikely(PageTransHuge(page))) in count_swpout_vm_event()
275 count_vm_events(PSWPOUT, hpage_nr_pages(page)); in count_swpout_vm_event()
278 int __swap_writepage(struct page *page, struct writeback_control *wbc, in __swap_writepage() argument
283 struct swap_info_struct *sis = page_swap_info(page); in __swap_writepage()
285 VM_BUG_ON_PAGE(!PageSwapCache(page), page); in __swap_writepage()
291 .bv_page = page, in __swap_writepage()
299 kiocb.ki_pos = page_file_offset(page); in __swap_writepage()
301 set_page_writeback(page); in __swap_writepage()
302 unlock_page(page); in __swap_writepage()
318 set_page_dirty(page); in __swap_writepage()
319 ClearPageReclaim(page); in __swap_writepage()
321 page_file_offset(page)); in __swap_writepage()
323 end_page_writeback(page); in __swap_writepage()
327 ret = bdev_write_page(sis->bdev, swap_page_sector(page), page, wbc); in __swap_writepage()
329 count_swpout_vm_event(page); in __swap_writepage()
334 bio = get_swap_bio(GFP_NOIO, page, end_write_func); in __swap_writepage()
336 set_page_dirty(page); in __swap_writepage()
337 unlock_page(page); in __swap_writepage()
342 bio_associate_blkg_from_page(bio, page); in __swap_writepage()
343 count_swpout_vm_event(page); in __swap_writepage()
344 set_page_writeback(page); in __swap_writepage()
345 unlock_page(page); in __swap_writepage()
351 int swap_readpage(struct page *page, bool synchronous) in swap_readpage() argument
355 struct swap_info_struct *sis = page_swap_info(page); in swap_readpage()
360 VM_BUG_ON_PAGE(!PageSwapCache(page) && !synchronous, page); in swap_readpage()
361 VM_BUG_ON_PAGE(!PageLocked(page), page); in swap_readpage()
362 VM_BUG_ON_PAGE(PageUptodate(page), page); in swap_readpage()
371 if (frontswap_load(page) == 0) { in swap_readpage()
372 SetPageUptodate(page); in swap_readpage()
373 unlock_page(page); in swap_readpage()
381 ret = mapping->a_ops->readpage(swap_file, page); in swap_readpage()
387 ret = bdev_read_page(sis->bdev, swap_page_sector(page), page); in swap_readpage()
389 if (trylock_page(page)) { in swap_readpage()
390 swap_slot_free_notify(page); in swap_readpage()
391 unlock_page(page); in swap_readpage()
399 bio = get_swap_bio(GFP_KERNEL, page, end_swap_bio_read); in swap_readpage()
401 unlock_page(page); in swap_readpage()
435 int swap_set_page_dirty(struct page *page) in swap_set_page_dirty() argument
437 struct swap_info_struct *sis = page_swap_info(page); in swap_set_page_dirty()
442 VM_BUG_ON_PAGE(!PageSwapCache(page), page); in swap_set_page_dirty()
443 return mapping->a_ops->set_page_dirty(page); in swap_set_page_dirty()
445 return __set_page_dirty_no_writeback(page); in swap_set_page_dirty()