Lines Matching refs:pg
545 struct ftrace_profile_page *pg; in function_stat_next() local
547 pg = (struct ftrace_profile_page *)((unsigned long)rec & PAGE_MASK); in function_stat_next()
553 if ((void *)rec >= (void *)&pg->records[pg->index]) { in function_stat_next()
554 pg = pg->next; in function_stat_next()
555 if (!pg) in function_stat_next()
557 rec = &pg->records[0]; in function_stat_next()
686 struct ftrace_profile_page *pg; in ftrace_profile_reset() local
688 pg = stat->pages = stat->start; in ftrace_profile_reset()
690 while (pg) { in ftrace_profile_reset()
691 memset(pg->records, 0, PROFILE_RECORDS_SIZE); in ftrace_profile_reset()
692 pg->index = 0; in ftrace_profile_reset()
693 pg = pg->next; in ftrace_profile_reset()
702 struct ftrace_profile_page *pg; in ftrace_profile_pages_init() local
728 pg = stat->start = stat->pages; in ftrace_profile_pages_init()
733 pg->next = (void *)get_zeroed_page(GFP_KERNEL); in ftrace_profile_pages_init()
734 if (!pg->next) in ftrace_profile_pages_init()
736 pg = pg->next; in ftrace_profile_pages_init()
742 pg = stat->start; in ftrace_profile_pages_init()
743 while (pg) { in ftrace_profile_pages_init()
744 unsigned long tmp = (unsigned long)pg; in ftrace_profile_pages_init()
746 pg = pg->next; in ftrace_profile_pages_init()
1542 #define do_for_each_ftrace_rec(pg, rec) \ argument
1543 for (pg = ftrace_pages_start; pg; pg = pg->next) { \
1545 for (_____i = 0; _____i < pg->index; _____i++) { \
1546 rec = &pg->records[_____i];
1567 struct ftrace_page *pg; in ftrace_location_range() local
1574 for (pg = ftrace_pages_start; pg; pg = pg->next) { in ftrace_location_range()
1575 if (end < pg->records[0].ip || in ftrace_location_range()
1576 start >= (pg->records[pg->index - 1].ip + MCOUNT_INSN_SIZE)) in ftrace_location_range()
1578 rec = bsearch(&key, pg->records, pg->index, in ftrace_location_range()
1648 struct ftrace_page *pg; in __ftrace_hash_rec_update() local
1685 do_for_each_ftrace_rec(pg, rec) { in __ftrace_hash_rec_update()
1848 struct ftrace_page *pg; in __ftrace_hash_update_ipmodify() local
1867 do_for_each_ftrace_rec(pg, rec) { in __ftrace_hash_update_ipmodify()
1889 do_for_each_ftrace_rec(pg, rec) { in __ftrace_hash_update_ipmodify()
2330 struct ftrace_page *pg; in ftrace_replace_code() local
2336 do_for_each_ftrace_rec(pg, rec) { in ftrace_replace_code()
2347 struct ftrace_page *pg; member
2369 iter->pg = ftrace_pages_start; in ftrace_rec_iter_start()
2373 while (iter->pg && !iter->pg->index) in ftrace_rec_iter_start()
2374 iter->pg = iter->pg->next; in ftrace_rec_iter_start()
2376 if (!iter->pg) in ftrace_rec_iter_start()
2392 if (iter->index >= iter->pg->index) { in ftrace_rec_iter_next()
2393 iter->pg = iter->pg->next; in ftrace_rec_iter_next()
2397 while (iter->pg && !iter->pg->index) in ftrace_rec_iter_next()
2398 iter->pg = iter->pg->next; in ftrace_rec_iter_next()
2401 if (!iter->pg) in ftrace_rec_iter_next()
2415 return &iter->pg->records[iter->index]; in ftrace_rec_iter_record()
2698 struct ftrace_page *pg; in ftrace_shutdown() local
2701 do_for_each_ftrace_rec(pg, rec) { in ftrace_shutdown()
2832 struct ftrace_page *pg; in ftrace_update_code() local
2862 for (pg = new_pgs; pg; pg = pg->next) { in ftrace_update_code()
2864 for (i = 0; i < pg->index; i++) { in ftrace_update_code()
2871 p = &pg->records[i]; in ftrace_update_code()
2909 static int ftrace_allocate_records(struct ftrace_page *pg, int count) in ftrace_allocate_records() argument
2927 pg->records = (void *)__get_free_pages(GFP_KERNEL | __GFP_ZERO, order); in ftrace_allocate_records()
2929 if (!pg->records) { in ftrace_allocate_records()
2938 pg->size = cnt; in ftrace_allocate_records()
2950 struct ftrace_page *pg; in ftrace_allocate_pages() local
2957 start_pg = pg = kzalloc(sizeof(*pg), GFP_KERNEL); in ftrace_allocate_pages()
2958 if (!pg) in ftrace_allocate_pages()
2967 cnt = ftrace_allocate_records(pg, num_to_init); in ftrace_allocate_pages()
2975 pg->next = kzalloc(sizeof(*pg), GFP_KERNEL); in ftrace_allocate_pages()
2976 if (!pg->next) in ftrace_allocate_pages()
2979 pg = pg->next; in ftrace_allocate_pages()
2985 pg = start_pg; in ftrace_allocate_pages()
2986 while (pg) { in ftrace_allocate_pages()
2987 order = get_count_order(pg->size / ENTRIES_PER_PAGE); in ftrace_allocate_pages()
2988 free_pages((unsigned long)pg->records, order); in ftrace_allocate_pages()
2989 start_pg = pg->next; in ftrace_allocate_pages()
2990 kfree(pg); in ftrace_allocate_pages()
2991 pg = start_pg; in ftrace_allocate_pages()
3002 struct ftrace_page *pg; member
3123 if (iter->idx >= iter->pg->index) { in t_next()
3124 if (iter->pg->next) { in t_next()
3125 iter->pg = iter->pg->next; in t_next()
3130 rec = &iter->pg->records[iter->idx++]; in t_next()
3203 iter->pg = ftrace_pages_start; in t_start()
3301 iter->pg = ftrace_pages_start; in ftrace_avail_open()
3315 iter->pg = ftrace_pages_start; in ftrace_enabled_open()
3388 iter->pg = ftrace_pages_start; in ftrace_regex_open()
3530 struct ftrace_page *pg; in match_records() local
3557 do_for_each_ftrace_rec(pg, rec) { in match_records()
3717 struct ftrace_page *pg; in register_ftrace_function_probe() local
3751 do_for_each_ftrace_rec(pg, rec) { in register_ftrace_function_probe()
4622 struct ftrace_page *pg; in ftrace_set_func() local
4643 do_for_each_ftrace_rec(pg, rec) { in ftrace_set_func()
4803 struct ftrace_page *pg; in ftrace_process_locs() local
4848 pg = start_pg; in ftrace_process_locs()
4860 if (pg->index == pg->size) { in ftrace_process_locs()
4862 if (WARN_ON(!pg->next)) in ftrace_process_locs()
4864 pg = pg->next; in ftrace_process_locs()
4867 rec = &pg->records[pg->index++]; in ftrace_process_locs()
4872 WARN_ON(pg->next); in ftrace_process_locs()
4875 ftrace_pages = pg; in ftrace_process_locs()
4905 struct ftrace_page *pg; in ftrace_release_mod() local
4918 for (pg = ftrace_pages_start; pg; pg = *last_pg) { in ftrace_release_mod()
4919 rec = &pg->records[0]; in ftrace_release_mod()
4925 if (WARN_ON(pg == ftrace_pages_start)) in ftrace_release_mod()
4929 if (pg == ftrace_pages) in ftrace_release_mod()
4932 *last_pg = pg->next; in ftrace_release_mod()
4933 order = get_count_order(pg->size / ENTRIES_PER_PAGE); in ftrace_release_mod()
4934 free_pages((unsigned long)pg->records, order); in ftrace_release_mod()
4935 kfree(pg); in ftrace_release_mod()
4937 last_pg = &pg->next; in ftrace_release_mod()