Home
last modified time | relevance | path

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

1234567891011

/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 is raised
[all …]
/linux/kernel/ !
H A Dsoftirq.c3 * linux/kernel/softirq.c
39 - If a softirq needs serialization, let it serialize itself
41 - Even if softirq is serialized, only local cpu is marked for
47 - NET RX softirq. It is multithreaded and does not require
49 - NET TX softirq. It kicks software netdevice queues, hence
73 * the softirq load for us.
97 * - count is changed by SOFTIRQ_OFFSET on entering or leaving softirq
104 * softirq and whether we just have bh disabled.
111 * softirq disabled section to be preempted.
118 * the task which is in a softirq disabled section is preempted or blocks.
[all …]
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
/linux/include/kunit/ !
H A Drun-in-irq-context.h41 * If the timer is firing too often for the softirq or task to ever have in kunit_irq_test_timer_func()
69 * Helper function which repeatedly runs the given @func in task, softirq, and
73 * run concurrently: one in each of task, softirq, and hardirq context. @func
75 * long as at least one each runs in task, softirq, and hardirq contexts), or
89 * especially in softirq context when the softirq may have interrupted a task
111 * struct for the BH workqueue (the way we access softirq context). in kunit_run_irq_test()
118 * Run for up to max_iterations (including at least one task, softirq, in kunit_run_irq_test()
151 "Failure reported from softirq context"); in kunit_run_irq_test()
/linux/fs/proc/ !
H A Dstat.c85 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()
185 seq_put_decimal_ull(p, "softirq ", (unsigned long long)sum_softirq); in show_stat()
/linux/kernel/trace/ !
H A Dtrace_osnoise.c214 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()
408 seq_puts(s, "# || / _----=> hardirq/softirq\n"); in print_osnoise_headers()
436 seq_puts(s, "# | / _---=> hardirq/softirq\n"); in print_osnoise_headers()
524 seq_puts(s, "# || / _----=> hardirq/softirq\n"); in print_timerlat_headers()
540 seq_puts(s, "# | / _---=> hardirq/softirq\n"); in print_timerlat_headers()
706 * cond_move_softirq_delta_start - Forward the delta_start of a running softirq.
708 * If a softirq is preempted by an IRQ or NMI, its delta_start is pushed
716 if (osn_var->softirq.delta_start) in cond_move_softirq_delta_start()
[all …]
/linux/Documentation/core-api/real-time/ !
H A Ddifferences.rst74 other threads. Do not assume that softirq context runs with preemption
76 process context to protect per-CPU variables. Because softirq handlers are
99 that the lock is only acquired in process context and never from softirq or
119 softirq context.
122 softirq context by default, typically within the ktimersd thread. This thread
178 RCU callbacks are invoked by default in softirq context. Their execution is
180 progress in state transitions. Running these callbacks as part of the softirq
184 To avoid running callbacks in softirq context, the RCU subsystem provides a
/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 Dstallwarn.rst57 is running at a higher priority than the RCU softirq threads.
73 prevent RCU's kthreads and softirq handlers from running.
239 2-...: (3 GPs behind) idle=06c/0/0 softirq=1453/1455 fqs=0
240 16-...: (0 ticks this GP) idle=81c/0/0 softirq=764/764 fqs=0
267 The "softirq=" portion of the message tracks the number of RCU softirq
275 across repeated stall-warning messages, it is possible that RCU's softirq
278 kernels, if a high-priority process is starving RCU's softirq handler.
344 Possible timer handling issue on cpu=4 timer-softirq=11142
347 where it queued the fqs timer. The number following the "timer-softirq"
461 result in softirq execution are confined to other CPUs. In this case,
/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/include/linux/ !
H A Dhrtimer_defs.h58 * @softirq_activated: displays, if the softirq is raised - update of softirq
64 * @softirq_expiry_lock: Lock which is taken while softirq based hrtimer are
74 * @softirq_next_timer: Pointer to the first expiring softirq based timer
H A Dinterrupt.h561 RCU_SOFTIRQ, /* Preferable RCU should always be the last softirq */
581 /* map softirq index to softirq name. update 'softirq_to_name' in
582 * kernel/softirq.c when adding a new softirq.
586 /* softirq mask and active fields moved to irq_cpustat_t in
615 * With forced-threaded interrupts enabled a raised softirq is deferred to
619 * With PREEMPT_RT enabled more hrtimers are moved to softirq for processing
625 * other wake ups are delayed to softirq and so to ksoftirqd.
628 * handles the softirq i
[all...]
/linux/Documentation/translations/it_IT/kernel-hacking/ !
H A Dlocking.rst173 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 …]
/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/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 …]
/linux/arch/sh/kernel/ !
H A Dirq.c93 * Copy the softirq bits in preempt_count so that the in handle_one_irq()
94 * softirq checks work in the hardirq context. in handle_one_irq()
118 * allocate per-cpu stacks for hardirq and for softirq processing
164 /* build the stack frame on the softirq stack */ in do_softirq_own_stack()
170 /* switch to the softirq stack */ in do_softirq_own_stack()
/linux/lib/ !
H A Dlocking-selftest.c193 * For spinlocks and rwlocks we also do hardirq-safe / softirq-safe tests.
194 * The following functions use a lock from a simulated hardirq/softirq
195 * context, causing the locks to be marked as hardirq-safe/softirq-safe:
818 #include "locking-selftest-spin-softirq.h" in GENERATE_PERMUTATIONS_2_EVENTS()
821 #include "locking-selftest-rlock-softirq.h" in GENERATE_PERMUTATIONS_2_EVENTS()
824 #include "locking-selftest-wlock-softirq.h" in GENERATE_PERMUTATIONS_2_EVENTS()
833 * Enabling hardirqs with a softirq-safe lock held: in GENERATE_PERMUTATIONS_2_EVENTS()
896 #include "locking-selftest-spin-softirq.h"
899 #include "locking-selftest-rlock-softirq.h"
902 #include "locking-selftest-wlock-softirq.h"
[all …]
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()
/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/arch/s390/kernel/ !
H A Dvtime.c119 u64 timer, clock, user, guest, system, hardirq, softirq; in do_account_vtime() local
147 softirq = update_tsk_timer(&tsk->thread.softirq_timer, lc->softirq_timer); in do_account_vtime()
148 lc->steal_timer += clock - user - guest - system - hardirq - softirq; in do_account_vtime()
165 if (softirq) in do_account_vtime()
166 account_system_index_scaled(tsk, softirq, CPUTIME_SOFTIRQ); in do_account_vtime()
168 return virt_timer_forward(user + guest + system + hardirq + softirq); in do_account_vtime()
/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/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/include/net/ !
H A Dcls_cgroup.h58 * packets originating from softirq context as accessing `current' in task_get_classid()
62 * disable bh. Knowing this, it is possible to detect softirq based in task_get_classid()
/linux/include/crypto/internal/ !
H A Dhash.h363 * Context: Softirq or process context.
375 * Context: Softirq or process context.
387 * Context: Softirq or process context.
399 * Context: Softirq or process context.

1234567891011