summaryrefslogtreecommitdiff
path: root/share/man/man9/ifq_enqueue.9
AgeCommit message (Collapse)Author
2015-12-10tweak;Jason McIntyre
2015-12-10ifq_restart can be called from autoconf, process context, and interrupts.David Gwynne
2015-12-10document ifq_barrier()David Gwynne
2015-12-09missing apostrophe;Jason McIntyre
2015-12-09document ifq_restart. or try to.David Gwynne
2015-11-25replace IFF_OACTIVE manipulation with mpsafe operations.David Gwynne
there are two things shared between the network stack and drivers in the send path: the send queue and the IFF_OACTIVE flag. the send queue is now protected by a mutex. this diff makes the oactive functionality mpsafe too. IFF_OACTIVE is part of if_flags. there are two problems with that. firstly, if_flags is a short and we dont have any MI atomic operations to manipulate a short. secondly, while we could make the IFF_OACTIVE operates mpsafe, all changes to other flags would have to be made safe at the same time, otherwise a read-modify-write cycle on their updates could clobber the oactive change. instead, this moves the oactive mark into struct ifqueue and provides an API for changing it. there's ifq_set_oactive, ifq_clr_oactive, and ifq_is_oactive. these are modelled on ifsq_set_oactive, ifsq_clr_oactive, and ifsq_is_oactive in dragonflybsd. this diff includes changes to all the drivers manipulating IFF_OACTIVE to now use the ifsq_{set,clr_is}_oactive API too. ok kettenis@ mpi@ jmatthew@ deraadt@
2015-11-23tweaks;Jason McIntyre
2015-11-23Move ifq_deq_{begin,commit,rollback} appart to keep man pages short,Martin Pieuchot
readable and to emphasis that they are not the prefered API for your drivers. ok dlg@
2015-11-20i made a mistake. rename ifq_enq and ifq_deq to ifq_enqueue and ifq_dequeueDavid Gwynne
fixing it now before i regret it more.