Lines Matching refs:pid_list
223 struct trace_pid_list *pid_list; in trace_event_ignore_this_pid() local
225 pid_list = rcu_dereference_sched(tr->filtered_pids); in trace_event_ignore_this_pid()
226 if (!pid_list) in trace_event_ignore_this_pid()
515 struct trace_pid_list *pid_list; in event_filter_pid_sched_switch_probe_pre() local
517 pid_list = rcu_dereference_sched(tr->filtered_pids); in event_filter_pid_sched_switch_probe_pre()
520 check_ignore_pid(pid_list, prev) && in event_filter_pid_sched_switch_probe_pre()
521 check_ignore_pid(pid_list, next)); in event_filter_pid_sched_switch_probe_pre()
529 struct trace_pid_list *pid_list; in event_filter_pid_sched_switch_probe_post() local
531 pid_list = rcu_dereference_sched(tr->filtered_pids); in event_filter_pid_sched_switch_probe_post()
534 check_ignore_pid(pid_list, next)); in event_filter_pid_sched_switch_probe_post()
541 struct trace_pid_list *pid_list; in event_filter_pid_sched_wakeup_probe_pre() local
547 pid_list = rcu_dereference_sched(tr->filtered_pids); in event_filter_pid_sched_wakeup_probe_pre()
550 check_ignore_pid(pid_list, task)); in event_filter_pid_sched_wakeup_probe_pre()
557 struct trace_pid_list *pid_list; in event_filter_pid_sched_wakeup_probe_post() local
563 pid_list = rcu_dereference_sched(tr->filtered_pids); in event_filter_pid_sched_wakeup_probe_post()
567 check_ignore_pid(pid_list, current)); in event_filter_pid_sched_wakeup_probe_post()
572 struct trace_pid_list *pid_list; in __ftrace_clear_event_pids() local
576 pid_list = rcu_dereference_protected(tr->filtered_pids, in __ftrace_clear_event_pids()
578 if (!pid_list) in __ftrace_clear_event_pids()
605 free_pages((unsigned long)pid_list->pids, pid_list->order); in __ftrace_clear_event_pids()
606 kfree(pid_list); in __ftrace_clear_event_pids()
952 struct trace_pid_list *pid_list; in p_start() local
964 pid_list = rcu_dereference_sched(tr->filtered_pids); in p_start()
966 if (!pid_list || *pos >= pid_list->nr_pids) in p_start()
969 return (void *)&pid_list->pids[*pos]; in p_start()
983 struct trace_pid_list *pid_list = rcu_dereference_sched(tr->filtered_pids); in p_next() local
987 if (*pos >= pid_list->nr_pids) in p_next()
990 return (void *)&pid_list->pids[*pos]; in p_next()
1558 static int max_pids(struct trace_pid_list *pid_list) in max_pids() argument
1560 return (PAGE_SIZE << pid_list->order) / sizeof(pid_t); in max_pids()
1566 struct trace_pid_list *pid_list; in ignore_task_cpu() local
1572 pid_list = rcu_dereference_protected(tr->filtered_pids, in ignore_task_cpu()
1576 check_ignore_pid(pid_list, current)); in ignore_task_cpu()
1586 struct trace_pid_list *pid_list = NULL; in ftrace_event_pid_write() local
1634 if (!pid_list) { in ftrace_event_pid_write()
1635 pid_list = kmalloc(sizeof(*pid_list), GFP_KERNEL); in ftrace_event_pid_write()
1636 if (!pid_list) in ftrace_event_pid_write()
1642 pid_list->order = filtered_pids->order; in ftrace_event_pid_write()
1644 pid_list->order = 0; in ftrace_event_pid_write()
1646 pid_list->pids = (void *)__get_free_pages(GFP_KERNEL, in ftrace_event_pid_write()
1647 pid_list->order); in ftrace_event_pid_write()
1648 if (!pid_list->pids) in ftrace_event_pid_write()
1652 pid_list->nr_pids = filtered_pids->nr_pids; in ftrace_event_pid_write()
1653 memcpy(pid_list->pids, filtered_pids->pids, in ftrace_event_pid_write()
1654 pid_list->nr_pids * sizeof(pid_t)); in ftrace_event_pid_write()
1656 pid_list->nr_pids = 0; in ftrace_event_pid_write()
1659 if (pid_list->nr_pids >= max_pids(pid_list)) { in ftrace_event_pid_write()
1663 pid_list->order + 1); in ftrace_event_pid_write()
1666 memcpy(pid_page, pid_list->pids, in ftrace_event_pid_write()
1667 pid_list->nr_pids * sizeof(pid_t)); in ftrace_event_pid_write()
1668 free_pages((unsigned long)pid_list->pids, pid_list->order); in ftrace_event_pid_write()
1670 pid_list->order++; in ftrace_event_pid_write()
1671 pid_list->pids = pid_page; in ftrace_event_pid_write()
1674 pid_list->pids[pid_list->nr_pids++] = pid; in ftrace_event_pid_write()
1681 if (pid_list) in ftrace_event_pid_write()
1682 free_pages((unsigned long)pid_list->pids, pid_list->order); in ftrace_event_pid_write()
1683 kfree(pid_list); in ftrace_event_pid_write()
1688 if (!pid_list) { in ftrace_event_pid_write()
1693 sort(pid_list->pids, pid_list->nr_pids, sizeof(pid_t), cmp_pid, NULL); in ftrace_event_pid_write()
1696 for (i = 1; i < pid_list->nr_pids; i++) { in ftrace_event_pid_write()
1699 while (i < pid_list->nr_pids && in ftrace_event_pid_write()
1700 pid_list->pids[i - 1] == pid_list->pids[i]) in ftrace_event_pid_write()
1704 if (i < pid_list->nr_pids) { in ftrace_event_pid_write()
1705 memmove(&pid_list->pids[start], &pid_list->pids[i], in ftrace_event_pid_write()
1706 (pid_list->nr_pids - i) * sizeof(pid_t)); in ftrace_event_pid_write()
1707 pid_list->nr_pids -= i - start; in ftrace_event_pid_write()
1710 pid_list->nr_pids = start; in ftrace_event_pid_write()
1714 rcu_assign_pointer(tr->filtered_pids, pid_list); in ftrace_event_pid_write()