Lines Matching refs:pstat

452 __page_stat__findnew_page(struct page_stat *pstat, bool create)  in __page_stat__findnew_page()  argument
464 cmp = data->page - pstat->page; in __page_stat__findnew_page()
478 data->page = pstat->page; in __page_stat__findnew_page()
479 data->order = pstat->order; in __page_stat__findnew_page()
480 data->gfp_flags = pstat->gfp_flags; in __page_stat__findnew_page()
481 data->migrate_type = pstat->migrate_type; in __page_stat__findnew_page()
490 static struct page_stat *page_stat__find_page(struct page_stat *pstat) in page_stat__find_page() argument
492 return __page_stat__findnew_page(pstat, false); in page_stat__find_page()
495 static struct page_stat *page_stat__findnew_page(struct page_stat *pstat) in page_stat__findnew_page() argument
497 return __page_stat__findnew_page(pstat, true); in page_stat__findnew_page()
501 __page_stat__findnew_alloc(struct page_stat *pstat, bool create) in __page_stat__findnew_alloc() argument
515 cmp = sort->cmp(pstat, data); in __page_stat__findnew_alloc()
533 data->page = pstat->page; in __page_stat__findnew_alloc()
534 data->order = pstat->order; in __page_stat__findnew_alloc()
535 data->gfp_flags = pstat->gfp_flags; in __page_stat__findnew_alloc()
536 data->migrate_type = pstat->migrate_type; in __page_stat__findnew_alloc()
545 static struct page_stat *page_stat__find_alloc(struct page_stat *pstat) in page_stat__find_alloc() argument
547 return __page_stat__findnew_alloc(pstat, false); in page_stat__find_alloc()
550 static struct page_stat *page_stat__findnew_alloc(struct page_stat *pstat) in page_stat__findnew_alloc() argument
552 return __page_stat__findnew_alloc(pstat, true); in page_stat__findnew_alloc()
556 __page_stat__findnew_caller(struct page_stat *pstat, bool create) in __page_stat__findnew_caller() argument
570 cmp = sort->cmp(pstat, data); in __page_stat__findnew_caller()
588 data->callsite = pstat->callsite; in __page_stat__findnew_caller()
589 data->order = pstat->order; in __page_stat__findnew_caller()
590 data->gfp_flags = pstat->gfp_flags; in __page_stat__findnew_caller()
591 data->migrate_type = pstat->migrate_type; in __page_stat__findnew_caller()
600 static struct page_stat *page_stat__find_caller(struct page_stat *pstat) in page_stat__find_caller() argument
602 return __page_stat__findnew_caller(pstat, false); in page_stat__find_caller()
605 static struct page_stat *page_stat__findnew_caller(struct page_stat *pstat) in page_stat__findnew_caller() argument
607 return __page_stat__findnew_caller(pstat, true); in page_stat__findnew_caller()
805 struct page_stat *pstat; in evsel__process_page_alloc_event() local
837 pstat = page_stat__findnew_page(&this); in evsel__process_page_alloc_event()
838 if (pstat == NULL) in evsel__process_page_alloc_event()
841 pstat->nr_alloc++; in evsel__process_page_alloc_event()
842 pstat->alloc_bytes += bytes; in evsel__process_page_alloc_event()
843 pstat->callsite = callsite; in evsel__process_page_alloc_event()
846 pstat = page_stat__findnew_alloc(&this); in evsel__process_page_alloc_event()
847 if (pstat == NULL) in evsel__process_page_alloc_event()
850 pstat->nr_alloc++; in evsel__process_page_alloc_event()
851 pstat->alloc_bytes += bytes; in evsel__process_page_alloc_event()
852 pstat->callsite = callsite; in evsel__process_page_alloc_event()
856 pstat = page_stat__findnew_caller(&this); in evsel__process_page_alloc_event()
857 if (pstat == NULL) in evsel__process_page_alloc_event()
860 pstat->nr_alloc++; in evsel__process_page_alloc_event()
861 pstat->alloc_bytes += bytes; in evsel__process_page_alloc_event()
873 struct page_stat *pstat; in evsel__process_page_free_event() local
887 pstat = page_stat__find_page(&this); in evsel__process_page_free_event()
888 if (pstat == NULL) { in evsel__process_page_free_event()
898 this.gfp_flags = pstat->gfp_flags; in evsel__process_page_free_event()
899 this.migrate_type = pstat->migrate_type; in evsel__process_page_free_event()
900 this.callsite = pstat->callsite; in evsel__process_page_free_event()
902 rb_erase(&pstat->node, &page_live_tree); in evsel__process_page_free_event()
903 free(pstat); in evsel__process_page_free_event()
908 pstat = page_stat__find_alloc(&this); in evsel__process_page_free_event()
909 if (pstat == NULL) in evsel__process_page_free_event()
912 pstat->nr_free++; in evsel__process_page_free_event()
913 pstat->free_bytes += bytes; in evsel__process_page_free_event()
916 pstat = page_stat__find_caller(&this); in evsel__process_page_free_event()
917 if (pstat == NULL) in evsel__process_page_free_event()
920 pstat->nr_free++; in evsel__process_page_free_event()
921 pstat->free_bytes += bytes; in evsel__process_page_free_event()
924 pstat->nr_alloc--; in evsel__process_page_free_event()
925 pstat->alloc_bytes -= bytes; in evsel__process_page_free_event()
927 if (pstat->nr_alloc == 0) { in evsel__process_page_free_event()
928 rb_erase(&pstat->node, &page_caller_tree); in evsel__process_page_free_event()
929 free(pstat); in evsel__process_page_free_event()