Lines Matching refs:pg

540 	struct ftrace_profile_page *pg;  in function_stat_next()  local
542 pg = (struct ftrace_profile_page *)((unsigned long)rec & PAGE_MASK); in function_stat_next()
548 if ((void *)rec >= (void *)&pg->records[pg->index]) { in function_stat_next()
549 pg = pg->next; in function_stat_next()
550 if (!pg) in function_stat_next()
552 rec = &pg->records[0]; in function_stat_next()
676 struct ftrace_profile_page *pg; in ftrace_profile_reset() local
678 pg = stat->pages = stat->start; in ftrace_profile_reset()
680 while (pg) { in ftrace_profile_reset()
681 memset(pg->records, 0, PROFILE_RECORDS_SIZE); in ftrace_profile_reset()
682 pg->index = 0; in ftrace_profile_reset()
683 pg = pg->next; in ftrace_profile_reset()
692 struct ftrace_profile_page *pg; in ftrace_profile_pages_init() local
718 pg = stat->start = stat->pages; in ftrace_profile_pages_init()
723 pg->next = (void *)get_zeroed_page(GFP_KERNEL); in ftrace_profile_pages_init()
724 if (!pg->next) in ftrace_profile_pages_init()
726 pg = pg->next; in ftrace_profile_pages_init()
732 pg = stat->start; in ftrace_profile_pages_init()
733 while (pg) { in ftrace_profile_pages_init()
734 unsigned long tmp = (unsigned long)pg; in ftrace_profile_pages_init()
736 pg = pg->next; in ftrace_profile_pages_init()
1532 #define do_for_each_ftrace_rec(pg, rec) \ argument
1533 for (pg = ftrace_pages_start; pg; pg = pg->next) { \
1535 for (_____i = 0; _____i < pg->index; _____i++) { \
1536 rec = &pg->records[_____i];
1557 struct ftrace_page *pg; in ftrace_location_range() local
1564 for (pg = ftrace_pages_start; pg; pg = pg->next) { in ftrace_location_range()
1565 if (end < pg->records[0].ip || in ftrace_location_range()
1566 start >= (pg->records[pg->index - 1].ip + MCOUNT_INSN_SIZE)) in ftrace_location_range()
1568 rec = bsearch(&key, pg->records, pg->index, in ftrace_location_range()
1638 struct ftrace_page *pg; in __ftrace_hash_rec_update() local
1675 do_for_each_ftrace_rec(pg, rec) { in __ftrace_hash_rec_update()
1838 struct ftrace_page *pg; in __ftrace_hash_update_ipmodify() local
1857 do_for_each_ftrace_rec(pg, rec) { in __ftrace_hash_update_ipmodify()
1879 do_for_each_ftrace_rec(pg, rec) { in __ftrace_hash_update_ipmodify()
2320 struct ftrace_page *pg; in ftrace_replace_code() local
2326 do_for_each_ftrace_rec(pg, rec) { in ftrace_replace_code()
2337 struct ftrace_page *pg; member
2359 iter->pg = ftrace_pages_start; in ftrace_rec_iter_start()
2363 while (iter->pg && !iter->pg->index) in ftrace_rec_iter_start()
2364 iter->pg = iter->pg->next; in ftrace_rec_iter_start()
2366 if (!iter->pg) in ftrace_rec_iter_start()
2382 if (iter->index >= iter->pg->index) { in ftrace_rec_iter_next()
2383 iter->pg = iter->pg->next; in ftrace_rec_iter_next()
2387 while (iter->pg && !iter->pg->index) in ftrace_rec_iter_next()
2388 iter->pg = iter->pg->next; in ftrace_rec_iter_next()
2391 if (!iter->pg) in ftrace_rec_iter_next()
2405 return &iter->pg->records[iter->index]; in ftrace_rec_iter_record()
2688 struct ftrace_page *pg; in ftrace_shutdown() local
2691 do_for_each_ftrace_rec(pg, rec) { in ftrace_shutdown()
2822 struct ftrace_page *pg; in ftrace_update_code() local
2852 for (pg = new_pgs; pg; pg = pg->next) { in ftrace_update_code()
2854 for (i = 0; i < pg->index; i++) { in ftrace_update_code()
2861 p = &pg->records[i]; in ftrace_update_code()
2899 static int ftrace_allocate_records(struct ftrace_page *pg, int count) in ftrace_allocate_records() argument
2917 pg->records = (void *)__get_free_pages(GFP_KERNEL | __GFP_ZERO, order); in ftrace_allocate_records()
2919 if (!pg->records) { in ftrace_allocate_records()
2928 pg->size = cnt; in ftrace_allocate_records()
2940 struct ftrace_page *pg; in ftrace_allocate_pages() local
2947 start_pg = pg = kzalloc(sizeof(*pg), GFP_KERNEL); in ftrace_allocate_pages()
2948 if (!pg) in ftrace_allocate_pages()
2957 cnt = ftrace_allocate_records(pg, num_to_init); in ftrace_allocate_pages()
2965 pg->next = kzalloc(sizeof(*pg), GFP_KERNEL); in ftrace_allocate_pages()
2966 if (!pg->next) in ftrace_allocate_pages()
2969 pg = pg->next; in ftrace_allocate_pages()
2975 pg = start_pg; in ftrace_allocate_pages()
2976 while (pg) { in ftrace_allocate_pages()
2977 order = get_count_order(pg->size / ENTRIES_PER_PAGE); in ftrace_allocate_pages()
2978 free_pages((unsigned long)pg->records, order); in ftrace_allocate_pages()
2979 start_pg = pg->next; in ftrace_allocate_pages()
2980 kfree(pg); in ftrace_allocate_pages()
2981 pg = start_pg; in ftrace_allocate_pages()
2992 struct ftrace_page *pg; member
3113 if (iter->idx >= iter->pg->index) { in t_next()
3114 if (iter->pg->next) { in t_next()
3115 iter->pg = iter->pg->next; in t_next()
3120 rec = &iter->pg->records[iter->idx++]; in t_next()
3193 iter->pg = ftrace_pages_start; in t_start()
3291 iter->pg = ftrace_pages_start; in ftrace_avail_open()
3305 iter->pg = ftrace_pages_start; in ftrace_enabled_open()
3378 iter->pg = ftrace_pages_start; in ftrace_regex_open()
3496 struct ftrace_page *pg; in match_records() local
3513 do_for_each_ftrace_rec(pg, rec) { in match_records()
3700 struct ftrace_page *pg; in register_ftrace_function_probe() local
3734 do_for_each_ftrace_rec(pg, rec) { in register_ftrace_function_probe()
4604 struct ftrace_page *pg; in ftrace_set_func() local
4626 do_for_each_ftrace_rec(pg, rec) { in ftrace_set_func()
4797 struct ftrace_page *pg; in ftrace_process_locs() local
4842 pg = start_pg; in ftrace_process_locs()
4854 if (pg->index == pg->size) { in ftrace_process_locs()
4856 if (WARN_ON(!pg->next)) in ftrace_process_locs()
4858 pg = pg->next; in ftrace_process_locs()
4861 rec = &pg->records[pg->index++]; in ftrace_process_locs()
4866 WARN_ON(pg->next); in ftrace_process_locs()
4869 ftrace_pages = pg; in ftrace_process_locs()
4899 struct ftrace_page *pg; in ftrace_release_mod() local
4912 for (pg = ftrace_pages_start; pg; pg = *last_pg) { in ftrace_release_mod()
4913 rec = &pg->records[0]; in ftrace_release_mod()
4919 if (WARN_ON(pg == ftrace_pages_start)) in ftrace_release_mod()
4923 if (pg == ftrace_pages) in ftrace_release_mod()
4926 *last_pg = pg->next; in ftrace_release_mod()
4927 order = get_count_order(pg->size / ENTRIES_PER_PAGE); in ftrace_release_mod()
4928 free_pages((unsigned long)pg->records, order); in ftrace_release_mod()
4929 kfree(pg); in ftrace_release_mod()
4931 last_pg = &pg->next; in ftrace_release_mod()