ks8851_start_xmit_par(9)
π ks8851_start_xmit_par(9) π
okay so bestie, welcome to the little page for ks8851_start_xmit_par β it's a Kernel API Manual entry and honestly? it's giving "small function, big job" energy. this is the transmit-packet girly for the ks8851 parallel driver, and she's got β¨exactly one jobβ¨ but she does it well. let's get into it π«Ά
β¨ NAME β¨
ks8851_start_xmit_par β transmit packet π
π¦ SYNOPSIS π¦
netdev_tx_t ks8851_start_xmit_par (struct sk_buff *skb , struct net_device *dev );
π ARGUMENTS π
skbβ the buffer to transmit, aka the actual packet bestie π like, this is the thing we're sending out into the world.devβ the device used to transmit the packet. the network device doing the actual work π
πΈ DESCRIPTION πΈ
so the network layer calls this one to transmit the skb. what she does is queue the packet for the device and then schedule the necessary work to transmit the packet when it is free β like, no rushing, no drama, she just lines it up and makes sure it gets sent when the hardware's ready. main character scheduling energy tbh π
and why do we do it this way?? two reasons, and they're both lowkey iconic:
- to firstly avoid sleeping with the network device locked π΄π β sleeping while holding the lock is a big no-no, we do not do that here
- to secondly be able to round up more than one packet to transmit, which means we can try and avoid generating too many transmit done interrupts π₯ like, batching the packets means fewer interrupts, and fewer interrupts is a vibe check that we absolutely pass π―
π SEE ALSO π
if you liked this one, you're gonna be obsessed with her friends π
all of these are in the kernel file ./drivers/net/ethernet/micrel/ks8851_par.c:
- struct
ks8851_net_par(9) ks8851_lock_par(9)ks8851_unlock_par(9)ks_check_endian(9)ks8851_wrreg16_par(9)ks8851_rdreg16_par(9)ks8851_rdfifo_par(9)ks8851_wrfifo_par(9)
ngl bestie the whole crew lives in ./drivers/net/ethernet/micrel and honestly, that's the friend group π§
mwah π that's the whole page!! this cutie dropped in October 2026 courtesy of the fine people at ./drivers/net/ethernet/micrel, and yup, the page name on the way out is still ks8851_start_xmit_par(9) β no cap, that's a wrap ππ
π¦ 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