[PATCH net-next V2 00/17] hv_netvsc: Eliminate the additional head room

2015-11-28 Thread K. Y. Srinivasan
In an attempt to avoid having to allocate memory on the send path, the netvsc driver was requesting additional head room so that both rndis header and the netvsc packet (the state that had to persist) could be placed in the skb. Since the amount of head room requested was exceeding the default head

[PATCH net-next V2 10/17] hv_netvsc: remove locking in netvsc_send()

2015-11-28 Thread K. Y. Srinivasan
From: Vitaly Kuznetsov Packet scheduler guarantees there won't be multiple senders for the same queue and as we use q_idx for multi_send_data the spinlock is redundant. Signed-off-by: Vitaly Kuznetsov Signed-off-by: K. Y. Srinivasan --- drivers/net/hyperv/hyperv_net.h |1 - drivers/net/hy

[PATCH net-next V2 12/17] hv_netvsc: Eliminate send_completion_tid from struct hv_netvsc_packet

2015-11-28 Thread K. Y. Srinivasan
Eliminate send_completion_tid from struct hv_netvsc_packet. Signed-off-by: K. Y. Srinivasan --- drivers/net/hyperv/hyperv_net.h |8 ++-- drivers/net/hyperv/netvsc.c | 28 ++-- drivers/net/hyperv/netvsc_drv.c | 14 ++ drivers/net/hyperv/rn

[PATCH net-next V2 07/17] hv_netvsc: Eliminate send_completion_ctx from struct hv_netvsc_packet

2015-11-28 Thread K. Y. Srinivasan
Eliminate send_completion_ctx from struct hv_netvsc_packet. Signed-off-by: K. Y. Srinivasan Reviewed-by: Haiyang Zhang --- drivers/net/hyperv/hyperv_net.h |1 - drivers/net/hyperv/netvsc.c |3 +-- drivers/net/hyperv/netvsc_drv.c |1 - 3 files changed, 1 insertions(+), 4 deletion

[PATCH net-next V2 04/17] hv_netvsc: Eliminate rndis_msg pointer from hv_netvsc_packet structure

2015-11-28 Thread K. Y. Srinivasan
Eliminate rndis_msg pointer from hv_netvsc_packet structure. Signed-off-by: K. Y. Srinivasan Reviewed-by: Haiyang Zhang --- drivers/net/hyperv/hyperv_net.h |8 +++- drivers/net/hyperv/netvsc.c | 10 ++ drivers/net/hyperv/netvsc_drv.c |7 +++ drivers/net/hyper

[PATCH net-next V2 16/17] hv_netvsc: Eliminate status from struct hv_netvsc_packet

2015-11-28 Thread K. Y. Srinivasan
Eliminate status from struct hv_netvsc_packet. Signed-off-by: K. Y. Srinivasan --- drivers/net/hyperv/hyperv_net.h |1 - drivers/net/hyperv/netvsc.c |6 ++ drivers/net/hyperv/netvsc_drv.c |8 ++-- drivers/net/hyperv/rndis_filter.c | 20 +--- 4 file

[PATCH net-next V2 08/17] hv_netvsc: Don't ask for additional head room in the skb

2015-11-28 Thread K. Y. Srinivasan
The rndis header is 116 bytes big and can be placed in the default head room that will be available in the skb. Since the netvsc packet is less than 48 bytes, we can use the skb control buffer for the netvsc packet. With these changes we don't need to ask for additional head room. Signed-off-by: K

[PATCH net-next V2 17/17] hv_netvsc: Eliminate vlan_tci from struct hv_netvsc_packet

2015-11-28 Thread K. Y. Srinivasan
Eliminate vlan_tci from struct hv_netvsc_packet. Signed-off-by: K. Y. Srinivasan --- drivers/net/hyperv/hyperv_net.h |4 ++-- drivers/net/hyperv/netvsc_drv.c | 14 +++--- drivers/net/hyperv/rndis_filter.c |7 +++ 3 files changed, 12 insertions(+), 13 deletions(-) diff

[PATCH net-next V2 09/17] hv_netvsc: move subchannel existence check to netvsc_select_queue()

2015-11-28 Thread K. Y. Srinivasan
From: Vitaly Kuznetsov Signed-off-by: Vitaly Kuznetsov Signed-off-by: K. Y. Srinivasan --- drivers/net/hyperv/hyperv_net.h | 15 --- drivers/net/hyperv/netvsc.c |5 ++--- drivers/net/hyperv/netvsc_drv.c |3 +++ 3 files changed, 5 insertions(+), 18 deletions(-) diff -

[PATCH net-next V2 02/17] hv_netvsc: Rearrange the hv_negtvsc_packet to be space efficient

