Lines Matching refs:t
214 #define if_lock(t) spin_lock(&(t->if_lock)); argument
215 #define if_unlock(t) spin_unlock(&(t->if_lock)); argument
445 static int pktgen_remove_device(struct pktgen_thread *t, struct pktgen_dev *i);
446 static int pktgen_add_device(struct pktgen_thread *t, const char *ifname);
447 static struct pktgen_dev *pktgen_find_dev(struct pktgen_thread *t,
454 static void pktgen_stop(struct pktgen_thread *t);
1759 struct pktgen_thread *t = seq->private; in pktgen_thread_show() local
1762 BUG_ON(!t); in pktgen_thread_show()
1767 list_for_each_entry_rcu(pkt_dev, &t->if_list, list) in pktgen_thread_show()
1773 list_for_each_entry_rcu(pkt_dev, &t->if_list, list) in pktgen_thread_show()
1777 if (t->result[0]) in pktgen_thread_show()
1778 seq_printf(seq, "\nResult: %s\n", t->result); in pktgen_thread_show()
1792 struct pktgen_thread *t = seq->private; in pktgen_thread_write() local
1830 if (!t) { in pktgen_thread_write()
1836 pg_result = &(t->result[0]); in pktgen_thread_write()
1850 ret = pktgen_add_device(t, f); in pktgen_thread_write()
1862 t->control |= T_REMDEVALL; in pktgen_thread_write()
1899 struct pktgen_thread *t; in __pktgen_NN_threads() local
1903 list_for_each_entry(t, &pn->pktgen_threads, th_list) { in __pktgen_NN_threads()
1904 pkt_dev = pktgen_find_dev(t, ifname, exact); in __pktgen_NN_threads()
1908 t->control |= T_REMDEV; in __pktgen_NN_threads()
1953 struct pktgen_thread *t; in pktgen_change_name() local
1955 list_for_each_entry(t, &pn->pktgen_threads, th_list) { in pktgen_change_name()
1959 list_for_each_entry_rcu(pkt_dev, &t->if_list, list) { in pktgen_change_name()
2192 struct hrtimer_sleeper t; in spin() local
2194 hrtimer_init_on_stack(&t.timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS); in spin()
2195 hrtimer_set_expires(&t.timer, spin_until); in spin()
2197 remaining = ktime_to_ns(hrtimer_expires_remaining(&t.timer)); in spin()
2211 hrtimer_init_sleeper(&t, current); in spin()
2214 hrtimer_start_expires(&t.timer, HRTIMER_MODE_ABS); in spin()
2215 if (!hrtimer_active(&t.timer)) in spin()
2216 t.task = NULL; in spin()
2218 if (likely(t.task)) in spin()
2221 hrtimer_cancel(&t.timer); in spin()
2222 } while (t.task && pkt_dev->running && !signal_pending(current)); in spin()
2312 __u16 t; in set_cur_queue_map() local
2314 t = prandom_u32() % in set_cur_queue_map()
2319 t = pkt_dev->cur_queue_map + 1; in set_cur_queue_map()
2320 if (t > pkt_dev->queue_map_max) in set_cur_queue_map()
2321 t = pkt_dev->queue_map_min; in set_cur_queue_map()
2323 pkt_dev->cur_queue_map = t; in set_cur_queue_map()
2441 __u32 t; in mod_cur_headers() local
2443 t = prandom_u32() % (imx - imn) + imn; in mod_cur_headers()
2445 t = ntohl(pkt_dev->cur_saddr); in mod_cur_headers()
2446 t++; in mod_cur_headers()
2447 if (t > imx) in mod_cur_headers()
2448 t = imn; in mod_cur_headers()
2451 pkt_dev->cur_saddr = htonl(t); in mod_cur_headers()
2460 __u32 t; in mod_cur_headers() local
2465 t = prandom_u32() % in mod_cur_headers()
2467 s = htonl(t); in mod_cur_headers()
2475 t = ntohl(pkt_dev->cur_daddr); in mod_cur_headers()
2476 t++; in mod_cur_headers()
2477 if (t > imx) { in mod_cur_headers()
2478 t = imn; in mod_cur_headers()
2480 pkt_dev->cur_daddr = htonl(t); in mod_cur_headers()
2511 __u32 t; in mod_cur_headers() local
2513 t = prandom_u32() % in mod_cur_headers()
2517 t = pkt_dev->cur_pkt_size + 1; in mod_cur_headers()
2518 if (t > pkt_dev->max_pkt_size) in mod_cur_headers()
2519 t = pkt_dev->min_pkt_size; in mod_cur_headers()
2521 pkt_dev->cur_pkt_size = t; in mod_cur_headers()
3024 static void pktgen_run(struct pktgen_thread *t) in pktgen_run() argument
3032 list_for_each_entry_rcu(pkt_dev, &t->if_list, list) { in pktgen_run()
3054 t->control &= ~(T_STOP); in pktgen_run()
3059 struct pktgen_thread *t; in pktgen_stop_all_threads_ifs() local
3065 list_for_each_entry(t, &pn->pktgen_threads, th_list) in pktgen_stop_all_threads_ifs()
3066 t->control |= T_STOP; in pktgen_stop_all_threads_ifs()
3071 static int thread_is_running(const struct pktgen_thread *t) in thread_is_running() argument
3076 list_for_each_entry_rcu(pkt_dev, &t->if_list, list) in thread_is_running()
3085 static int pktgen_wait_thread_run(struct pktgen_thread *t) in pktgen_wait_thread_run() argument
3087 while (thread_is_running(t)) { in pktgen_wait_thread_run()
3101 struct pktgen_thread *t; in pktgen_wait_all_threads_run() local
3106 list_for_each_entry(t, &pn->pktgen_threads, th_list) { in pktgen_wait_all_threads_run()
3107 sig = pktgen_wait_thread_run(t); in pktgen_wait_all_threads_run()
3113 list_for_each_entry(t, &pn->pktgen_threads, th_list) in pktgen_wait_all_threads_run()
3114 t->control |= (T_STOP); in pktgen_wait_all_threads_run()
3122 struct pktgen_thread *t; in pktgen_run_all_threads() local
3128 list_for_each_entry(t, &pn->pktgen_threads, th_list) in pktgen_run_all_threads()
3129 t->control |= (T_RUN); in pktgen_run_all_threads()
3141 struct pktgen_thread *t; in pktgen_reset_all_threads() local
3147 list_for_each_entry(t, &pn->pktgen_threads, th_list) in pktgen_reset_all_threads()
3148 t->control |= (T_REMDEVALL); in pktgen_reset_all_threads()
3208 static struct pktgen_dev *next_to_run(struct pktgen_thread *t) in next_to_run() argument
3213 list_for_each_entry_rcu(pkt_dev, &t->if_list, list) { in next_to_run()
3226 static void pktgen_stop(struct pktgen_thread *t) in pktgen_stop() argument
3234 list_for_each_entry_rcu(pkt_dev, &t->if_list, list) { in pktgen_stop()
3245 static void pktgen_rem_one_if(struct pktgen_thread *t) in pktgen_rem_one_if() argument
3252 list_for_each_safe(q, n, &t->if_list) { in pktgen_rem_one_if()
3261 pktgen_remove_device(t, cur); in pktgen_rem_one_if()
3267 static void pktgen_rem_all_ifs(struct pktgen_thread *t) in pktgen_rem_all_ifs() argument
3276 list_for_each_safe(q, n, &t->if_list) { in pktgen_rem_all_ifs()
3282 pktgen_remove_device(t, cur); in pktgen_rem_all_ifs()
3286 static void pktgen_rem_thread(struct pktgen_thread *t) in pktgen_rem_thread() argument
3289 remove_proc_entry(t->tsk->comm, t->net->proc_dir); in pktgen_rem_thread()
3422 struct pktgen_thread *t = arg; in pktgen_thread_worker() local
3424 int cpu = t->cpu; in pktgen_thread_worker()
3428 init_waitqueue_head(&t->queue); in pktgen_thread_worker()
3429 complete(&t->start_done); in pktgen_thread_worker()
3438 pkt_dev = next_to_run(t); in pktgen_thread_worker()
3440 if (unlikely(!pkt_dev && t->control == 0)) { in pktgen_thread_worker()
3441 if (t->net->pktgen_exiting) in pktgen_thread_worker()
3443 wait_event_interruptible_timeout(t->queue, in pktgen_thread_worker()
3444 t->control != 0, in pktgen_thread_worker()
3459 if (t->control & T_STOP) { in pktgen_thread_worker()
3460 pktgen_stop(t); in pktgen_thread_worker()
3461 t->control &= ~(T_STOP); in pktgen_thread_worker()
3464 if (t->control & T_RUN) { in pktgen_thread_worker()
3465 pktgen_run(t); in pktgen_thread_worker()
3466 t->control &= ~(T_RUN); in pktgen_thread_worker()
3469 if (t->control & T_REMDEVALL) { in pktgen_thread_worker()
3470 pktgen_rem_all_ifs(t); in pktgen_thread_worker()
3471 t->control &= ~(T_REMDEVALL); in pktgen_thread_worker()
3474 if (t->control & T_REMDEV) { in pktgen_thread_worker()
3475 pktgen_rem_one_if(t); in pktgen_thread_worker()
3476 t->control &= ~(T_REMDEV); in pktgen_thread_worker()
3483 pr_debug("%s stopping all device\n", t->tsk->comm); in pktgen_thread_worker()
3484 pktgen_stop(t); in pktgen_thread_worker()
3486 pr_debug("%s removing all device\n", t->tsk->comm); in pktgen_thread_worker()
3487 pktgen_rem_all_ifs(t); in pktgen_thread_worker()
3489 pr_debug("%s removing thread\n", t->tsk->comm); in pktgen_thread_worker()
3490 pktgen_rem_thread(t); in pktgen_thread_worker()
3504 static struct pktgen_dev *pktgen_find_dev(struct pktgen_thread *t, in pktgen_find_dev() argument
3511 list_for_each_entry_rcu(p, &t->if_list, list) in pktgen_find_dev()
3530 static int add_dev_to_thread(struct pktgen_thread *t, in add_dev_to_thread() argument
3541 if_lock(t); in add_dev_to_thread()
3550 pkt_dev->pg_thread = t; in add_dev_to_thread()
3551 list_add_rcu(&pkt_dev->list, &t->if_list); in add_dev_to_thread()
3554 if_unlock(t); in add_dev_to_thread()
3560 static int pktgen_add_device(struct pktgen_thread *t, const char *ifname) in pktgen_add_device() argument
3564 int node = cpu_to_node(t->cpu); in pktgen_add_device()
3568 pkt_dev = __pktgen_NN_threads(t->net, ifname, FIND); in pktgen_add_device()
3604 err = pktgen_setup_dev(t->net, pkt_dev, ifname); in pktgen_add_device()
3610 pkt_dev->entry = proc_create_data(ifname, 0600, t->net->proc_dir, in pktgen_add_device()
3634 return add_dev_to_thread(t, pkt_dev); in pktgen_add_device()
3648 struct pktgen_thread *t; in pktgen_create_thread() local
3652 t = kzalloc_node(sizeof(struct pktgen_thread), GFP_KERNEL, in pktgen_create_thread()
3654 if (!t) { in pktgen_create_thread()
3659 spin_lock_init(&t->if_lock); in pktgen_create_thread()
3660 t->cpu = cpu; in pktgen_create_thread()
3662 INIT_LIST_HEAD(&t->if_list); in pktgen_create_thread()
3664 list_add_tail(&t->th_list, &pn->pktgen_threads); in pktgen_create_thread()
3665 init_completion(&t->start_done); in pktgen_create_thread()
3668 t, in pktgen_create_thread()
3672 pr_err("kernel_thread() failed for cpu %d\n", t->cpu); in pktgen_create_thread()
3673 list_del(&t->th_list); in pktgen_create_thread()
3674 kfree(t); in pktgen_create_thread()
3678 t->tsk = p; in pktgen_create_thread()
3680 pe = proc_create_data(t->tsk->comm, 0600, pn->proc_dir, in pktgen_create_thread()
3681 &pktgen_thread_fops, t); in pktgen_create_thread()
3684 PG_PROC_DIR, t->tsk->comm); in pktgen_create_thread()
3686 list_del(&t->th_list); in pktgen_create_thread()
3687 kfree(t); in pktgen_create_thread()
3691 t->net = pn; in pktgen_create_thread()
3693 wait_for_completion(&t->start_done); in pktgen_create_thread()
3701 static void _rem_dev_from_if_list(struct pktgen_thread *t, in _rem_dev_from_if_list() argument
3707 if_lock(t); in _rem_dev_from_if_list()
3708 list_for_each_safe(q, n, &t->if_list) { in _rem_dev_from_if_list()
3713 if_unlock(t); in _rem_dev_from_if_list()
3716 static int pktgen_remove_device(struct pktgen_thread *t, in pktgen_remove_device() argument
3739 _rem_dev_from_if_list(t, pkt_dev); in pktgen_remove_device()
3799 struct pktgen_thread *t; in pg_net_exit() local
3811 t = list_entry(q, struct pktgen_thread, th_list); in pg_net_exit()
3812 list_del(&t->th_list); in pg_net_exit()
3813 kthread_stop(t->tsk); in pg_net_exit()
3814 kfree(t); in pg_net_exit()