2 Network Devices, the Kernel, and You!
7 The following is a random collection of documentation regarding
12 struct net_device synchronization rules
13 =======================================
15 Synchronization: rtnl_lock() semaphore.
19 Synchronization: rtnl_lock() semaphore.
21 Note1: netif_running() is guaranteed false
22 Note2: dev->poll() is guaranteed to be stopped
25 Synchronization: rtnl_lock() semaphore.
29 Synchronization: dev_base_lock rwlock.
30 Context: nominally process, but don't sleep inside an rwlock
33 Synchronization: dev->xmit_lock spinlock.
35 Notes: netif_queue_stopped() is guaranteed false
38 Synchronization: dev->xmit_lock spinlock.
40 Notes: netif_queue_stopped() is guaranteed true
42 dev->set_multicast_list:
43 Synchronization: dev->xmit_lock spinlock.
47 Synchronization: __LINK_STATE_RX_SCHED bit in dev->state. See
48 dev_close code and comments in net/core/dev.c for more info.