Data Structures | |
| struct | lib::softirq_entry |
| One entry in the global softirq vector table. More... | |
| struct | lib::softirq_state |
| Per-CPU softirq execution state. More... | |
Enumerations | |
| enum class | softirq_vec : u8 { hi = 0 , timer = 1 , net_tx = 2 , net_rx = 3 , block = 4 , irq_poll = 5 , tasklet = 6 , sched = 7 , hrtimer = 8 , rcu = 9 , mutex_release = 10 , nohz_idle = 11 , numa = 12 , _count } |
| Softirq vector identifier. | |
Typedefs | |
| using | lib::softirq_fn = auto (*)(void* data) noexcept -> void |
| Function pointer type invoked by the softirq dispatcher. | |
Functions | |
| auto | lib::do_softirq () noexcept -> void |
| Drain all pending softirq vectors on the current CPU. | |
| auto | lib::open_softirq (softirq_vec v, softirq_fn action, void *data) noexcept -> std::expected< void, lib::kernel_error > |
| Register a handler for a softirq vector. | |
| auto | lib::raise_softirq (softirq_vec v) noexcept -> void |
| Mark a softirq vector as pending on the current CPU. | |
| auto | lib::raise_softirq_on (u16 cpu, softirq_vec v) noexcept -> void |
| Mark a softirq vector as pending on a remote CPU. | |
| constexpr auto | lib::softirq_bit (softirq_vec v) noexcept -> u32 |
| Convert a softirq vector to its bit position in the pending bitmap. | |
| auto | lib::softirq_clear (softirq_vec v) noexcept -> bool |
| Clear a pending softirq vector without dispatching it. | |
| auto | lib::softirq_entry_for (softirq_vec v) noexcept -> const softirq_entry & |
| Return the global vector-table entry for a softirq vector. | |
| constexpr auto | lib::softirq_index (softirq_vec v) noexcept -> u32 |
| Convert a softirq vector to its dense index in the vector table. | |
| auto | lib::softirq_pending () noexcept -> bool |
| Test whether any softirq is pending on the current CPU. | |
| auto | lib::softirq_stats () noexcept -> std::pair< u64, u64 > |
| Read this CPU's softirq dispatch statistics (for diagnostics). | |
| auto | lib::softirq_test (softirq_vec v) noexcept -> bool |
| Test whether a particular softirq vector is pending on this CPU. | |
Files | |
| file | lib/softirq.zcomponent/core.cxxm |
| file | lib/softirq.zcomponent/core.cxx |