]> git.baikalelectronics.ru Git - kernel.git/commit
hv_netvsc: use skb_get_hash() instead of a homegrown implementation
authorVitaly Kuznetsov <vkuznets@redhat.com>
Mon, 25 Jan 2016 15:00:41 +0000 (16:00 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 25 Jan 2016 18:51:53 +0000 (10:51 -0800)
commit990799e243f0b53b782c9cd8e06eba3abe119cf1
tree301b90371e403baf51efa162078be19e074f300c
parentb114e95c2f0fa12e4ef51d5dd338571ee4b7d1b4
hv_netvsc: use skb_get_hash() instead of a homegrown implementation

Recent changes to 'struct flow_keys' (e.g commit 93f8c3d2562b ("net: Add
VLAN ID to flow_keys")) introduced a performance regression in netvsc
driver. Is problem is, however, not the above mentioned commit but the
fact that netvsc_set_hash() function did some assumptions on the struct
flow_keys data layout and this is wrong.

Get rid of netvsc_set_hash() by switching to skb_get_hash(). This change
will also imply switching to Jenkins hash from the currently used Toeplitz
but it seems there is no good excuse for Toeplitz to stay.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Acked-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/hyperv/netvsc_drv.c