octep_hb_timeout_task(9)
π octep_hb_timeout_task(9) β the heartbeat babysitter π
okay so before we even get into it β hi bestie, welcome to the Kernel API Manual β¨ this little page is about octep_hb_timeout_task(9), which is genuinely one of the most "am I being ghosted?" functions in the whole kernel. let's get into it π«Ά
πΈ NAME πΈ
octep_hb_timeout_task β a work queue task that checks the firmware heartbeat π like it's refreshing their read receipts
β¨ SYNOPSIS β¨
void octep_hb_timeout_task (struct work_struct *work );
that's it, that's the whole signature β no return value, it just does the thing π
π ARGUMENTS π
workβ pointer to the hbwork_structπΌ this is the work item that got queued up, and yes it's literally the thing that woke this function up
π¦ DESCRIPTION π¦
so here's the vibe: this task checks the heartbeat miss count π like it's checking if the firmware's still posting.
and then β and this is the main character moment β it uninitializes the oct device if the miss count exceeds the configured max heartbeat miss count. no cap. too many missed heartbeats and the device gets shut down. it's giving "you left me on read one too many times" ππ
basically: firmware ghosting β miss counter goes up β counter goes over the configured max β device gets uninitialized. periodt β¨
π SEE ALSO π
these are all the sibling functions β the whole group chat, fr fr π¬
octep_alloc_ioq_vectors(9)octep_free_ioq_vectors(9)octep_enable_msix_range(9)octep_disable_msix(9)octep_mbox_intr_handler(9)octep_oei_intr_handler(9)octep_ire_intr_handler(9)octep_ore_intr_handler(9)octep_vfire_intr_handler(9)octep_vfore_intr_handler(9)octep_dma_intr_handler(9)octep_dma_vf_intr_handler(9)octep_pp_vf_intr_handler(9)octep_misc_intr_handler(9)octep_rsvd_intr_handler(9)octep_ioq_intr_handler(9)octep_request_irqs(9)octep_free_irqs(9)octep_setup_irqs(9)octep_clean_irqs(9)octep_update_pkt(9)octep_enable_ioq_irq(9)octep_napi_poll(9)octep_napi_add(9)octep_napi_delete(9)octep_napi_enable(9)octep_napi_disable(9)octep_open(9)octep_stop(9)octep_iq_full_check(9)octep_start_xmit(9)octep_get_stats64(9)octep_tx_timeout_task(9)octep_tx_timeout(9)octep_intr_poll_task(9)octep_ctrl_mbox_task(9)octep_device_setup(9)octep_device_cleanup(9)octep_probe(9)octep_remove(9)octep_init_module(9)octep_exit_module(9)
and if you wanna read the source yourself, it lives at the kernel file ./drivers/net/ethernet/marvell/octeon_ep/octep_main.c π go peek, it's lowkey iconic.
bestie heads up: this page is filed under source ./drivers/net/ethernet/marvell... and it's dated October 2026 πΈ so like, that's the version/date situation, k? mwah π iykyk ππ
π¦ 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