Lines Matching refs:pcp
1081 struct per_cpu_pages *pcp) in free_pcppages_bulk() argument
1104 list = &pcp->lists[migratetype]; in free_pcppages_bulk()
1115 pcp->count--; in free_pcppages_bulk()
1131 if (prefetch_nr++ < pcp->batch) in free_pcppages_bulk()
2514 void drain_zone_pages(struct zone *zone, struct per_cpu_pages *pcp) in drain_zone_pages() argument
2520 batch = READ_ONCE(pcp->batch); in drain_zone_pages()
2521 to_drain = min(pcp->count, batch); in drain_zone_pages()
2523 free_pcppages_bulk(zone, to_drain, pcp); in drain_zone_pages()
2539 struct per_cpu_pages *pcp; in drain_pages_zone() local
2544 pcp = &pset->pcp; in drain_pages_zone()
2545 if (pcp->count) in drain_pages_zone()
2546 free_pcppages_bulk(zone, pcp->count, pcp); in drain_pages_zone()
2638 struct per_cpu_pageset *pcp; in drain_all_pages() local
2643 pcp = per_cpu_ptr(zone->pageset, cpu); in drain_all_pages()
2644 if (pcp->pcp.count) in drain_all_pages()
2648 pcp = per_cpu_ptr(z->pageset, cpu); in drain_all_pages()
2649 if (pcp->pcp.count) { in drain_all_pages()
2743 struct per_cpu_pages *pcp; in free_unref_page_commit() local
2764 pcp = &this_cpu_ptr(zone->pageset)->pcp; in free_unref_page_commit()
2765 list_add(&page->lru, &pcp->lists[migratetype]); in free_unref_page_commit()
2766 pcp->count++; in free_unref_page_commit()
2767 if (pcp->count >= pcp->high) { in free_unref_page_commit()
2768 unsigned long batch = READ_ONCE(pcp->batch); in free_unref_page_commit()
2769 free_pcppages_bulk(zone, batch, pcp); in free_unref_page_commit()
2926 struct per_cpu_pages *pcp, in __rmqueue_pcplist() argument
2933 pcp->count += rmqueue_bulk(zone, 0, in __rmqueue_pcplist()
2934 pcp->batch, list, in __rmqueue_pcplist()
2942 pcp->count--; in __rmqueue_pcplist()
2953 struct per_cpu_pages *pcp; in rmqueue_pcplist() local
2959 pcp = &this_cpu_ptr(zone->pageset)->pcp; in rmqueue_pcplist()
2960 list = &pcp->lists[migratetype]; in rmqueue_pcplist()
2961 page = __rmqueue_pcplist(zone, migratetype, pcp, list); in rmqueue_pcplist()
4865 free_pcp += per_cpu_ptr(zone->pageset, cpu)->pcp.count; in show_free_areas()
4951 free_pcp += per_cpu_ptr(zone->pageset, cpu)->pcp.count; in show_free_areas()
4994 K(this_cpu_read(zone->pageset->pcp.count)), in show_free_areas()
5621 static void pageset_update(struct per_cpu_pages *pcp, unsigned long high, in pageset_update() argument
5625 pcp->batch = 1; in pageset_update()
5629 pcp->high = high; in pageset_update()
5632 pcp->batch = batch; in pageset_update()
5638 pageset_update(&p->pcp, 6 * batch, max(1UL, 1 * batch)); in pageset_set_batch()
5643 struct per_cpu_pages *pcp; in pageset_init() local
5648 pcp = &p->pcp; in pageset_init()
5649 pcp->count = 0; in pageset_init()
5651 INIT_LIST_HEAD(&pcp->lists[migratetype]); in pageset_init()
5671 pageset_update(&p->pcp, high, batch); in pageset_set_high()
5675 struct per_cpu_pageset *pcp) in pageset_set_high_and_batch() argument
5678 pageset_set_high(pcp, in pageset_set_high_and_batch()
5682 pageset_set_batch(pcp, zone_batchsize(zone)); in pageset_set_high_and_batch()
5687 struct per_cpu_pageset *pcp = per_cpu_ptr(zone->pageset, cpu); in zone_pageset_init() local
5689 pageset_init(pcp); in zone_pageset_init()
5690 pageset_set_high_and_batch(zone, pcp); in zone_pageset_init()