2015-11-28 Thread K. Y. Srinivasan
Rearrange the elements of struct hv_negtvsc_packet for optimal layout - eliminate unnecessary padding. Signed-off-by: K. Y. Srinivasan Reviewed-by: Haiyang Zhang --- drivers/net/hyperv/hyperv_net.h | 18 ++ 1 files changed, 10 insertions(+), 8 deletions(-) diff --git a/driver

[PATCH net-next V2 03/17] hv_netvsc: Eliminate the channel field in hv_netvsc_packet structure

2015-11-28 Thread K. Y. Srinivasan
Eliminate the channel field in hv_netvsc_packet structure. Signed-off-by: K. Y. Srinivasan Reviewed-by: Haiyang Zhang --- drivers/net/hyperv/hyperv_net.h | 22 ++ drivers/net/hyperv/netvsc.c | 19 --- drivers/net/hyperv/netvsc_drv.c |5 +++--

[PATCH net-next V2 06/17] hv_netvsc: Eliminate send_completion from struct hv_netvsc_packet

2015-11-28 Thread K. Y. Srinivasan
Eliminate send_completion from struct hv_netvsc_packet. Signed-off-by: K. Y. Srinivasan Reviewed-by: Haiyang Zhang --- drivers/net/hyperv/hyperv_net.h |3 +-- drivers/net/hyperv/netvsc.c |6 +++--- drivers/net/hyperv/netvsc_drv.c |2 +- drivers/net/hyperv/rndis_filter.c |

[PATCH net-next V2 05/17] hv_netvsc: Eliminatte the data field from struct hv_netvsc_packet

2015-11-28 Thread K. Y. Srinivasan
Eliminatte the data field from struct hv_netvsc_packet. Signed-off-by: K. Y. Srinivasan Reviewed-by: Haiyang Zhang --- drivers/net/hyperv/hyperv_net.h |5 ++--- drivers/net/hyperv/netvsc.c |5 +++-- drivers/net/hyperv/netvsc_drv.c |3 ++- drivers/net/hyperv/rndis_filter.c

[PATCH net-next V2 14/17] hv_netvsc: Eliminate completion_func from struct hv_netvsc_packet

2015-11-28 Thread K. Y. Srinivasan
Eliminate completion_func from struct hv_netvsc_packet. Signed-off-by: K. Y. Srinivasan --- drivers/net/hyperv/hyperv_net.h |1 - drivers/net/hyperv/netvsc_drv.c |3 --- drivers/net/hyperv/rndis_filter.c |1 - 3 files changed, 0 insertions(+), 5 deletions(-) diff --git a/drivers

[PATCH net-next V2 15/17] hv_netvsc: Eliminate xmit_more from struct hv_netvsc_packet

2015-11-28 Thread K. Y. Srinivasan
Eliminate xmit_more from struct hv_netvsc_packet. Signed-off-by: K. Y. Srinivasan --- drivers/net/hyperv/hyperv_net.h |1 - drivers/net/hyperv/netvsc.c | 13 - drivers/net/hyperv/netvsc_drv.c |1 - drivers/net/hyperv/rndis_filter.c |2 -- 4 files changed, 8 in

[PATCH net-next V2 11/17] hv_netvsc: Eliminate page_buf from struct hv_netvsc_packet

2015-11-28 Thread K. Y. Srinivasan
Eliminate page_buf from struct hv_netvsc_packet. Signed-off-by: K. Y. Srinivasan Reviewed-by: Haiyang Zhang --- drivers/net/hyperv/hyperv_net.h |4 ++-- drivers/net/hyperv/netvsc.c | 25 ++--- drivers/net/hyperv/netvsc_drv.c | 11 ++- drivers/net/hy

[PATCH net-next V2 01/17] hv_netvsc: Resize some of the variables in hv_netvsc_packet

2015-11-28 Thread K. Y. Srinivasan
As part of reducing the size of the hv_netvsc_packet, resize some of the variables based on their usage. Signed-off-by: K. Y. Srinivasan Reviewed-by: Haiyang Zhang --- drivers/net/hyperv/hyperv_net.h | 14 +++--- 1 files changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/n

[PATCH net-next V2 13/17] hv_netvsc: Eliminate is_data_pkt from struct hv_netvsc_packet

2015-11-28 Thread K. Y. Srinivasan
Eliminate is_data_pkt from struct hv_netvsc_packet. Signed-off-by: K. Y. Srinivasan --- drivers/net/hyperv/hyperv_net.h |1 - drivers/net/hyperv/netvsc.c | 14 -- drivers/net/hyperv/netvsc_drv.c |1 - drivers/net/hyperv/rndis_filter.c |1 - 4 files changed, 8