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, thp_size(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()
75 struct page *page = bio_first_page_all(bio); in end_swap_bio_read() local
79 SetPageError(page); in end_swap_bio_read()
80 ClearPageUptodate(page); in end_swap_bio_read()
87 SetPageUptodate(page); in end_swap_bio_read()
89 unlock_page(page); in end_swap_bio_read()
199 int swap_writepage(struct page *page, struct writeback_control *wbc) in swap_writepage() argument
203 if (try_to_free_swap(page)) { in swap_writepage()
204 unlock_page(page); in swap_writepage()
211 ret = arch_prepare_to_swap(page); in swap_writepage()
213 set_page_dirty(page); in swap_writepage()
214 unlock_page(page); in swap_writepage()
217 if (frontswap_store(page) == 0) { in swap_writepage()
218 set_page_writeback(page); in swap_writepage()
219 unlock_page(page); in swap_writepage()
220 end_page_writeback(page); in swap_writepage()
223 ret = __swap_writepage(page, wbc, end_swap_bio_write); in swap_writepage()
228 static inline void count_swpout_vm_event(struct page *page) in count_swpout_vm_event() argument
231 if (unlikely(PageTransHuge(page))) in count_swpout_vm_event()
234 count_vm_events(PSWPOUT, thp_nr_pages(page)); in count_swpout_vm_event()
238 static void bio_associate_blkg_from_page(struct bio *bio, struct page *page) in bio_associate_blkg_from_page() argument
242 if (!page->mem_cgroup) in bio_associate_blkg_from_page()
246 css = cgroup_e_css(page->mem_cgroup->css.cgroup, &io_cgrp_subsys); in bio_associate_blkg_from_page()
251 #define bio_associate_blkg_from_page(bio, page) do { } while (0) argument
254 int __swap_writepage(struct page *page, struct writeback_control *wbc, in __swap_writepage() argument
259 struct swap_info_struct *sis = page_swap_info(page); in __swap_writepage()
262 VM_BUG_ON_PAGE(!PageSwapCache(page), page); in __swap_writepage()
268 .bv_page = page, in __swap_writepage()
276 kiocb.ki_pos = page_file_offset(page); in __swap_writepage()
278 set_page_writeback(page); in __swap_writepage()
279 unlock_page(page); in __swap_writepage()
296 set_page_dirty(page); in __swap_writepage()
297 ClearPageReclaim(page); in __swap_writepage()
299 page_file_offset(page)); in __swap_writepage()
301 end_page_writeback(page); in __swap_writepage()
305 ret = bdev_write_page(sis->bdev, swap_page_sector(page), page, wbc); in __swap_writepage()
307 trace_android_vh_count_swpout_vm_event(sis, page, &skip); in __swap_writepage()
309 count_swpout_vm_event(page); in __swap_writepage()
313 bio = get_swap_bio(GFP_NOIO, page, end_write_func); in __swap_writepage()
315 set_page_dirty(page); in __swap_writepage()
316 unlock_page(page); in __swap_writepage()
320 bio_associate_blkg_from_page(bio, page); in __swap_writepage()
321 trace_android_vh_count_swpout_vm_event(sis, page, &skip); in __swap_writepage()
323 count_swpout_vm_event(page); in __swap_writepage()
324 set_page_writeback(page); in __swap_writepage()
325 unlock_page(page); in __swap_writepage()
331 int swap_readpage(struct page *page, bool synchronous) in swap_readpage() argument
335 struct swap_info_struct *sis = page_swap_info(page); in swap_readpage()
340 VM_BUG_ON_PAGE(!PageSwapCache(page) && !synchronous, page); in swap_readpage()
341 VM_BUG_ON_PAGE(!PageLocked(page), page); in swap_readpage()
342 VM_BUG_ON_PAGE(PageUptodate(page), page); in swap_readpage()
351 if (frontswap_load(page) == 0) { in swap_readpage()
352 SetPageUptodate(page); in swap_readpage()
353 unlock_page(page); in swap_readpage()
361 ret = mapping->a_ops->readpage(swap_file, page); in swap_readpage()
370 ret = bdev_read_page(sis->bdev, swap_page_sector(page), page); in swap_readpage()
379 bio = get_swap_bio(GFP_KERNEL, page, end_swap_bio_read); in swap_readpage()
381 unlock_page(page); in swap_readpage()
416 int swap_set_page_dirty(struct page *page) in swap_set_page_dirty() argument
418 struct swap_info_struct *sis = page_swap_info(page); in swap_set_page_dirty()
423 VM_BUG_ON_PAGE(!PageSwapCache(page), page); in swap_set_page_dirty()
424 return mapping->a_ops->set_page_dirty(page); in swap_set_page_dirty()
426 return __set_page_dirty_no_writeback(page); in swap_set_page_dirty()