/linux-6.1.9/Documentation/translations/zh_CN/accounting/ |
D | taskstats.rst | 26 “tgid”、“进程”、“线程组”互换使用,用于描述共享mm_struct的任务集, 27 也就是传统的Unix进程。尽管使用了tgid这个词,即使一个任务是线程组组长, 35 (NETLINK_GENERIC族)然后发送指定pid或tgid的命令。响应消息中包含单个 36 任务的统计信息(若指定了pid)或进程所有任务汇总的统计信息(若指定了tgid)。 43 如果正在退出的任务是线程组中最后一个退出的线程,额外一条包含每tgid统计信息的 48 用户可注册cpu掩码、发送命令和处理响应、监听每tid/tgid退出数据、将收到的数据 59 struct taskstats是每pid和每tgid数据共用的计数结构体。它是版本化的,可在内核新增 71 1. 命令:由用户发送给内核。获取指定pid/tgid数据的命令包含一个类型为 72 TASKSTATS_CMD_ATTR_PID/TGID的属性,该属性包含u32的pid或tgid载荷。 73 pid/tgid指示用户空间要统计的任务/进程。 [all …]
|
D | delay-accounting.rst | 39 向用户态返回一个通用数据结构,对应每pid或每tgid的统计信息。延时计数功能填写 50 若其为线程组最后一个退出的任务,内核还会发送每tgid的统计信息。更多详细信息见 73 系统启动后,使用类似getdelays.c的工具获取任务或线程组(tgid)的延时信息。 77 getdelays [-dilv] [-t tgid] [-p pid] 84 获取所有tgid为5的任务从系统启动后的总延时信息::
|
/linux-6.1.9/tools/testing/selftests/bpf/progs/ |
D | test_core_reloc_kernel.c | 29 int tgid; member 57 int pid, tgid; in test_core_kernel() local 63 CORE_READ(&tgid, &task->tgid)) in test_core_kernel() 67 out->valid[0] = (((uint64_t)pid << 32) | tgid) == pid_tgid; in test_core_kernel() 71 tgid) == real_tgid; in test_core_kernel() 74 tgid) == real_tgid; in test_core_kernel() 77 tgid) == real_tgid; in test_core_kernel() 80 tgid) == real_tgid; in test_core_kernel() 84 tgid) == real_tgid; in test_core_kernel() 88 tgid) == real_tgid; in test_core_kernel() [all …]
|
D | bpf_iter_task_file.c | 9 int tgid = 0; variable 29 if (tgid == task->tgid && task->tgid != task->pid) in dump_task_file() 32 if (last_tgid != task->tgid) { in dump_task_file() 33 last_tgid = task->tgid; in dump_task_file() 37 BPF_SEQ_PRINTF(seq, "%8d %8d %8d %lx\n", task->tgid, task->pid, fd, in dump_task_file()
|
D | bpf_iter_test_kern3.c | 13 int tgid; in dump_task() local 15 tgid = task->tgid; in dump_task() 16 bpf_seq_write(seq, &tgid, sizeof(tgid)); in dump_task()
|
D | test_core_retro.c | 8 int tgid; member 29 int tgid = BPF_CORE_READ(task, tgid); in handle_sys_enter() local 38 bpf_map_update_elem(&results, &zero, &tgid, 0); in handle_sys_enter()
|
D | bpf_mod_race.c | 8 pid_t tgid; member 22 return task->tgid == bpf_mod_race_config.tgid; in check_thread_id()
|
D | bpf_iter_vma_offset.c | 25 if (last_tgid != task->tgid) in get_vma_offset() 27 last_tgid = task->tgid; in get_vma_offset() 29 if (task->tgid != pid) in get_vma_offset()
|
/linux-6.1.9/net/bpfilter/ |
D | bpfilter_kern.c | 19 struct pid *tgid = info->tgid; in shutdown_umh() local 21 if (tgid) { in shutdown_umh() 22 kill_pid(tgid, SIGKILL, 1); in shutdown_umh() 23 wait_event(tgid->wait_pidfd, thread_group_exited(tgid)); in shutdown_umh() 40 if (!bpfilter_ops.info.tgid) in bpfilter_send_req() 89 pr_info("Loaded bpfilter_umh pid %d\n", pid_nr(bpfilter_ops.info.tgid)); in start_umh()
|
/linux-6.1.9/net/ipv4/bpfilter/ |
D | sockopt.c | 19 put_pid(info->tgid); in bpfilter_umh_cleanup() 20 info->tgid = NULL; in bpfilter_umh_cleanup() 39 if (bpfilter_ops.info.tgid && in bpfilter_mbox_request() 40 thread_group_exited(bpfilter_ops.info.tgid)) in bpfilter_mbox_request() 43 if (!bpfilter_ops.info.tgid) { in bpfilter_mbox_request() 75 bpfilter_ops.info.tgid = NULL; in bpfilter_sockopt_init()
|
/linux-6.1.9/arch/powerpc/kvm/ |
D | trace_hv.h | 415 __field(pid_t, tgid) 422 __entry->tgid = current->tgid; 427 __entry->runner_vcpu, __entry->n_runnable, __entry->tgid) 439 __field(pid_t, tgid) 446 __entry->tgid = current->tgid; 451 __entry->runner_vcpu, __entry->n_runnable, __entry->tgid) 462 __field(pid_t, tgid) 468 __entry->tgid = current->tgid; 473 __entry->ns, __entry->tgid) 483 __field(pid_t, tgid) [all …]
|
/linux-6.1.9/Documentation/translations/zh_CN/mm/ |
D | page_owner.rst | 109 -P 按tgid排序。 119 ./page_owner_sort <input> <output> --sort=n,+pid,-tgid 143 --tgid <tgidlist> 按tgid选择。这将选择其线程组ID号出现在<tgidlist> 154 ./page_owner_sort <input> <output> --tgid=1,2,3 165 tg tgid 线程组ID 177 tg tgid 线程组ID
|
/linux-6.1.9/Documentation/accounting/ |
D | taskstats.rst | 22 "tgid", "process" and "thread group" are used interchangeably and refer to the 24 use of tgid, there is no special treatment for the task that is thread group 31 socket (NETLINK_GENERIC family) and sends commands specifying a pid or a tgid. 33 statistics for all tasks of the process (if tgid is specified). 43 an additional record containing the per-tgid stats is also sent to userspace. 49 send commands and process responses, listen for per-tid/tgid exit data, 63 per-tgid data. It is versioned and can be extended by each accounting subsystem 79 a pid/tgid consist of one attribute, of type TASKSTATS_CMD_ATTR_PID/TGID, 80 containing a u32 pid or tgid in the attribute payload. The pid/tgid denotes 97 a pid/tgid will be followed by some stats. [all …]
|
D | delay-accounting.rst | 43 generic data structure to userspace corresponding to per-pid and per-tgid 61 task of a thread group, the per-tgid statistics are also sent. More details 88 seen by a given task or a task group (tgid). 95 getdelays [-dilv] [-t tgid] [-p pid] 102 Get sum of delays, since system boot, for all pids with tgid 5::
|
/linux-6.1.9/drivers/connector/ |
D | cn_proc.c | 87 ev->event_data.fork.parent_tgid = parent->tgid; in proc_fork_connector() 90 ev->event_data.fork.child_tgid = task->tgid; in proc_fork_connector() 114 ev->event_data.exec.process_tgid = task->tgid; in proc_exec_connector() 138 ev->event_data.id.process_tgid = task->tgid; in proc_id_connector() 176 ev->event_data.sid.process_tgid = task->tgid; in proc_sid_connector() 200 ev->event_data.ptrace.process_tgid = task->tgid; in proc_ptrace_connector() 203 ev->event_data.ptrace.tracer_tgid = current->tgid; in proc_ptrace_connector() 232 ev->event_data.comm.process_tgid = task->tgid; in proc_comm_connector() 258 ev->event_data.coredump.process_tgid = task->tgid; in proc_coredump_connector() 264 ev->event_data.coredump.parent_tgid = parent->tgid; in proc_coredump_connector() [all …]
|
/linux-6.1.9/drivers/infiniband/core/ |
D | umem_odp.c | 136 umem_odp->tgid = get_task_pid(current->group_leader, PIDTYPE_PID); in ib_umem_odp_alloc_implicit() 139 put_pid(umem_odp->tgid); in ib_umem_odp_alloc_implicit() 194 odp_data->tgid = get_pid(root->tgid); in ib_umem_odp_alloc_child() 202 put_pid(odp_data->tgid); in ib_umem_odp_alloc_child() 250 umem_odp->tgid = get_task_pid(current->group_leader, PIDTYPE_PID); in ib_umem_odp_get() 257 put_pid(umem_odp->tgid); in ib_umem_odp_get() 280 put_pid(umem_odp->tgid); in ib_umem_odp_release() 372 owning_process = get_pid_task(umem_odp->tgid, PIDTYPE_PID); in ib_umem_odp_map_dma_and_lock()
|
/linux-6.1.9/tools/perf/util/bpf_skel/ |
D | off_cpu.bpf.c | 29 __u32 tgid; member 164 pid = t->tgid; in can_record() 215 .tgid = next->tgid, in off_cpu_stat() 249 pid = BPF_CORE_READ(task, tgid); in on_newtask() 256 pid = task->tgid; in on_newtask()
|
/linux-6.1.9/tools/testing/selftests/bpf/prog_tests/ |
D | ns_current_pid_tgid.c | 24 pid_t tgid, pid; in test_current_pid_tgid() local 32 tgid = getpid(); in test_current_pid_tgid() 51 ASSERT_EQ(bss->user_tgid, tgid, "tgid"); in test_current_pid_tgid()
|
/linux-6.1.9/fs/proc/ |
D | self.c | 16 pid_t tgid = task_tgid_nr_ns(current, ns); in proc_self_get_link() local 19 if (!tgid) in proc_self_get_link() 25 sprintf(name, "%u", tgid); in proc_self_get_link()
|
/linux-6.1.9/kernel/ |
D | usermode_driver.c | 133 umd_info->tgid = get_pid(task_tgid(current)); in umd_setup() 154 put_pid(info->tgid); in umd_cleanup_helper() 155 info->tgid = NULL; in umd_cleanup_helper() 175 if (WARN_ON_ONCE(info->tgid)) in fork_usermode_driver()
|
/linux-6.1.9/tools/testing/selftests/ptrace/ |
D | peeksiginfo.c | 15 static int sys_rt_sigqueueinfo(pid_t tgid, int sig, siginfo_t *uinfo) in sys_rt_sigqueueinfo() argument 17 return syscall(SYS_rt_sigqueueinfo, tgid, sig, uinfo); in sys_rt_sigqueueinfo() 20 static int sys_rt_tgsigqueueinfo(pid_t tgid, pid_t tid, in sys_rt_tgsigqueueinfo() argument 23 return syscall(SYS_rt_tgsigqueueinfo, tgid, tid, sig, uinfo); in sys_rt_tgsigqueueinfo()
|
/linux-6.1.9/tools/perf/util/ |
D | synthetic-events.c | 73 pid_t *tgid, pid_t *ppid, bool *kernel) in perf_event__get_comm_ids() argument 81 *tgid = -1; in perf_event__get_comm_ids() 133 *tgid = atoi(tgids); in perf_event__get_comm_ids() 155 pid_t *tgid, pid_t *ppid, bool *kernel) in perf_event__prepare_comm() argument 166 tgid, ppid, kernel) != 0) { in perf_event__prepare_comm() 170 *tgid = machine->pid; in perf_event__prepare_comm() 173 if (*tgid < 0) in perf_event__prepare_comm() 176 event->comm.pid = *tgid; in perf_event__prepare_comm() 195 pid_t tgid, ppid; in perf_event__synthesize_comm() local 198 if (perf_event__prepare_comm(event, 0, pid, machine, &tgid, &ppid, in perf_event__synthesize_comm() [all …]
|
D | bpf_off_cpu.c | 28 u32 tgid; member 226 u32 tgid; in off_cpu_prepare() local 233 tgid = pid; in off_cpu_prepare() 234 bpf_map_update_elem(fd, &tgid, &val, BPF_ANY); in off_cpu_prepare() 345 data.array[n++] = (u64)key.pid << 32 | key.tgid; in off_cpu_write()
|
D | namespaces.c | 77 nsi->tgid = (pid_t)strtol(strrchr(statln, '\t'), in nsinfo__get_nspid() 152 nsi->tgid = pid; in nsinfo__new() 179 nnsi->tgid = nsinfo__tgid(nsi); in nsinfo__copy() 227 return nsi->tgid; in nsinfo__tgid()
|
/linux-6.1.9/fs/autofs/ |
D | waitq.c | 150 packet->tgid = wq->tgid; in autofs_notify_daemon() 312 pid_t tgid; in autofs_wait() local 324 tgid = task_tgid_nr_ns(current, ns_of_pid(sbi->oz_pgrp)); in autofs_wait() 325 if (pid == 0 || tgid == 0) in autofs_wait() 398 wq->tgid = tgid; in autofs_wait()
|