Lines Matching refs:pstat
437 __page_stat__findnew_page(struct page_stat *pstat, bool create) in __page_stat__findnew_page() argument
449 cmp = data->page - pstat->page; in __page_stat__findnew_page()
463 data->page = pstat->page; in __page_stat__findnew_page()
464 data->order = pstat->order; in __page_stat__findnew_page()
465 data->gfp_flags = pstat->gfp_flags; in __page_stat__findnew_page()
466 data->migrate_type = pstat->migrate_type; in __page_stat__findnew_page()
475 static struct page_stat *page_stat__find_page(struct page_stat *pstat) in page_stat__find_page() argument
477 return __page_stat__findnew_page(pstat, false); in page_stat__find_page()
480 static struct page_stat *page_stat__findnew_page(struct page_stat *pstat) in page_stat__findnew_page() argument
482 return __page_stat__findnew_page(pstat, true); in page_stat__findnew_page()
486 __page_stat__findnew_alloc(struct page_stat *pstat, bool create) in __page_stat__findnew_alloc() argument
500 cmp = sort->cmp(pstat, data); in __page_stat__findnew_alloc()
518 data->page = pstat->page; in __page_stat__findnew_alloc()
519 data->order = pstat->order; in __page_stat__findnew_alloc()
520 data->gfp_flags = pstat->gfp_flags; in __page_stat__findnew_alloc()
521 data->migrate_type = pstat->migrate_type; in __page_stat__findnew_alloc()
530 static struct page_stat *page_stat__find_alloc(struct page_stat *pstat) in page_stat__find_alloc() argument
532 return __page_stat__findnew_alloc(pstat, false); in page_stat__find_alloc()
535 static struct page_stat *page_stat__findnew_alloc(struct page_stat *pstat) in page_stat__findnew_alloc() argument
537 return __page_stat__findnew_alloc(pstat, true); in page_stat__findnew_alloc()
541 __page_stat__findnew_caller(struct page_stat *pstat, bool create) in __page_stat__findnew_caller() argument
555 cmp = sort->cmp(pstat, data); in __page_stat__findnew_caller()
573 data->callsite = pstat->callsite; in __page_stat__findnew_caller()
574 data->order = pstat->order; in __page_stat__findnew_caller()
575 data->gfp_flags = pstat->gfp_flags; in __page_stat__findnew_caller()
576 data->migrate_type = pstat->migrate_type; in __page_stat__findnew_caller()
585 static struct page_stat *page_stat__find_caller(struct page_stat *pstat) in page_stat__find_caller() argument
587 return __page_stat__findnew_caller(pstat, false); in page_stat__find_caller()
590 static struct page_stat *page_stat__findnew_caller(struct page_stat *pstat) in page_stat__findnew_caller() argument
592 return __page_stat__findnew_caller(pstat, true); in page_stat__findnew_caller()
790 struct page_stat *pstat; in perf_evsel__process_page_alloc_event() local
822 pstat = page_stat__findnew_page(&this); in perf_evsel__process_page_alloc_event()
823 if (pstat == NULL) in perf_evsel__process_page_alloc_event()
826 pstat->nr_alloc++; in perf_evsel__process_page_alloc_event()
827 pstat->alloc_bytes += bytes; in perf_evsel__process_page_alloc_event()
828 pstat->callsite = callsite; in perf_evsel__process_page_alloc_event()
831 pstat = page_stat__findnew_alloc(&this); in perf_evsel__process_page_alloc_event()
832 if (pstat == NULL) in perf_evsel__process_page_alloc_event()
835 pstat->nr_alloc++; in perf_evsel__process_page_alloc_event()
836 pstat->alloc_bytes += bytes; in perf_evsel__process_page_alloc_event()
837 pstat->callsite = callsite; in perf_evsel__process_page_alloc_event()
841 pstat = page_stat__findnew_caller(&this); in perf_evsel__process_page_alloc_event()
842 if (pstat == NULL) in perf_evsel__process_page_alloc_event()
845 pstat->nr_alloc++; in perf_evsel__process_page_alloc_event()
846 pstat->alloc_bytes += bytes; in perf_evsel__process_page_alloc_event()
859 struct page_stat *pstat; in perf_evsel__process_page_free_event() local
873 pstat = page_stat__find_page(&this); in perf_evsel__process_page_free_event()
874 if (pstat == NULL) { in perf_evsel__process_page_free_event()
884 this.gfp_flags = pstat->gfp_flags; in perf_evsel__process_page_free_event()
885 this.migrate_type = pstat->migrate_type; in perf_evsel__process_page_free_event()
886 this.callsite = pstat->callsite; in perf_evsel__process_page_free_event()
888 rb_erase(&pstat->node, &page_live_tree); in perf_evsel__process_page_free_event()
889 free(pstat); in perf_evsel__process_page_free_event()
894 pstat = page_stat__find_alloc(&this); in perf_evsel__process_page_free_event()
895 if (pstat == NULL) in perf_evsel__process_page_free_event()
898 pstat->nr_free++; in perf_evsel__process_page_free_event()
899 pstat->free_bytes += bytes; in perf_evsel__process_page_free_event()
902 pstat = page_stat__find_caller(&this); in perf_evsel__process_page_free_event()
903 if (pstat == NULL) in perf_evsel__process_page_free_event()
906 pstat->nr_free++; in perf_evsel__process_page_free_event()
907 pstat->free_bytes += bytes; in perf_evsel__process_page_free_event()
910 pstat->nr_alloc--; in perf_evsel__process_page_free_event()
911 pstat->alloc_bytes -= bytes; in perf_evsel__process_page_free_event()
913 if (pstat->nr_alloc == 0) { in perf_evsel__process_page_free_event()
914 rb_erase(&pstat->node, &page_caller_tree); in perf_evsel__process_page_free_event()
915 free(pstat); in perf_evsel__process_page_free_event()