Lines Matching refs:lruvec

83 		struct lruvec *lruvec;  in __page_cache_release()  local
86 lruvec = lock_page_lruvec_irqsave(page, &flags); in __page_cache_release()
87 del_page_from_lru_list(page, lruvec); in __page_cache_release()
89 unlock_page_lruvec_irqrestore(lruvec, flags); in __page_cache_release()
183 void (*move_fn)(struct page *page, struct lruvec *lruvec)) in pagevec_lru_move_fn() argument
186 struct lruvec *lruvec = NULL; in pagevec_lru_move_fn() local
196 lruvec = relock_page_lruvec_irqsave(page, lruvec, &flags); in pagevec_lru_move_fn()
197 (*move_fn)(page, lruvec); in pagevec_lru_move_fn()
201 if (lruvec) in pagevec_lru_move_fn()
202 unlock_page_lruvec_irqrestore(lruvec, flags); in pagevec_lru_move_fn()
207 static void pagevec_move_tail_fn(struct page *page, struct lruvec *lruvec) in pagevec_move_tail_fn() argument
210 del_page_from_lru_list(page, lruvec); in pagevec_move_tail_fn()
212 add_page_to_lru_list_tail(page, lruvec); in pagevec_move_tail_fn()
252 void lru_note_cost(struct lruvec *lruvec, bool file, unsigned int nr_pages) in lru_note_cost() argument
264 spin_lock_irq(&lruvec->lru_lock); in lru_note_cost()
267 lruvec->file_cost += nr_pages; in lru_note_cost()
269 lruvec->anon_cost += nr_pages; in lru_note_cost()
279 lrusize = lruvec_page_state(lruvec, NR_INACTIVE_ANON) + in lru_note_cost()
280 lruvec_page_state(lruvec, NR_ACTIVE_ANON) + in lru_note_cost()
281 lruvec_page_state(lruvec, NR_INACTIVE_FILE) + in lru_note_cost()
282 lruvec_page_state(lruvec, NR_ACTIVE_FILE); in lru_note_cost()
284 if (lruvec->file_cost + lruvec->anon_cost > lrusize / 4) { in lru_note_cost()
285 lruvec->file_cost /= 2; in lru_note_cost()
286 lruvec->anon_cost /= 2; in lru_note_cost()
288 spin_unlock_irq(&lruvec->lru_lock); in lru_note_cost()
289 } while ((lruvec = parent_lruvec(lruvec))); in lru_note_cost()
298 static void __activate_page(struct page *page, struct lruvec *lruvec) in __activate_page() argument
303 del_page_from_lru_list(page, lruvec); in __activate_page()
305 add_page_to_lru_list(page, lruvec); in __activate_page()
309 __count_memcg_events(lruvec_memcg(lruvec), PGACTIVATE, in __activate_page()
350 struct lruvec *lruvec; in activate_page() local
354 lruvec = lock_page_lruvec_irq(page); in activate_page()
355 __activate_page(page, lruvec); in activate_page()
356 unlock_page_lruvec_irq(lruvec); in activate_page()
508 static void lru_deactivate_file_fn(struct page *page, struct lruvec *lruvec) in lru_deactivate_file_fn() argument
520 del_page_from_lru_list(page, lruvec); in lru_deactivate_file_fn()
530 add_page_to_lru_list(page, lruvec); in lru_deactivate_file_fn()
537 add_page_to_lru_list_tail(page, lruvec); in lru_deactivate_file_fn()
543 __count_memcg_events(lruvec_memcg(lruvec), PGDEACTIVATE, in lru_deactivate_file_fn()
548 static void lru_deactivate_fn(struct page *page, struct lruvec *lruvec) in lru_deactivate_fn() argument
553 del_page_from_lru_list(page, lruvec); in lru_deactivate_fn()
556 add_page_to_lru_list(page, lruvec); in lru_deactivate_fn()
559 __count_memcg_events(lruvec_memcg(lruvec), PGDEACTIVATE, in lru_deactivate_fn()
564 static void lru_lazyfree_fn(struct page *page, struct lruvec *lruvec) in lru_lazyfree_fn() argument
570 del_page_from_lru_list(page, lruvec); in lru_lazyfree_fn()
579 add_page_to_lru_list(page, lruvec); in lru_lazyfree_fn()
582 __count_memcg_events(lruvec_memcg(lruvec), PGLAZYFREE, in lru_lazyfree_fn()
890 struct lruvec *lruvec = NULL; in release_pages() local
902 if (lruvec && ++lock_batch == SWAP_CLUSTER_MAX) { in release_pages()
903 unlock_page_lruvec_irqrestore(lruvec, flags); in release_pages()
904 lruvec = NULL; in release_pages()
912 if (lruvec) { in release_pages()
913 unlock_page_lruvec_irqrestore(lruvec, flags); in release_pages()
914 lruvec = NULL; in release_pages()
935 if (lruvec) { in release_pages()
936 unlock_page_lruvec_irqrestore(lruvec, flags); in release_pages()
937 lruvec = NULL; in release_pages()
944 struct lruvec *prev_lruvec = lruvec; in release_pages()
946 lruvec = relock_page_lruvec_irqsave(page, lruvec, in release_pages()
948 if (prev_lruvec != lruvec) in release_pages()
951 del_page_from_lru_list(page, lruvec); in release_pages()
959 if (lruvec) in release_pages()
960 unlock_page_lruvec_irqrestore(lruvec, flags); in release_pages()
988 static void __pagevec_lru_add_fn(struct page *page, struct lruvec *lruvec) in __pagevec_lru_add_fn() argument
1034 add_page_to_lru_list(page, lruvec); in __pagevec_lru_add_fn()
1045 struct lruvec *lruvec = NULL; in __pagevec_lru_add() local
1051 lruvec = relock_page_lruvec_irqsave(page, lruvec, &flags); in __pagevec_lru_add()
1052 __pagevec_lru_add_fn(page, lruvec); in __pagevec_lru_add()
1054 if (lruvec) in __pagevec_lru_add()
1055 unlock_page_lruvec_irqrestore(lruvec, flags); in __pagevec_lru_add()