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