static int lttng_enumerate_vm_maps(struct lttng_session *session) { struct task_struct *p; rcu_read_lock(); for_each_process(p) lttng_enumerate_task_vm_maps(session, p); rcu_read_unlock(); return 0; }
static int __init print_init(void) { struct task_struct *task; printk("process info:\n"); for_each_process(task) printk("%s pid:%d tgid:%d father pid:%d\n", task->comm, task->pid, task->tgid, task->parent->pid); return 0; }
static int lttng_enumerate_file_descriptors(struct lttng_session *session) { struct task_struct *p; char *tmp = (char *) __get_free_page(GFP_KERNEL); /* Enumerate active file descriptors */ rcu_read_lock(); for_each_process(p) lttng_enumerate_task_fd(session, p, tmp); rcu_read_unlock(); free_page((unsigned long) tmp); return 0; }
/* This function simply iterates reset_stats() for every process */ void complete_reset (void){ struct task_struct *t; //printk(KERN_DEBUG "MSG: sono dentro a complete_reset()\n"); for_each_process (t) reset_stats (t->pid, (struct my_thread *) t->thread_info); }