/linux-6.12.1/fs/proc/ |
D | stat.c | 85 u64 user, nice, system, idle, iowait, irq, softirq, steal; in show_stat() local 93 irq = softirq = steal = 0; in show_stat() 111 softirq += cpustat[CPUTIME_SOFTIRQ]; in show_stat() 133 seq_put_decimal_ull(p, " ", nsec_to_clock_t(softirq)); in show_stat() 152 softirq = cpustat[CPUTIME_SOFTIRQ]; in show_stat() 163 seq_put_decimal_ull(p, " ", nsec_to_clock_t(softirq)); in show_stat()
|
/linux-6.12.1/include/trace/events/ |
D | irq.h | 103 DECLARE_EVENT_CLASS(softirq, 128 DEFINE_EVENT(softirq, softirq_entry, 142 DEFINE_EVENT(softirq, softirq_exit, 156 DEFINE_EVENT(softirq, softirq_raise,
|
/linux-6.12.1/arch/s390/kernel/ |
D | vtime.c | 120 u64 timer, clock, user, guest, system, hardirq, softirq; in do_account_vtime() local 153 softirq = update_tsk_timer(&tsk->thread.softirq_timer, in do_account_vtime() 156 clock - user - guest - system - hardirq - softirq; in do_account_vtime() 173 if (softirq) in do_account_vtime() 174 account_system_index_scaled(tsk, softirq, CPUTIME_SOFTIRQ); in do_account_vtime() 176 return virt_timer_forward(user + guest + system + hardirq + softirq); in do_account_vtime()
|
/linux-6.12.1/kernel/trace/ |
D | trace_osnoise.c | 213 struct osn_softirq softirq; member 385 osn_var->softirq.arrival_time = 0; in timerlat_softirq_exit() 386 osn_var->softirq.delta_start = 0; in timerlat_softirq_exit() 744 if (osn_var->softirq.delta_start) in cond_move_softirq_delta_start() 745 osn_var->softirq.delta_start += duration; in cond_move_softirq_delta_start() 1064 osn_var->softirq.arrival_time = time_get(); in trace_softirq_entry_callback() 1065 set_int_safe_time(osn_var, &osn_var->softirq.delta_start); in trace_softirq_entry_callback() 1066 osn_var->softirq.count++; in trace_softirq_entry_callback() 1089 duration = get_int_safe_duration(osn_var, &osn_var->softirq.delta_start); in trace_softirq_exit_callback() 1090 trace_softirq_noise(vec_nr, osn_var->softirq.arrival_time, duration); in trace_softirq_exit_callback() [all …]
|
/linux-6.12.1/Documentation/RCU/ |
D | UP.rst | 15 Example 1: softirq Suicide 20 this same list in softirq context. Suppose that the process-context scan 21 is referencing element B when it is interrupted by softirq processing, 26 from softirq, the list scan would find itself referencing a newly freed 134 then, since RCU callbacks can be invoked from softirq context, 135 the callback might be called from a softirq that interrupted
|
D | stallwarn.rst | 57 is running at a higher priority than the RCU softirq threads. 73 prevent RCU's kthreads and softirq handlers from running. 232 2-...: (3 GPs behind) idle=06c/0/0 softirq=1453/1455 fqs=0 233 16-...: (0 ticks this GP) idle=81c/0/0 softirq=764/764 fqs=0 260 The "softirq=" portion of the message tracks the number of RCU softirq 268 across repeated stall-warning messages, it is possible that RCU's softirq 271 kernels, if a high-priority process is starving RCU's softirq handler. 337 Possible timer handling issue on cpu=4 timer-softirq=11142 340 where it queued the fqs timer. The number following the "timer-softirq" 454 result in softirq execution are confined to other CPUs. In this case,
|
D | checklist.rst | 199 invoked from softirq context, and in any case with bottom halves 235 and re-enables softirq, for example, rcu_read_lock_bh() and 266 network-driver NAPI (softirq) context. BPF relies heavily on RCU 369 with softirq disabled, e.g., via spin_lock_bh(). Failing to 370 disable softirq on a given acquisition of that lock will result 371 in deadlock as soon as the RCU softirq handler happens to run 401 might be concurrently invoked by that CPU's softirq handler and
|
/linux-6.12.1/Documentation/translations/zh_CN/core-api/ |
D | xarray.rst | 200 在修改数组时,XArray不会禁用中断或softirqs。从中断或softirq上下文中读取XArray是安全的,因为RCU锁 203 例如,如果你想在进程上下文中存储XArray中的条目,然后在softirq上下文中擦除它们,你可以这样做:: 231 如果你要从中断或softirq上下文中修改XArray,你需要使用xa_init_flags()初始化数组,传递
|
/linux-6.12.1/Documentation/translations/it_IT/kernel-hacking/ |
D | locking.rst | 173 Sincronizzazione fra il contesto utente e i softirq 176 Se un softirq condivide dati col contesto utente, avete due problemi. 177 Primo, il contesto utente corrente potrebbe essere interroto da un softirq, 180 (``include/linux/spinlock.h``) viene utilizzato. Questo disabilita i softirq 192 (``include/linux/interrupt.h``), la quale impedisce ai softirq d'essere 198 Questo caso è uguale al precedente, un tasklet viene eseguito da un softirq. 204 softirq. 229 Sincronizzazione fra softirq 232 Spesso un softirq potrebbe condividere dati con se stesso o un tasklet/timer. 234 Lo stesso softirq argument [all …]
|
D | hacking.rst | 40 - non associata ad alcun processo, servendo un softirq o tasklet; 50 softirq è in esecuzione su d'una CPU, nessun altro softirq può avvicendarsi 77 Attenzione che se avete la prelazione o i softirq disabilitati (vedere 101 Contesto d'interruzione software: softirq e tasklet 107 eseguita (``kernel/softirq.c``). 116 Il file ``include/linux/interrupt.h`` elenca i differenti tipi di 'softirq'. 117 Un tipo di softirq molto importante è il timer (``include/linux/timer.h``): 121 Dato che i softirq possono essere eseguiti simultaneamente su più di un 134 Potete determinate se siete in un softirq (o tasklet) utilizzando la 432 Lo scopo è di prevenire l'esecuzione di softirq e tasklet sul processore
|
/linux-6.12.1/Documentation/locking/ |
D | lockdep-design.rst | 55 - softirq 88 ||| \-> softirq disabled and not in softirq context 89 || \--> acquired in softirq context 120 A softirq-unsafe lock-class is automatically hardirq-unsafe as well. The 125 <softirq-safe> or <softirq-unsafe> 160 <softirq-safe> -> <softirq-unsafe> 164 thus could result in a lock inversion deadlock. Likewise, a softirq-safe 165 lock could be taken by an softirq context, interrupting a softirq-unsafe 178 - if a new softirq-safe lock is discovered, we check whether it took 179 any softirq-unsafe lock in the past. [all …]
|
D | seqlock.rst | 49 softirq contexts, interrupts or bottom halves must also be respectively 167 If the read side section can be invoked from hardirq or softirq context,
|
/linux-6.12.1/Documentation/translations/zh_CN/mm/ |
D | page_frags.rst | 30 将禁用中断,而 ”napi“ 前缀的函数只可以在softirq上下文中使用。
|
/linux-6.12.1/Documentation/kernel-hacking/ |
D | locking.rst | 164 If a softirq shares data with user context, you have two problems. 165 Firstly, the current user context can be interrupted by a softirq, and 180 (``include/linux/interrupt.h``), which protects you from the softirq 187 from a softirq. 193 from a softirq. From a locking point of view, tasklets and timers are 221 Often a softirq might want to share data with itself or a tasklet/timer. 226 The same softirq can run on the other CPUs: you can use a per-CPU array 228 going so far as to use a softirq, you probably care about scalable 239 tasklet, different softirq or the same or another softirq: any of them 245 Hardware interrupts usually communicate with a tasklet or softirq. [all …]
|
D | hacking.rst | 32 - not associated with any process, serving a softirq or tasklet; 40 by the ones above it. For example, while a softirq is running on a CPU, 41 no other softirq will preempt it, but a hardware interrupt can. However, 92 pending (usually by hardware interrupts) are run (``kernel/softirq.c``). 101 important softirq is the timer softirq (``include/linux/timer.h``): you 105 Softirqs are often a pain to deal with, since the same softirq will run 117 You can tell you are in a softirq (or tasklet) using the
|
/linux-6.12.1/Documentation/translations/zh_CN/core-api/irq/ |
D | irqflags-tracing.rst | 17 “irq-flags tracing”(中断标志追踪)功能可以 “追踪” hardirq和softirq的状态,它让
|
/linux-6.12.1/Documentation/translations/zh_CN/infiniband/ |
D | core_locking.rst | 98 进程上下文、softirq上下文或中断上下文。上层协议使用者可能不会在回调中睡眠。
|
/linux-6.12.1/Documentation/tools/rtla/ |
D | common_osnoise_description.rst | 3 time in a loop while with preemption, softirq and IRQs enabled, thus
|
/linux-6.12.1/Documentation/timers/ |
D | highres.rst | 176 red-black tree to a separate double linked list and invokes the softirq 183 context to the softirq and to the task which is woken up by the expired 199 The softirq for running the hrtimer queues and executing the callbacks has been 200 separated from the tick bound timer softirq to allow accurate delivery of high 202 timers. The execution of this softirq can still be delayed by other softirqs,
|
/linux-6.12.1/Documentation/translations/it_IT/locking/ |
D | lockdep-design.rst | 53 - softirq 84 ||| \-> softirq disabilitati e fuori da un contesto di softirq 85 || \--> acquisito in un contesto di softirq 117 Una classe softirq insicura è automaticamente insicura anche per hardirq. I 122 <softirq-safe> o <softirq-unsafe> 157 <softirq-safe> -> <softirq-unsafe> 306 e differenti scenari con hardirq e softirq e annidamenti vari (nella pratica,
|
/linux-6.12.1/Documentation/scheduler/ |
D | sched-domains.rst | 35 through sched_tick(). It raises a softirq after the next regularly scheduled 38 in softirq context (SCHED_SOFTIRQ).
|
/linux-6.12.1/tools/perf/util/ |
D | kwork.h | 189 u64 softirq; member
|
/linux-6.12.1/Documentation/core-api/irq/ |
D | irqflags-tracing.rst | 7 The "irq-flags tracing" feature "traces" hardirq and softirq state, in
|
/linux-6.12.1/Documentation/mm/ |
D | page_frags.rst | 32 only usable within the softirq context.
|
/linux-6.12.1/Documentation/trace/ |
D | ftrace.rst | 933 # | / _---=> hardirq/softirq 986 # || / _---=> hardirq/softirq 1044 hardirq/softirq: 1047 - 'H' - hard irq occurred inside a softirq. 1489 # || / _---=> hardirq/softirq 1540 # || / _---=> hardirq/softirq 1617 # | / _---=> hardirq/softirq 1688 # || / _---=> hardirq/softirq 1726 # || / _---=> hardirq/softirq 1840 # || / _---=> hardirq/softirq [all …]
|