diff options
author | Jason Wang <jasowang@redhat.com> | 2014-07-14 11:42:44 +0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-07-14 16:14:16 -0700 |
commit | 32b333fe99069d090a12cc106fd5ae1002fe642f (patch) | |
tree | 580daefb2372d7ef862dec5b0ca109eb848bafc7 /drivers/net/ethernet/mellanox/mlx4/en_rx.c | |
parent | 548d28bd0eac840d122b691279ce9f4ce6ecbfb6 (diff) | |
download | op-kernel-dev-32b333fe99069d090a12cc106fd5ae1002fe642f.zip op-kernel-dev-32b333fe99069d090a12cc106fd5ae1002fe642f.tar.gz |
mlx4: mark napi id for gro_skb
Napi id was not marked for gro_skb, this will lead rx busy loop won't
work correctly since they stack never try to call low latency receive
method because of a zero socket napi id. Fix this by marking napi id
for gro_skb.
The transaction rate of 1 byte netperf tcp_rr gets about 50% increased
(from 20531.68 to 30610.88).
Cc: Amir Vadai <amirv@mellanox.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlx4/en_rx.c')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlx4/en_rx.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx4/en_rx.c b/drivers/net/ethernet/mellanox/mlx4/en_rx.c index 9672417..5535862 100644 --- a/drivers/net/ethernet/mellanox/mlx4/en_rx.c +++ b/drivers/net/ethernet/mellanox/mlx4/en_rx.c @@ -783,6 +783,7 @@ int mlx4_en_process_rx_cq(struct net_device *dev, struct mlx4_en_cq *cq, int bud PKT_HASH_TYPE_L3); skb_record_rx_queue(gro_skb, cq->ring); + skb_mark_napi_id(gro_skb, &cq->napi); if (ring->hwtstamp_rx_filter == HWTSTAMP_FILTER_ALL) { timestamp = mlx4_en_get_cqe_ts(cqe); |