kfifo_in_sp...ed_noirqsave(9)
π kfifo_in_spinlocked_noirqsave β from the Kernel API Manual, bestie π
okay so picture this: you're deep in the kernel, you've got a fifo, you've got a spinlock, and you cannot be out here disabling interrupts. this page is literally your girl. it's kfifo_in_spinlocked_noirqsave(9) and she's here to help you put data into a fifo while locking with a spinlock and not disabling interrupts. no cap. β¨
πΈ NAME πΈ
kfifo_in_spinlocked_noirqsave β put data into fifo using a spinlock for locking, don't disable interrupts π
π¦ SYNOPSIS π¦
kfifo_in_spinlocked_noirqsave (fifo , buf , n , lock );
like. that's the whole vibe. four things, in that order, periodt. π
β¨ ARGUMENTS β¨
fifoβ address of the fifo to be used. yes bestie the address, hand her over π«Άbufβ the data to be added. this is the actual stuff going in πnβ number of elements to be added. count 'em, don't guess π’lockβ pointer to the spinlock to use for locking. pointer!! not the lock itself, iykyk π
π₯ DESCRIPTION π₯
so this one is a variant of kfifo_in_spinlocked, okay? the whole personality of this function is that it uses spin_lock/unlock for locking and it doesn't disable interrupts. that's the entire thing. that's the character arc. π
if you were looking for the interrupt-disabling experience, this is not that girl β go read the other one. this one keeps interrupts living their best life. β
π SEE ALSO π
kernel file ./include/linux/kfifo.h β the whole kfifo cinematic universe lives here, and honestly? she ate. highkey obsessed. π
DECLARE_KFIFO_PTR(9)DECLARE_KFIFO(9)INIT_KFIFO(9)DEFINE_KFIFO(9)kfifo_initialized(9)kfifo_esize(9)kfifo_recsize(9)kfifo_size(9)kfifo_reset(9)kfifo_reset_out(9)kfifo_len(9)kfifo_is_empty(9)kfifo_is_empty_spinlocked(9)kfifo_is_empty_spinlocked_noirqsave(9)kfifo_is_full(9)kfifo_avail(9)kfifo_skip_count(9)kfifo_skip(9)kfifo_peek_len(9)kfifo_alloc(9)kfifo_alloc_node(9)kfifo_free(9)kfifo_init(9)kfifo_put(9)kfifo_get(9)kfifo_peek(9)kfifo_in(9)kfifo_in_spinlocked(9)kfifo_out(9)kfifo_out_spinlocked(9)kfifo_out_spinlocked_noirqsave(9)kfifo_from_user(9)kfifo_to_user(9)kfifo_dma_in_prepare_mapped(9)kfifo_dma_in_finish(9)kfifo_dma_out_prepare_mapped(9)kfifo_dma_out_finish(9)kfifo_out_peek(9)kfifo_out_linear(9)kfifo_out_linear_ptr(9)
like, read them all. it's giving syllabus. π
π friendly little vibe check: the whole point of this function is that it does not disable interrupts β so make sure that's actually what you want before you commit, bestie. π
aaaand that's the page!! π it lives under ./include/linux and the manual's dated October 2026 β so yeah, mark your calendar, this info's literally from the future. π§π go forth and fifo responsibly, mwah πβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms