diff options
author | Ingo Molnar <mingo@elte.hu> | 2010-09-15 04:27:31 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2010-09-15 04:27:31 -0400 |
commit | 3aabae7d9dfaed60effe93662f02c19bafc18537 (patch) | |
tree | af94cdd69add07601d9f3f5988dfc1dc255e3886 /net/core/dev.c | |
parent | 79e406d7b00ab2b261ae32a59f266fd3b7af6f29 (diff) | |
parent | 57c072c7113f54f9512624d6c665db6184448782 (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.c | 16 |
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); |