Home
last modified time | relevance | path

Searched full:softirq (Results 1 – 25 of 177) sorted by relevance

12345678

/linux/include/trace/events/
H A Dirq.h103 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/Documentation/RCU/
H A DUP.rst15 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 Dchecklist.rst205 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/tools/testing/selftests/net/bench/
H A Dtest_bench_page_pool.sh19 …echo "${result}" | grep -o -E "no-softirq-page_pool01 Per elem: ([0-9]+) cycles\(tsc\) ([0-9]+\.[0…
23 …echo "${result}" | grep -o -E "no-softirq-page_pool02 Per elem: ([0-9]+) cycles\(tsc\) ([0-9]+\.[0…
27 …echo "${result}" | grep -o -E "no-softirq-page_pool03 Per elem: ([0-9]+) cycles\(tsc\) ([0-9]+\.[0…
/linux/kernel/trace/
H A Dtrace_osnoise.c235 struct osn_softirq softirq; member
394 osn_var->softirq.arrival_time = 0; in timerlat_softirq_exit()
395 osn_var->softirq.delta_start = 0; in timerlat_softirq_exit()
443 seq_puts(s, "# || / _----=> hardirq/softirq\n"); in print_osnoise_headers()
471 seq_puts(s, "# | / _---=> hardirq/softirq\n"); in print_osnoise_headers()
551 seq_puts(s, "# || / _----=> hardirq/softirq\n"); in print_timerlat_headers()
567 seq_puts(s, "# | / _---=> hardirq/softirq\n"); in print_timerlat_headers()
733 * cond_move_softirq_delta_start - Forward the delta_start of a running softirq.
735 * If a softirq is preempted by an IRQ or NMI, its delta_start is pushed
743 if (osn_var->softirq.delta_start) in cond_move_softirq_delta_start()
[all …]
/linux/Documentation/locking/
H A Dlockdep-design.rst55 - 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 Dlocking.rst164 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.
223 The Same Softirq
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
[all …]
/linux/kernel/locking/
H A Dlockdep_proc.c157 [LOCK_CHAIN_SOFTIRQ_CONTEXT] = "softirq", in lc_show()
159 LOCK_CHAIN_HARDIRQ_CONTEXT] = "hardirq|softirq", in lc_show()
224 seq_printf(m, " softirq on events: %11llu\n", si1); in lockdep_stats_debug_show()
225 seq_printf(m, " softirq off events: %11llu\n", si2); in lockdep_stats_debug_show()
226 seq_printf(m, " redundant softirq ons: %11llu\n", sr1); in lockdep_stats_debug_show()
227 seq_printf(m, " redundant softirq offs: %11llu\n", sr2); in lockdep_stats_debug_show()
321 seq_printf(m, " in-softirq chains: %11u\n", in lockdep_stats_show()
343 seq_printf(m, " softirq-safe locks: %11lu\n", in lockdep_stats_show()
345 seq_printf(m, " softirq-unsafe locks: %11lu\n", in lockdep_stats_show()
356 seq_printf(m, " softirq-read-safe locks: %11lu\n", in lockdep_stats_show()
[all …]
H A Dlockdep_states.h8 LOCKDEP_STATE(SOFTIRQ)
/linux/tools/testing/selftests/net/bench/page_pool/
H A Dbench_page_pool_simple.c108 /* GFP_ATOMIC needed when under run softirq */ in pp_fill_ptr_ring()
227 /* This test cannot activate correct code path, due to no-softirq ctx */ in run_benchmark_tests()
229 time_bench_loop(nr_loops, 0, "no-softirq-page_pool01", NULL, in run_benchmark_tests()
232 time_bench_loop(nr_loops, 0, "no-softirq-page_pool02", NULL, in run_benchmark_tests()
235 time_bench_loop(nr_loops, 0, "no-softirq-page_pool03", NULL, in run_benchmark_tests()
/linux/lib/
H A Dirq_poll.c25 * raise of the blk iopoll softirq.
91 * If softirq window is exhausted then punt. in irq_poll_softirq()
192 * set the POLL softirq bit. The local_bh_disable()/enable() pair in irq_poll_cpu_dead()
194 * reach idle with the POLL softirq pending. in irq_poll_cpu_dead()
H A Dlocking-selftest-spin-softirq.h2 #include "locking-selftest-softirq.h"
H A Dlocking-selftest-rlock-softirq.h2 #include "locking-selftest-softirq.h"
H A Dlocking-selftest-wlock-softirq.h2 #include "locking-selftest-softirq.h"
/linux/Documentation/timers/
H A Dhighres.rst176 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/kernel/
H A DKconfig.preempt110 bool "Enforce softirq synchronisation on PREEMPT_RT"
114 the softirq is preemptible. This enforces the same per-CPU BLK
119 this if you suspect an error with preemptible softirq and want test
H A Duser.c98 * occasionally also taken from softirq/tasklet context, when
99 * task-structs get RCU-freed. Hence all locking must be softirq-safe.
102 * softirq callbacks, and they can unconditionally enable interrupts, and
/linux/drivers/gpu/drm/i915/
H A Di915_scheduler.h84 local_bh_disable(); /* prevent local softirq and lock recursion */ in i915_sched_engine_active_lock_bh()
92 local_bh_enable(); /* restore softirq, and kick ksoftirqd! */ in i915_sched_engine_active_unlock_bh()
/linux/Documentation/translations/it_IT/locking/
H A Dlockdep-design.rst53 - 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/translations/it_IT/kernel-hacking/
H A Dhacking.rst40 - 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/tools/perf/scripts/python/
H A Dnetdev-times.py26 # which raise NET_RX softirq
27 net_rx_dic = {}; # key is cpu and value include time of NET_RX softirq-entry
87 # a NET_RX softirq
323 # if an irq doesn't include NET_RX softirq, drop.
360 # merge information related to a NET_RX softirq
/linux/include/linux/
H A Ddlm.h62 * dlm request callbacks (ast, bast) are softirq safe. Flag should be
64 * strongest context for ast, bast callback is softirq as it avoids
165 * can be processed in softirq context. Also some of the callback
H A Dconnector.h96 * It can be safely called from softirq context, but may silently
122 * It can be safely called from softirq context, but may silently
/linux/include/net/page_pool/
H A Dtypes.h52 * this array, as it shares the same softirq/NAPI protection. If
202 /* these stats are incremented while in softirq context */
216 * Softirq/BH scheduling and napi_schedule. NAPI schedule
/linux/Documentation/tools/rtla/
H A Dcommon_osnoise_description.txt3 time in a loop while with preemption, softirq and IRQs enabled, thus

12345678