| /linux/include/trace/events/ |
| H A D | irq.h | 103 DECLARE_EVENT_CLASS(softirq, 122 * softirq_entry - called immediately before the softirq handler 123 * @vec_nr: softirq vector number 126 * we can determine the softirq handler routine. 128 DEFINE_EVENT(softirq, softirq_entry, 136 * softirq_exit - called immediately after the softirq handler returns 137 * @vec_nr: softirq vector number 140 * we can determine the softirq handler routine. 142 DEFINE_EVENT(softirq, softirq_exit, 150 * softirq_raise - called immediately when a softirq i [all...] |
| /linux/arch/s390/kernel/ |
| H A 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/kernel/trace/ |
| H A D | trace_osnoise.c | 214 struct osn_softirq softirq; member 359 osn_var->softirq.arrival_time = 0; in timerlat_softirq_exit() 360 osn_var->softirq.delta_start = 0; in timerlat_softirq_exit() 716 if (osn_var->softirq.delta_start) in cond_move_softirq_delta_start() 717 osn_var->softirq.delta_start += duration; in cond_move_softirq_delta_start() 1036 osn_var->softirq.arrival_time = time_get(); in trace_softirq_entry_callback() 1037 set_int_safe_time(osn_var, &osn_var->softirq.delta_start); in trace_softirq_entry_callback() 1038 osn_var->softirq.count++; in trace_softirq_entry_callback() 1061 duration = get_int_safe_duration(osn_var, &osn_var->softirq.delta_start); in trace_softirq_exit_callback() 1062 trace_softirq_noise(vec_nr, osn_var->softirq.arrival_time, duration); in trace_softirq_exit_callback() [all …]
|
| H A D | trace_output.c | 459 int softirq; in trace_print_lat_fmt() local 465 softirq = entry->flags & TRACE_FLAG_SOFTIRQ; in trace_print_lat_fmt() 505 (hardirq && softirq) ? 'H' : in trace_print_lat_fmt() 507 softirq ? 's' : in trace_print_lat_fmt()
|
| /linux/Documentation/RCU/ |
| H A 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
|
| H A D | checklist.rst | 205 invoked from softirq context, and in any case with bottom halves 241 and re-enables softirq, for example, rcu_read_lock_bh() and 272 network-driver NAPI (softirq) context. BPF relies heavily on RCU 375 with softirq disabled, e.g., via spin_lock_bh(). Failing to 376 disable softirq on a given acquisition of that lock will result 377 in deadlock as soon as the RCU softirq handler happens to run 407 might be concurrently invoked by that CPU's softirq handler and
|
| /linux/Documentation/translations/zh_CN/core-api/ |
| H A D | xarray.rst | 200 在修改数组时,XArray不会禁用中断或softirqs。从中断或softirq上下文中读取XArray是安全的,因为RCU锁 203 例如,如果你想在进程上下文中存储XArray中的条目,然后在softirq上下文中擦除它们,你可以这样做:: 231 如果你要从中断或softirq上下文中修改XArray,你需要使用xa_init_flags()初始化数组,传递
|
| /linux/Documentation/translations/it_IT/kernel-hacking/ |
| H A 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 …]
|
| H A 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/Documentation/locking/ |
| H A 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 …]
|
| /linux/Documentation/kernel-hacking/ |
| H A 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 …]
|
| /linux/Documentation/translations/zh_CN/mm/ |
| H A D | page_frags.rst | 30 将禁用中断,而 ”napi“ 前缀的函数只可以在softirq上下文中使用。
|
| /linux/Documentation/translations/zh_CN/infiniband/ |
| H A D | core_locking.rst | 98 进程上下文、softirq上下文或中断上下文。上层协议使用者可能不会在回调中睡眠。
|
| /linux/Documentation/translations/zh_CN/core-api/irq/ |
| H A D | irqflags-tracing.rst | 17 “irq-flags tracing”(中断标志追踪)功能可以 “追踪” hardirq和softirq的状态,它让
|
| /linux/Documentation/tools/rtla/ |
| H A D | common_osnoise_description.txt | 3 time in a loop while with preemption, softirq and IRQs enabled, thus
|
| /linux/kernel/ |
| H A D | Kconfig.preempt | 107 bool "Enforce softirq synchronisation on PREEMPT_RT" 111 the softirq is preemptible. This enforces the same per-CPU BLK 116 this if you suspect an error with preemptible softirq and want test
|
| /linux/Documentation/timers/ |
| H A 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/Documentation/translations/it_IT/locking/ |
| H A 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/Documentation/trace/ |
| H A D | eprobetrace.rst | 115 # | / _---=> hardirq/softirq 195 # | / _---=> hardirq/softirq 246 # | / _---=> hardirq/softirq
|
| H A D | ftrace.rst | 947 # | / _---=> hardirq/softirq 1000 # || / _---=> hardirq/softirq 1059 hardirq/softirq: 1062 - 'H' - hard irq occurred inside a softirq. 1517 # || / _---=> hardirq/softirq 1568 # || / _---=> hardirq/softirq 1645 # | / _---=> hardirq/softirq 1716 # || / _---=> hardirq/softirq 1754 # || / _---=> hardirq/softirq 1868 # || / _---=> hardirq/softirq [all …]
|
| /linux/Documentation/mm/ |
| H A D | page_frags.rst | 32 only usable within the softirq context.
|
| /linux/Documentation/core-api/irq/ |
| H A D | irqflags-tracing.rst | 7 The "irq-flags tracing" feature "traces" hardirq and softirq state, in
|
| /linux/Documentation/translations/zh_CN/kernel-hacking/ |
| H A D | hacking.rst | 33 - 与任何进程无关,服务于软件中断(softirq)或子任务(tasklet); 81 过硬件中断)的“软件中断”将运行( ``kernel/softirq.c`` )。
|
| /linux/Documentation/networking/ |
| H A D | x25-iface.rst | 81 call "netif_receive_skb_core" from softirq context to deliver them.
|
| /linux/Documentation/infiniband/ |
| H A D | core_locking.rst | 95 may be process context, softirq context, or interrupt context.
|