Lines Matching defs:pvec

48 /* Protecting only lru_rotate.pvec which requires disabling interrupts */
51 struct pagevec pvec;
206 static void pagevec_lru_move_fn(struct pagevec *pvec,
215 for (i = 0; i < pagevec_count(pvec); i++) {
216 struct page *page = pvec->pages[i];
231 release_pages(pvec->pages, pvec->nr);
232 pagevec_reinit(pvec);
252 static void pagevec_move_tail(struct pagevec *pvec)
256 pagevec_lru_move_fn(pvec, pagevec_move_tail_fn, &pgmoved);
269 struct pagevec *pvec;
274 pvec = this_cpu_ptr(&lru_rotate.pvec);
275 if (!pagevec_add(pvec, page) || PageCompound(page))
276 pagevec_move_tail(pvec);
346 struct pagevec *pvec = &per_cpu(lru_pvecs.activate_page, cpu);
348 if (pagevec_count(pvec))
349 pagevec_lru_move_fn(pvec, __activate_page, NULL);
361 struct pagevec *pvec;
364 pvec = this_cpu_ptr(&lru_pvecs.activate_page);
366 if (!pagevec_add(pvec, page) || PageCompound(page))
367 pagevec_lru_move_fn(pvec, __activate_page, NULL);
390 struct pagevec *pvec;
394 pvec = this_cpu_ptr(&lru_pvecs.lru_add);
406 for (i = pagevec_count(pvec) - 1; i >= 0; i--) {
407 struct page *pagevec_page = pvec->pages[i];
470 struct pagevec *pvec;
477 pvec = this_cpu_ptr(&lru_pvecs.lru_add);
478 if (!pagevec_add(pvec, page) || PageCompound(page))
479 __pagevec_lru_add(pvec);
633 struct pagevec *pvec = &per_cpu(lru_pvecs.lru_add, cpu);
635 if (pagevec_count(pvec))
636 __pagevec_lru_add(pvec);
638 pvec = &per_cpu(lru_rotate.pvec, cpu);
640 if (data_race(pagevec_count(pvec))) {
645 pagevec_move_tail(pvec);
649 pvec = &per_cpu(lru_pvecs.lru_deactivate_file, cpu);
650 if (pagevec_count(pvec))
651 pagevec_lru_move_fn(pvec, lru_deactivate_file_fn, NULL);
653 pvec = &per_cpu(lru_pvecs.lru_deactivate, cpu);
654 if (pagevec_count(pvec))
655 pagevec_lru_move_fn(pvec, lru_deactivate_fn, NULL);
657 pvec = &per_cpu(lru_pvecs.lru_lazyfree, cpu);
658 if (pagevec_count(pvec))
659 pagevec_lru_move_fn(pvec, lru_lazyfree_fn, NULL);
682 struct pagevec *pvec;
685 pvec = this_cpu_ptr(&lru_pvecs.lru_deactivate_file);
687 if (!pagevec_add(pvec, page) || PageCompound(page))
688 pagevec_lru_move_fn(pvec, lru_deactivate_file_fn, NULL);
704 struct pagevec *pvec;
707 pvec = this_cpu_ptr(&lru_pvecs.lru_deactivate);
709 if (!pagevec_add(pvec, page) || PageCompound(page))
710 pagevec_lru_move_fn(pvec, lru_deactivate_fn, NULL);
726 struct pagevec *pvec;
729 pvec = this_cpu_ptr(&lru_pvecs.lru_lazyfree);
731 if (!pagevec_add(pvec, page) || PageCompound(page))
732 pagevec_lru_move_fn(pvec, lru_lazyfree_fn, NULL);
844 data_race(pagevec_count(&per_cpu(lru_rotate.pvec, cpu))) ||
972 void __pagevec_release(struct pagevec *pvec)
974 if (!pvec->percpu_pvec_drained) {
976 pvec->percpu_pvec_drained = true;
978 release_pages(pvec->pages, pagevec_count(pvec));
979 pagevec_reinit(pvec);
1074 void __pagevec_lru_add(struct pagevec *pvec)
1076 pagevec_lru_move_fn(pvec, __pagevec_lru_add_fn, NULL);
1081 * @pvec: Where the resulting entries are placed
1085 * @indices: The cache indices corresponding to the entries in @pvec
1089 * entries are placed in @pvec. pagevec_lookup_entries() takes a
1090 * reference against actual pages in @pvec.
1103 unsigned pagevec_lookup_entries(struct pagevec *pvec,
1108 pvec->nr = find_get_entries(mapping, start, nr_entries,
1109 pvec->pages, indices);
1110 return pagevec_count(pvec);
1115 * @pvec: The pagevec to prune
1119 * exceptionals from @pvec without leaving holes, so that it can be
1122 void pagevec_remove_exceptionals(struct pagevec *pvec)
1126 for (i = 0, j = 0; i < pagevec_count(pvec); i++) {
1127 struct page *page = pvec->pages[i];
1129 pvec->pages[j++] = page;
1131 pvec->nr = j;
1136 * @pvec: Where the resulting pages are placed
1143 * (inclusive). The pages are placed in @pvec. pagevec_lookup() takes a
1144 * reference against the pages in @pvec.
1154 unsigned pagevec_lookup_range(struct pagevec *pvec,
1157 pvec->nr = find_get_pages_range(mapping, start, end, PAGEVEC_SIZE,
1158 pvec->pages);
1159 return pagevec_count(pvec);
1163 unsigned pagevec_lookup_range_tag(struct pagevec *pvec,
1167 pvec->nr = find_get_pages_range_tag(mapping, index, end, tag,
1168 PAGEVEC_SIZE, pvec->pages);
1169 return pagevec_count(pvec);
1173 unsigned pagevec_lookup_range_nr_tag(struct pagevec *pvec,
1177 pvec->nr = find_get_pages_range_tag(mapping, index, end, tag,
1178 min_t(unsigned int, max_pages, PAGEVEC_SIZE), pvec->pages);
1179 return pagevec_count(pvec);