kfifo_out_sp...ed_noirqsave(9)
π
kfifo_out_sp...ed_noirqsave (9) β from the Kernel API Manual, bestie π
okay so picture this: you're deep in the kernel, you've got a fifo, you've got data, and you need it out β but you also don't want to be rude and turn off interrupts for the whole class. yeah. this function is literally that girl. welcome to the group chat. β¨π¦
πΈ NAME πΈ
kfifo_out_spinlocked_noirqsave β grab data out of the fifo while using a spinlock for locking, and don't disable interrupts. no cap, that's the whole vibe. π
β SYNOPSIS β
kfifo_out_spinlocked_noirqsave (fifo , buf , n , lock );
like, that's it. four args. she's lowkey minimal. π
π§ ARGUMENTS π§
fifoβ the address of the fifo you're working with. the main character, obvi. πbufβ pointer to the storage buffer, aka where the goods are gonna land. πnβ max. number of elements to get. maximum, bestie β she will not exceed it. πlockβ pointer to the spinlock you're using for locking. she needs her security blanket. π
π₯ DESCRIPTION π₯
so here's the tea: this is a variant of kfifo_out_spinlocked. the way that it differs? it uses spin_lock/unlock for locking, and it does not disable interrupts.
that's it. that's the whole personality. highkey iconic for exactly one reason and we respect it. π«Άπ
π SEE ALSO π
all the siblings, cousins, and extended family live in the kernel file ./include/linux/kfifo.h β go say hi:
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_in_spinlocked_noirqsave(9)kfifo_out(9)kfifo_out_spinlocked(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)
ngl this one is short and sweet, but the family tree is thriving. iykyk. πΈ
okay that's the page!! mwah π this lil doc came from ./include/linux, dated October 2026, and yeah β that's the source/version and date, so we're shouting them out properly at the very end like the good little citation-besties we are. periodt. π
β¨ππ¦ππ₯ππβπππ§ππ«Ά
π¦ 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