fcoe_check_wait_queue(9)
π fcoe_check_wait_queue β a Kernel API Manual moment
okay bestie, we're in the Kernel API Manual today and the star of the show is fcoe_check_wait_queue(9), which is literally just out here Attempt to clear the transmit backlog. that's the whole name, that's the whole vibe. π
β¨ SYNOPSIS β¨
void fcoe_check_wait_queue (struct fc_lport *lport , struct sk_buff *skb
);
like, yes, the line break is really like that. copy it exactly, i'm not joking. π
π«Ά ARGUMENTS π«Ά
lportβ the local port whose backlog we're clearing out. this is the one holding the queue we're about to unclog. main character energy fr. πskbβ the received FIP packet. yes, it's a parameter, and yes, it just shows up like that. π
π DESCRIPTION π
so the way this works: it empties the wait_queue, dequeues the head of the wait_queue queue, and calls fcoe_start_io for each packet. one by one, slay by slay. β¨
if all skb have been transmitted, it returns the qlen. cute, correct, iconic.
if an error occurs, ngl, it restores wait_queue so it can try again later and returns -1. a little comeback arc, we love to see it. π
now the wait_queue lore: it's used when the skb transmit fails. the failed skb goes into the wait_queue, and that queue gets emptied either by the timer function or by the next skb transmit. so like, it never just sits there rotting β something always comes to collect it. π¦
heads up β a failed transmit drops the skb into the wait_queue, and the empty-out happens via the timer function or the next skb transmit. that's the mechanism, don't forget it. π
π SEE ALSO π
kernel file ./drivers/scsi/fcoe/fcoe_transport.c β go read the source bestie, it's all in there:
fcoe_link_speed_update(9)__fcoe_get_lesb(9)fcoe_get_lesb(9)fcoe_ctlr_get_lesb(9)fcoe_validate_vport_create(9)fcoe_get_wwn(9)fcoe_fc_crc(9)fcoe_start_io(9)fcoe_clean_pending_queue(9)fcoe_queue_timer(9)fcoe_get_paged_crc_eof(9)fcoe_transport_lookup(9)fcoe_transport_attach(9)fcoe_transport_detach(9)fcoe_netdev_map_lookup(9)fcoe_if_to_netdev(9)libfcoe_device_notification(9)fcoe_transport_create(9)fcoe_transport_destroy(9)fcoe_transport_disable(9)fcoe_transport_enable(9)libfcoe_init(9)libfcoe_exit(9)
that's the whole page, no notes. π this came from ./drivers/scsi/fcoe, dated October 2026, in the Kernel API Manual, and it goes by fcoe_check_wait_queue(9). mwah, bye bestie ππ§π
π¦ 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