Lines Matching refs:p
23 #define next_task(p) \
24 list_entry_rcu((p)->tasks.next, struct task_struct, tasks)
26 #define for_each_process(p) \
27 for (p = &init_task ; (p = next_task(p)) != &init_task ; )
32 for_each_process(p) {
33 /* Do something with p */
40 void release_task(struct task_struct *p)
43 list_del_rcu(&p->tasks);
45 call_rcu(&p->rcu, delayed_put_task_struct);
48 When a process exits, ``release_task()`` calls ``list_del_rcu(&p->tasks)``
58 any readers traversing the list will see valid ``p->tasks.next`` pointers