Lines Matching refs:pstat

439 __page_stat__findnew_page(struct page_stat *pstat, bool create)
451 cmp = data->page - pstat->page;
465 data->page = pstat->page;
466 data->order = pstat->order;
467 data->gfp_flags = pstat->gfp_flags;
468 data->migrate_type = pstat->migrate_type;
477 static struct page_stat *page_stat__find_page(struct page_stat *pstat)
479 return __page_stat__findnew_page(pstat, false);
482 static struct page_stat *page_stat__findnew_page(struct page_stat *pstat)
484 return __page_stat__findnew_page(pstat, true);
488 __page_stat__findnew_alloc(struct page_stat *pstat, bool create)
502 cmp = sort->cmp(pstat, data);
520 data->page = pstat->page;
521 data->order = pstat->order;
522 data->gfp_flags = pstat->gfp_flags;
523 data->migrate_type = pstat->migrate_type;
532 static struct page_stat *page_stat__find_alloc(struct page_stat *pstat)
534 return __page_stat__findnew_alloc(pstat, false);
537 static struct page_stat *page_stat__findnew_alloc(struct page_stat *pstat)
539 return __page_stat__findnew_alloc(pstat, true);
543 __page_stat__findnew_caller(struct page_stat *pstat, bool create)
557 cmp = sort->cmp(pstat, data);
575 data->callsite = pstat->callsite;
576 data->order = pstat->order;
577 data->gfp_flags = pstat->gfp_flags;
578 data->migrate_type = pstat->migrate_type;
587 static struct page_stat *page_stat__find_caller(struct page_stat *pstat)
589 return __page_stat__findnew_caller(pstat, false);
592 static struct page_stat *page_stat__findnew_caller(struct page_stat *pstat)
594 return __page_stat__findnew_caller(pstat, true);
793 struct page_stat *pstat;
825 pstat = page_stat__findnew_page(&this);
826 if (pstat == NULL)
829 pstat->nr_alloc++;
830 pstat->alloc_bytes += bytes;
831 pstat->callsite = callsite;
834 pstat = page_stat__findnew_alloc(&this);
835 if (pstat == NULL)
838 pstat->nr_alloc++;
839 pstat->alloc_bytes += bytes;
840 pstat->callsite = callsite;
844 pstat = page_stat__findnew_caller(&this);
845 if (pstat == NULL)
848 pstat->nr_alloc++;
849 pstat->alloc_bytes += bytes;
861 struct page_stat *pstat;
875 pstat = page_stat__find_page(&this);
876 if (pstat == NULL) {
886 this.gfp_flags = pstat->gfp_flags;
887 this.migrate_type = pstat->migrate_type;
888 this.callsite = pstat->callsite;
890 rb_erase(&pstat->node, &page_live_tree);
891 free(pstat);
896 pstat = page_stat__find_alloc(&this);
897 if (pstat == NULL)
900 pstat->nr_free++;
901 pstat->free_bytes += bytes;
904 pstat = page_stat__find_caller(&this);
905 if (pstat == NULL)
908 pstat->nr_free++;
909 pstat->free_bytes += bytes;
912 pstat->nr_alloc--;
913 pstat->alloc_bytes -= bytes;
915 if (pstat->nr_alloc == 0) {
916 rb_erase(&pstat->node, &page_caller_tree);
917 free(pstat);