virtqueue_disable_cb(9)
π virtqueue_disable_cb β disable callbacks π
okay so bestie, welcome to section 9 of the Kernel API Manual, where today we're looking at virtqueue_disable_cb β¨ this one's short and sweet and honestly kind of an icon for it.
π NAME π
virtqueue_disable_cb β disable callbacks</p>, that's it, that's the whole job π
β¨ SYNOPSIS β¨
void virtqueue_disable_cb (struct virtqueue *_vq );
like, that's the entire vibe. one function, one pointer, no drama π¦
π«Ά ARGUMENTS π«Ά
_vqβ thestruct virtqueuewe're talking about. yeah. that one. your queue. your bestie. the whole reason you're here π«
πΈ DESCRIPTION πΈ
okay so important thing first, bestie, because this is the part where people get caught out: this call is not necessarily synchronous. which means it's unreliable π and it's only useful as an optimization. that's not me being dramatic, that's literally the note. don't build your whole correctness story on it, fr fr π
~~the other thing~~ and the other cute thing about it: unlike other operations, this need not be serialized. so you don't have to hold hands with everyone else to call it. lowkey freeing ngl π
no cap, those two caveats are the whole personality of this function. read them twice before you ship. the "unreliable" is doing real work in that sentence π
π¦ SEE ALSO π¦
the whole friend group, gathered for you π also peep the kernel file ./drivers/virtio/virtio_ring.c β that's where the lore lives:
virtqueue_add_sgs(9)virtqueue_add_outbuf(9)virtqueue_add_outbuf_premapped(9)virtqueue_add_inbuf(9)virtqueue_add_inbuf_cache_clean(9)virtqueue_add_inbuf_ctx(9)virtqueue_add_inbuf_premapped(9)virtqueue_dma_dev(9)virtqueue_kick_prepare(9)virtqueue_notify(9)virtqueue_kick(9)virtqueue_get_buf_ctx(9)virtqueue_enable_cb_prepare(9)virtqueue_poll(9)virtqueue_enable_cb(9)virtqueue_enable_cb_delayed(9)virtqueue_detach_unused_buf(9)vring_interrupt(9)virtqueue_resize(9)virtqueue_reset(9)virtqueue_get_vring_size(9)virtqueue_map_alloc_coherent(9)virtqueue_map_free_coherent(9)virtqueue_map_page_attrs(9)virtqueue_unmap_page_attrs(9)virtqueue_map_single_attrs(9)virtqueue_unmap_single_attrs(9)virtqueue_map_mapping_error(9)virtqueue_map_need_sync(9)virtqueue_map_sync_single_range_for_cpu(9)virtqueue_map_sync_single_range_for_device(9)
they all ate, no crumbs π
aaaand that's the page!! go disable some callbacks, but like, mindfully π§ this little transmission came to you from the source ./drivers/virtio, dated October 2026, and it stars virtqueue_disable_cb(9) in the lead role β mwah, ily, bye!! πππ¦
π¦ 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