aboutsummaryrefslogtreecommitdiffstats
path: root/net/core/dev.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2010-09-15 04:27:31 -0400
committerIngo Molnar <mingo@elte.hu>2010-09-15 04:27:31 -0400
commit3aabae7d9dfaed60effe93662f02c19bafc18537 (patch)
treeaf94cdd69add07601d9f3f5988dfc1dc255e3886 /net/core/dev.c
parent79e406d7b00ab2b261ae32a59f266fd3b7af6f29 (diff)
parent57c072c7113f54f9512624d6c665db6184448782 (diff)
Merge branch 'tip/perf/core' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/core
Diffstat (limited to 'net/core/dev.c')
-rw-r--r--net/core/dev.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/net/core/dev.c b/net/core/dev.c
index 2308cce48048..561ee3a86525 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -2062,16 +2062,16 @@ static struct netdev_queue *dev_pick_tx(struct net_device *dev,
2062 struct sk_buff *skb) 2062 struct sk_buff *skb)
2063{ 2063{
2064 int queue_index; 2064 int queue_index;
2065 struct sock *sk = skb->sk; 2065 const struct net_device_ops *ops = dev->netdev_ops;
2066 2066
2067 queue_index = sk_tx_queue_get(sk); 2067 if (ops->ndo_select_queue) {
2068 if (queue_index < 0) { 2068 queue_index = ops->ndo_select_queue(dev, skb);
2069 const struct net_device_ops *ops = dev->netdev_ops; 2069 queue_index = dev_cap_txqueue(dev, queue_index);
2070 } else {
2071 struct sock *sk = skb->sk;
2072 queue_index = sk_tx_queue_get(sk);
2073 if (queue_index < 0) {
2070 2074
2071 if (ops->ndo_select_queue) {
2072 queue_index = ops->ndo_select_queue(dev, skb);
2073 queue_index = dev_cap_txqueue(dev, queue_index);
2074 } else {
2075 queue_index = 0; 2075 queue_index = 0;
2076 if (dev->real_num_tx_queues > 1) 2076 if (dev->real_num_tx_queues > 1)
2077 queue_index = skb_tx_hash(dev, skb); 2077 queue_index = skb_tx_hash(dev, skb);