| /kernel/linux/linux-4.19/tools/perf/util/ |
| D | thread.c | 9 #include "thread.h" 10 #include "thread-stack.h" 19 int thread__init_map_groups(struct thread *thread, struct machine *machine) in thread__init_map_groups() argument 21 pid_t pid = thread->pid_; in thread__init_map_groups() 23 if (pid == thread->tid || pid == -1) { in thread__init_map_groups() 24 thread->mg = map_groups__new(machine); in thread__init_map_groups() 26 struct thread *leader = __machine__findnew_thread(machine, pid, pid); in thread__init_map_groups() 28 thread->mg = map_groups__get(leader->mg); in thread__init_map_groups() 33 return thread->mg ? 0 : -1; in thread__init_map_groups() 36 struct thread *thread__new(pid_t pid, pid_t tid) in thread__new() [all …]
|
| D | thread.h | 18 struct thread { struct 31 bool dead; /* if set thread has exited */ argument 51 struct thread *thread__new(pid_t pid, pid_t tid); argument 52 int thread__init_map_groups(struct thread *thread, struct machine *machine); 53 void thread__delete(struct thread *thread); 55 struct thread *thread__get(struct thread *thread); 56 void thread__put(struct thread *thread); 58 static inline void __thread__zput(struct thread **thread) in __thread__zput() argument 60 thread__put(*thread); in __thread__zput() 61 *thread = NULL; in __thread__zput() [all …]
|
| D | unwind.h | 11 struct thread; 22 int (*prepare_access)(struct thread *thread); 23 void (*flush_access)(struct thread *thread); 24 void (*finish_access)(struct thread *thread); 26 struct thread *thread, 32 struct thread *thread, 49 int unwind__prepare_access(struct thread *thread, struct map *map, 51 void unwind__flush_access(struct thread *thread); 52 void unwind__finish_access(struct thread *thread); 54 static inline int unwind__prepare_access(struct thread *thread __maybe_unused, in unwind__prepare_access() [all …]
|
| D | unwind-libunwind.c | 3 #include "thread.h" 12 static void unwind__register_ops(struct thread *thread, in unwind__register_ops() argument 15 thread->unwind_libunwind_ops = ops; in unwind__register_ops() 18 int unwind__prepare_access(struct thread *thread, struct map *map, in unwind__prepare_access() argument 26 if (thread->addr_space) { in unwind__prepare_access() 27 pr_debug("unwind: thread map already set, dso=%s\n", in unwind__prepare_access() 35 if (!thread->mg->machine->env || !thread->mg->machine->env->arch) in unwind__prepare_access() 38 dso_type = dso__type(map->dso, thread->mg->machine); in unwind__prepare_access() 42 arch = perf_env__arch(thread->mg->machine->env); in unwind__prepare_access() 57 unwind__register_ops(thread, ops); in unwind__prepare_access() [all …]
|
| D | thread-stack.c | 2 * thread-stack.c: Synthesize a thread's stack using call / return events 19 #include "thread.h" 27 #include "thread-stack.h" 32 * struct thread_stack_entry - thread stack entry. 50 * struct thread_stack - thread stack constructed from 'call' and 'return' 92 static struct thread_stack *thread_stack__new(struct thread *thread, in thread_stack__new() argument 106 if (thread->mg && thread->mg->machine) in thread_stack__new() 107 ts->kernel_start = machine__kernel_start(thread->mg->machine); in thread_stack__new() 122 pr_warning("Out of memory: discarding thread stack\n"); in thread_stack__push() 161 static int thread_stack__call_return(struct thread *thread, in thread_stack__call_return() argument [all …]
|
| /kernel/linux/linux-5.10/tools/perf/util/ |
| D | thread.c | 10 #include "thread.h" 11 #include "thread-stack.h" 22 int thread__init_maps(struct thread *thread, struct machine *machine) in thread__init_maps() argument 24 pid_t pid = thread->pid_; in thread__init_maps() 26 if (pid == thread->tid || pid == -1) { in thread__init_maps() 27 thread->maps = maps__new(machine); in thread__init_maps() 29 struct thread *leader = __machine__findnew_thread(machine, pid, pid); in thread__init_maps() 31 thread->maps = maps__get(leader->maps); in thread__init_maps() 36 return thread->maps ? 0 : -1; in thread__init_maps() 39 struct thread *thread__new(pid_t pid, pid_t tid) in thread__new() [all …]
|
| D | thread.h | 32 struct thread { struct 45 bool dead; /* if set thread has exited */ argument 68 struct thread *thread__new(pid_t pid, pid_t tid); argument 69 int thread__init_maps(struct thread *thread, struct machine *machine); 70 void thread__delete(struct thread *thread); 72 struct thread *thread__get(struct thread *thread); 73 void thread__put(struct thread *thread); 75 static inline void __thread__zput(struct thread **thread) in __thread__zput() argument 77 thread__put(*thread); in __thread__zput() 78 *thread = NULL; in __thread__zput() [all …]
|
| /kernel/linux/linux-5.10/arch/riscv/kernel/ |
| D | asm-offsets.c | 16 OFFSET(TASK_THREAD_RA, task_struct, thread.ra); in asm_offsets() 17 OFFSET(TASK_THREAD_SP, task_struct, thread.sp); in asm_offsets() 18 OFFSET(TASK_THREAD_S0, task_struct, thread.s[0]); in asm_offsets() 19 OFFSET(TASK_THREAD_S1, task_struct, thread.s[1]); in asm_offsets() 20 OFFSET(TASK_THREAD_S2, task_struct, thread.s[2]); in asm_offsets() 21 OFFSET(TASK_THREAD_S3, task_struct, thread.s[3]); in asm_offsets() 22 OFFSET(TASK_THREAD_S4, task_struct, thread.s[4]); in asm_offsets() 23 OFFSET(TASK_THREAD_S5, task_struct, thread.s[5]); in asm_offsets() 24 OFFSET(TASK_THREAD_S6, task_struct, thread.s[6]); in asm_offsets() 25 OFFSET(TASK_THREAD_S7, task_struct, thread.s[7]); in asm_offsets() [all …]
|
| /kernel/linux/linux-5.10/arch/mips/include/asm/ |
| D | asmmacro-32.h | 16 .macro fpu_save_single thread tmp=t0 20 s.d $f0, THREAD_FPR0(\thread) 21 s.d $f2, THREAD_FPR2(\thread) 22 s.d $f4, THREAD_FPR4(\thread) 23 s.d $f6, THREAD_FPR6(\thread) 24 s.d $f8, THREAD_FPR8(\thread) 25 s.d $f10, THREAD_FPR10(\thread) 26 s.d $f12, THREAD_FPR12(\thread) 27 s.d $f14, THREAD_FPR14(\thread) 28 s.d $f16, THREAD_FPR16(\thread) [all …]
|
| D | asmmacro.h | 84 .macro fpu_save_16even thread tmp=t0 88 sdc1 $f0, THREAD_FPR0(\thread) 89 sdc1 $f2, THREAD_FPR2(\thread) 90 sdc1 $f4, THREAD_FPR4(\thread) 91 sdc1 $f6, THREAD_FPR6(\thread) 92 sdc1 $f8, THREAD_FPR8(\thread) 93 sdc1 $f10, THREAD_FPR10(\thread) 94 sdc1 $f12, THREAD_FPR12(\thread) 95 sdc1 $f14, THREAD_FPR14(\thread) 96 sdc1 $f16, THREAD_FPR16(\thread) [all …]
|
| D | asmmacro-64.h | 17 .macro cpu_save_nonscratch thread 18 LONG_S s0, THREAD_REG16(\thread) 19 LONG_S s1, THREAD_REG17(\thread) 20 LONG_S s2, THREAD_REG18(\thread) 21 LONG_S s3, THREAD_REG19(\thread) 22 LONG_S s4, THREAD_REG20(\thread) 23 LONG_S s5, THREAD_REG21(\thread) 24 LONG_S s6, THREAD_REG22(\thread) 25 LONG_S s7, THREAD_REG23(\thread) 26 LONG_S sp, THREAD_REG29(\thread) [all …]
|
| /kernel/linux/linux-4.19/arch/mips/include/asm/ |
| D | asmmacro-32.h | 16 .macro fpu_save_single thread tmp=t0 20 s.d $f0, THREAD_FPR0(\thread) 21 s.d $f2, THREAD_FPR2(\thread) 22 s.d $f4, THREAD_FPR4(\thread) 23 s.d $f6, THREAD_FPR6(\thread) 24 s.d $f8, THREAD_FPR8(\thread) 25 s.d $f10, THREAD_FPR10(\thread) 26 s.d $f12, THREAD_FPR12(\thread) 27 s.d $f14, THREAD_FPR14(\thread) 28 s.d $f16, THREAD_FPR16(\thread) [all …]
|
| D | asmmacro.h | 84 .macro fpu_save_16even thread tmp=t0 88 sdc1 $f0, THREAD_FPR0(\thread) 89 sdc1 $f2, THREAD_FPR2(\thread) 90 sdc1 $f4, THREAD_FPR4(\thread) 91 sdc1 $f6, THREAD_FPR6(\thread) 92 sdc1 $f8, THREAD_FPR8(\thread) 93 sdc1 $f10, THREAD_FPR10(\thread) 94 sdc1 $f12, THREAD_FPR12(\thread) 95 sdc1 $f14, THREAD_FPR14(\thread) 96 sdc1 $f16, THREAD_FPR16(\thread) [all …]
|
| D | asmmacro-64.h | 17 .macro cpu_save_nonscratch thread 18 LONG_S s0, THREAD_REG16(\thread) 19 LONG_S s1, THREAD_REG17(\thread) 20 LONG_S s2, THREAD_REG18(\thread) 21 LONG_S s3, THREAD_REG19(\thread) 22 LONG_S s4, THREAD_REG20(\thread) 23 LONG_S s5, THREAD_REG21(\thread) 24 LONG_S s6, THREAD_REG22(\thread) 25 LONG_S s7, THREAD_REG23(\thread) 26 LONG_S sp, THREAD_REG29(\thread) [all …]
|
| /kernel/linux/linux-4.19/arch/riscv/kernel/ |
| D | asm-offsets.c | 24 OFFSET(TASK_THREAD_RA, task_struct, thread.ra); in asm_offsets() 25 OFFSET(TASK_THREAD_SP, task_struct, thread.sp); in asm_offsets() 26 OFFSET(TASK_THREAD_S0, task_struct, thread.s[0]); in asm_offsets() 27 OFFSET(TASK_THREAD_S1, task_struct, thread.s[1]); in asm_offsets() 28 OFFSET(TASK_THREAD_S2, task_struct, thread.s[2]); in asm_offsets() 29 OFFSET(TASK_THREAD_S3, task_struct, thread.s[3]); in asm_offsets() 30 OFFSET(TASK_THREAD_S4, task_struct, thread.s[4]); in asm_offsets() 31 OFFSET(TASK_THREAD_S5, task_struct, thread.s[5]); in asm_offsets() 32 OFFSET(TASK_THREAD_S6, task_struct, thread.s[6]); in asm_offsets() 33 OFFSET(TASK_THREAD_S7, task_struct, thread.s[7]); in asm_offsets() [all …]
|
| /kernel/linux/linux-5.10/drivers/mailbox/ |
| D | mtk-cmdq-mailbox.c | 65 struct cmdq_thread *thread; member 75 struct cmdq_thread *thread; member 94 static int cmdq_thread_suspend(struct cmdq *cmdq, struct cmdq_thread *thread) in cmdq_thread_suspend() argument 98 writel(CMDQ_THR_SUSPEND, thread->base + CMDQ_THR_SUSPEND_TASK); in cmdq_thread_suspend() 101 if (!(readl(thread->base + CMDQ_THR_ENABLE_TASK) & CMDQ_THR_ENABLED)) in cmdq_thread_suspend() 104 if (readl_poll_timeout_atomic(thread->base + CMDQ_THR_CURR_STATUS, in cmdq_thread_suspend() 106 dev_err(cmdq->mbox.dev, "suspend GCE thread 0x%x failed\n", in cmdq_thread_suspend() 107 (u32)(thread->base - cmdq->base)); in cmdq_thread_suspend() 114 static void cmdq_thread_resume(struct cmdq_thread *thread) in cmdq_thread_resume() argument 116 writel(CMDQ_THR_RESUME, thread->base + CMDQ_THR_SUSPEND_TASK); in cmdq_thread_resume() [all …]
|
| /kernel/linux/linux-4.19/drivers/mailbox/ |
| D | mtk-cmdq-mailbox.c | 65 struct cmdq_thread *thread; member 74 struct cmdq_thread *thread; member 79 static int cmdq_thread_suspend(struct cmdq *cmdq, struct cmdq_thread *thread) in cmdq_thread_suspend() argument 83 writel(CMDQ_THR_SUSPEND, thread->base + CMDQ_THR_SUSPEND_TASK); in cmdq_thread_suspend() 86 if (!(readl(thread->base + CMDQ_THR_ENABLE_TASK) & CMDQ_THR_ENABLED)) in cmdq_thread_suspend() 89 if (readl_poll_timeout_atomic(thread->base + CMDQ_THR_CURR_STATUS, in cmdq_thread_suspend() 91 dev_err(cmdq->mbox.dev, "suspend GCE thread 0x%x failed\n", in cmdq_thread_suspend() 92 (u32)(thread->base - cmdq->base)); in cmdq_thread_suspend() 99 static void cmdq_thread_resume(struct cmdq_thread *thread) in cmdq_thread_resume() argument 101 writel(CMDQ_THR_RESUME, thread->base + CMDQ_THR_SUSPEND_TASK); in cmdq_thread_resume() [all …]
|
| /kernel/linux/linux-4.19/tools/perf/scripts/python/ |
| D | stat-cpi.py | 9 def get_key(time, event, cpu, thread): argument 10 return "%d-%s-%d-%d" % (time, event, cpu, thread) 12 def store_key(time, cpu, thread): argument 19 if (thread not in threads): 20 threads.append(thread) 22 def store(time, event, cpu, thread, val, ena, run): argument 23 #print "event %s cpu %d, thread %d, time %d, val %d, ena %d, run %d" % \ 24 # (event, cpu, thread, time, val, ena, run) 26 store_key(time, cpu, thread) 27 key = get_key(time, event, cpu, thread) [all …]
|
| /kernel/linux/linux-5.10/tools/perf/scripts/python/ |
| D | stat-cpi.py | 10 def get_key(time, event, cpu, thread): argument 11 return "%d-%s-%d-%d" % (time, event, cpu, thread) 13 def store_key(time, cpu, thread): argument 20 if (thread not in threads): 21 threads.append(thread) 23 def store(time, event, cpu, thread, val, ena, run): argument 24 #print("event %s cpu %d, thread %d, time %d, val %d, ena %d, run %d" % 25 # (event, cpu, thread, time, val, ena, run)) 27 store_key(time, cpu, thread) 28 key = get_key(time, event, cpu, thread) [all …]
|
| /kernel/linux/linux-5.10/arch/powerpc/kernel/ptrace/ |
| D | ptrace-adv.c | 10 struct pt_regs *regs = task->thread.regs; in user_enable_single_step() 13 task->thread.debug.dbcr0 &= ~DBCR0_BT; in user_enable_single_step() 14 task->thread.debug.dbcr0 |= DBCR0_IDM | DBCR0_IC; in user_enable_single_step() 22 struct pt_regs *regs = task->thread.regs; in user_enable_block_step() 25 task->thread.debug.dbcr0 &= ~DBCR0_IC; in user_enable_block_step() 26 task->thread.debug.dbcr0 = DBCR0_IDM | DBCR0_BT; in user_enable_block_step() 34 struct pt_regs *regs = task->thread.regs; in user_disable_single_step() 43 task->thread.debug.dbcr0 &= ~(DBCR0_IC | DBCR0_BT); in user_disable_single_step() 47 if (!DBCR_ACTIVE_EVENTS(task->thread.debug.dbcr0, in user_disable_single_step() 48 task->thread.debug.dbcr1)) { in user_disable_single_step() [all …]
|
| /kernel/linux/linux-4.19/tools/perf/tests/ |
| D | dwarf-unwind.c | 13 #include "thread.h" 47 int test_dwarf_unwind__thread(struct thread *thread); 49 int test_dwarf_unwind__krava_3(struct thread *thread); 50 int test_dwarf_unwind__krava_2(struct thread *thread); 51 int test_dwarf_unwind__krava_1(struct thread *thread); 93 noinline int test_dwarf_unwind__thread(struct thread *thread) in test_dwarf_unwind__thread() argument 101 if (test__arch_unwind_sample(&sample, thread)) { in test_dwarf_unwind__thread() 106 err = unwind__get_entries(unwind_entry, &cnt, thread, in test_dwarf_unwind__thread() 126 /* Any possible value should be 'thread' */ in test_dwarf_unwind__compare() 127 struct thread *thread = *(struct thread **)p1; in test_dwarf_unwind__compare() local [all …]
|
| /kernel/linux/linux-4.19/Documentation/vm/ |
| D | mmu_notifier.rst | 41 CPU-thread-0 {try to write to addrA} 42 CPU-thread-1 {try to write to addrB} 43 CPU-thread-2 {} 44 CPU-thread-3 {} 45 DEV-thread-0 {read addrA and populate device TLB} 46 DEV-thread-2 {read addrB and populate device TLB} 48 CPU-thread-0 {COW_step0: {mmu_notifier_invalidate_range_start(addrA)}} 49 CPU-thread-1 {COW_step0: {mmu_notifier_invalidate_range_start(addrB)}} 50 CPU-thread-2 {} 51 CPU-thread-3 {} [all …]
|
| /kernel/linux/linux-5.10/Documentation/vm/ |
| D | mmu_notifier.rst | 41 CPU-thread-0 {try to write to addrA} 42 CPU-thread-1 {try to write to addrB} 43 CPU-thread-2 {} 44 CPU-thread-3 {} 45 DEV-thread-0 {read addrA and populate device TLB} 46 DEV-thread-2 {read addrB and populate device TLB} 48 CPU-thread-0 {COW_step0: {mmu_notifier_invalidate_range_start(addrA)}} 49 CPU-thread-1 {COW_step0: {mmu_notifier_invalidate_range_start(addrB)}} 50 CPU-thread-2 {} 51 CPU-thread-3 {} [all …]
|
| /kernel/linux/linux-5.10/tools/perf/tests/ |
| D | dwarf-unwind.c | 16 #include "thread.h" 52 int test_dwarf_unwind__thread(struct thread *thread); 54 int test_dwarf_unwind__krava_3(struct thread *thread); 55 int test_dwarf_unwind__krava_2(struct thread *thread); 56 int test_dwarf_unwind__krava_1(struct thread *thread); 98 noinline int test_dwarf_unwind__thread(struct thread *thread) in test_dwarf_unwind__thread() argument 106 if (test__arch_unwind_sample(&sample, thread)) { in test_dwarf_unwind__thread() 111 err = unwind__get_entries(unwind_entry, &cnt, thread, in test_dwarf_unwind__thread() 131 /* Any possible value should be 'thread' */ in test_dwarf_unwind__compare() 132 struct thread *thread = *(struct thread **)p1; in test_dwarf_unwind__compare() local [all …]
|
| /kernel/linux/linux-5.10/arch/parisc/kernel/ |
| D | asm-offsets.c | 53 DEFINE(TASK_REGS, offsetof(struct task_struct, thread.regs)); in main() 54 DEFINE(TASK_PT_PSW, offsetof(struct task_struct, thread.regs.gr[ 0])); in main() 55 DEFINE(TASK_PT_GR1, offsetof(struct task_struct, thread.regs.gr[ 1])); in main() 56 DEFINE(TASK_PT_GR2, offsetof(struct task_struct, thread.regs.gr[ 2])); in main() 57 DEFINE(TASK_PT_GR3, offsetof(struct task_struct, thread.regs.gr[ 3])); in main() 58 DEFINE(TASK_PT_GR4, offsetof(struct task_struct, thread.regs.gr[ 4])); in main() 59 DEFINE(TASK_PT_GR5, offsetof(struct task_struct, thread.regs.gr[ 5])); in main() 60 DEFINE(TASK_PT_GR6, offsetof(struct task_struct, thread.regs.gr[ 6])); in main() 61 DEFINE(TASK_PT_GR7, offsetof(struct task_struct, thread.regs.gr[ 7])); in main() 62 DEFINE(TASK_PT_GR8, offsetof(struct task_struct, thread.regs.gr[ 8])); in main() [all …]
|