diff options
author | Tom Herbert <therbert@google.com> | 2010-11-09 05:47:38 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-11-15 13:57:28 -0500 |
commit | fe8222406c8277a21172479d3a8283d31c209028 (patch) | |
tree | 89876457391fba73e3c2c9fdbf9c28a980ad4ffc /include/linux | |
parent | ed9af2e839c06c18f721da2c768fbb444c4a10e5 (diff) |
net: Simplify RX queue allocation
This patch move RX queue allocation to alloc_netdev_mq and freeing of
the queues to free_netdev (symmetric to TX queue allocation). Each
kobject RX queue takes a reference to the queue's device so that the
device can't be freed before all the kobjects have been released-- this
obviates the need for reference counts specific to RX queues.
Signed-off-by: Tom Herbert <therbert@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/netdevice.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 6e4cfbc53d4c..fccb11f879e5 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
@@ -592,8 +592,7 @@ struct netdev_rx_queue { | |||
592 | struct rps_map __rcu *rps_map; | 592 | struct rps_map __rcu *rps_map; |
593 | struct rps_dev_flow_table __rcu *rps_flow_table; | 593 | struct rps_dev_flow_table __rcu *rps_flow_table; |
594 | struct kobject kobj; | 594 | struct kobject kobj; |
595 | struct netdev_rx_queue *first; | 595 | struct net_device *dev; |
596 | atomic_t count; | ||
597 | } ____cacheline_aligned_in_smp; | 596 | } ____cacheline_aligned_in_smp; |
598 | #endif /* CONFIG_RPS */ | 597 | #endif /* CONFIG_RPS */ |
599 | 598 | ||