Lines Matching refs:pstat
421 __page_stat__findnew_page(struct page_stat *pstat, bool create) in __page_stat__findnew_page() argument
433 cmp = data->page - pstat->page; in __page_stat__findnew_page()
447 data->page = pstat->page; in __page_stat__findnew_page()
448 data->order = pstat->order; in __page_stat__findnew_page()
449 data->gfp_flags = pstat->gfp_flags; in __page_stat__findnew_page()
450 data->migrate_type = pstat->migrate_type; in __page_stat__findnew_page()
459 static struct page_stat *page_stat__find_page(struct page_stat *pstat) in page_stat__find_page() argument
461 return __page_stat__findnew_page(pstat, false); in page_stat__find_page()
464 static struct page_stat *page_stat__findnew_page(struct page_stat *pstat) in page_stat__findnew_page() argument
466 return __page_stat__findnew_page(pstat, true); in page_stat__findnew_page()
470 __page_stat__findnew_alloc(struct page_stat *pstat, bool create) in __page_stat__findnew_alloc() argument
484 cmp = sort->cmp(pstat, data); in __page_stat__findnew_alloc()
502 data->page = pstat->page; in __page_stat__findnew_alloc()
503 data->order = pstat->order; in __page_stat__findnew_alloc()
504 data->gfp_flags = pstat->gfp_flags; in __page_stat__findnew_alloc()
505 data->migrate_type = pstat->migrate_type; in __page_stat__findnew_alloc()
514 static struct page_stat *page_stat__find_alloc(struct page_stat *pstat) in page_stat__find_alloc() argument
516 return __page_stat__findnew_alloc(pstat, false); in page_stat__find_alloc()
519 static struct page_stat *page_stat__findnew_alloc(struct page_stat *pstat) in page_stat__findnew_alloc() argument
521 return __page_stat__findnew_alloc(pstat, true); in page_stat__findnew_alloc()
525 __page_stat__findnew_caller(struct page_stat *pstat, bool create) in __page_stat__findnew_caller() argument
539 cmp = sort->cmp(pstat, data); in __page_stat__findnew_caller()
557 data->callsite = pstat->callsite; in __page_stat__findnew_caller()
558 data->order = pstat->order; in __page_stat__findnew_caller()
559 data->gfp_flags = pstat->gfp_flags; in __page_stat__findnew_caller()
560 data->migrate_type = pstat->migrate_type; in __page_stat__findnew_caller()
569 static struct page_stat *page_stat__find_caller(struct page_stat *pstat) in page_stat__find_caller() argument
571 return __page_stat__findnew_caller(pstat, false); in page_stat__find_caller()
574 static struct page_stat *page_stat__findnew_caller(struct page_stat *pstat) in page_stat__findnew_caller() argument
576 return __page_stat__findnew_caller(pstat, true); in page_stat__findnew_caller()
768 struct page_stat *pstat; in perf_evsel__process_page_alloc_event() local
800 pstat = page_stat__findnew_page(&this); in perf_evsel__process_page_alloc_event()
801 if (pstat == NULL) in perf_evsel__process_page_alloc_event()
804 pstat->nr_alloc++; in perf_evsel__process_page_alloc_event()
805 pstat->alloc_bytes += bytes; in perf_evsel__process_page_alloc_event()
806 pstat->callsite = callsite; in perf_evsel__process_page_alloc_event()
809 pstat = page_stat__findnew_alloc(&this); in perf_evsel__process_page_alloc_event()
810 if (pstat == NULL) in perf_evsel__process_page_alloc_event()
813 pstat->nr_alloc++; in perf_evsel__process_page_alloc_event()
814 pstat->alloc_bytes += bytes; in perf_evsel__process_page_alloc_event()
815 pstat->callsite = callsite; in perf_evsel__process_page_alloc_event()
819 pstat = page_stat__findnew_caller(&this); in perf_evsel__process_page_alloc_event()
820 if (pstat == NULL) in perf_evsel__process_page_alloc_event()
823 pstat->nr_alloc++; in perf_evsel__process_page_alloc_event()
824 pstat->alloc_bytes += bytes; in perf_evsel__process_page_alloc_event()
837 struct page_stat *pstat; in perf_evsel__process_page_free_event() local
851 pstat = page_stat__find_page(&this); in perf_evsel__process_page_free_event()
852 if (pstat == NULL) { in perf_evsel__process_page_free_event()
862 this.gfp_flags = pstat->gfp_flags; in perf_evsel__process_page_free_event()
863 this.migrate_type = pstat->migrate_type; in perf_evsel__process_page_free_event()
864 this.callsite = pstat->callsite; in perf_evsel__process_page_free_event()
866 rb_erase(&pstat->node, &page_live_tree); in perf_evsel__process_page_free_event()
867 free(pstat); in perf_evsel__process_page_free_event()
872 pstat = page_stat__find_alloc(&this); in perf_evsel__process_page_free_event()
873 if (pstat == NULL) in perf_evsel__process_page_free_event()
876 pstat->nr_free++; in perf_evsel__process_page_free_event()
877 pstat->free_bytes += bytes; in perf_evsel__process_page_free_event()
880 pstat = page_stat__find_caller(&this); in perf_evsel__process_page_free_event()
881 if (pstat == NULL) in perf_evsel__process_page_free_event()
884 pstat->nr_free++; in perf_evsel__process_page_free_event()
885 pstat->free_bytes += bytes; in perf_evsel__process_page_free_event()
888 pstat->nr_alloc--; in perf_evsel__process_page_free_event()
889 pstat->alloc_bytes -= bytes; in perf_evsel__process_page_free_event()
891 if (pstat->nr_alloc == 0) { in perf_evsel__process_page_free_event()
892 rb_erase(&pstat->node, &page_caller_tree); in perf_evsel__process_page_free_event()
893 free(pstat); in perf_evsel__process_page_free_event()