[PATCH net-next] netvsc: Use the new in-place consumption APIs in the rx path

2016-06-09 Thread K. Y. Srinivasan
Use the new APIs for eliminating a copy on the receive path. These new APIs also help in minimizing the number of memory barriers we end up issuing (in the ringbuffer code) since we can better control when we want to expose the ring state to the host. Signed-off-by: K. Y. Srinivasan Reviewed-by

[PATCH net-next V5 2/2] intel: ixgbevf: Support Windows hosts (Hyper-V)

2016-04-19 Thread K. Y. Srinivasan
On Hyper-V, the VF/PF communication is a via software mediated path as opposed to the hardware mailbox. Make the necessary adjustments to support Hyper-V. Signed-off-by: K. Y. Srinivasan --- V2: Addressed most of the comments from Alexander Duyck and Rustad, Mark

[PATCH net-next V5 1/2] ethernet: intel: Add the device ID's presented while running on Hyper-V

2016-04-19 Thread K. Y. Srinivasan
Intel SR-IOV cards present different ID when running on Hyper-V. Add the device IDs presented while running on Hyper-V. Signed-off-by: K. Y. Srinivasan --- V5: No change from V1 drivers/net/ethernet/intel/ixgbevf/defines.h |5 + 1 files changed, 5 insertions(+), 0 deletions

[PATCH net-next V5 0/2] ethernet: intel: Support Hyper-V hosts

2016-04-19 Thread K. Y. Srinivasan
Make adjustments to the Intel 10G VF driver to support running on Hyper-V hosts. K. Y. Srinivasan (2): ethernet: intel: Add the device ID's presented while running on Hyper-V intel: ixgbevf: Support Windows hosts (Hyper-V) drivers/net/ethernet/intel/ixgbevf/defines.h |

[PATCH net-next V4 1/2] ethernet: intel: Add the device ID's presented while running on Hyper-V

2016-04-19 Thread K. Y. Srinivasan
Intel SR-IOV cards present different ID when running on Hyper-V. Add the device IDs presented while running on Hyper-V. Signed-off-by: K. Y. Srinivasan --- V4: No change from V1 drivers/net/ethernet/intel/ixgbevf/defines.h |5 + 1 files changed, 5 insertions(+), 0 deletions

[PATCH net-next V4 2/2] intel: ixgbevf: Support Windows hosts (Hyper-V)

2016-04-19 Thread K. Y. Srinivasan
On Hyper-V, the VF/PF communication is a via software mediated path as opposed to the hardware mailbox. Make the necessary adjustments to support Hyper-V. Signed-off-by: K. Y. Srinivasan --- V2: Addressed most of the comments from Alexander Duyck and Rustad, Mark

[PATCH net-next V4 0/2] ethernet: intel: Support Hyper-V hosts

2016-04-19 Thread K. Y. Srinivasan
Make adjustments to the Intel 10G VF driver to support running on Hyper-V hosts. K. Y. Srinivasan (2): ethernet: intel: Add the device ID's presented while running on Hyper-V intel: ixgbevf: Support Windows hosts (Hyper-V) drivers/net/ethernet/intel/ixgbevf/defines.h |

[PATCH net-next V3 1/2] ethernet: intel: Add the device ID's presented while running on Hyper-V

2016-04-19 Thread K. Y. Srinivasan
Intel SR-IOV cards present different ID when running on Hyper-V. Add the device IDs presented while running on Hyper-V. Signed-off-by: K. Y. Srinivasan --- V2: No change from V1. V3: No change from V2. drivers/net/ethernet/intel/ixgbevf/defines.h |5 + 1 files changed

[PATCH net-next V3 2/2] intel: ixgbevf: Support Windows hosts (Hyper-V)

2016-04-19 Thread K. Y. Srinivasan
On Hyper-V, the VF/PF communication is a via software mediated path as opposed to the hardware mailbox. Make the necessary adjustments to support Hyper-V. Signed-off-by: K. Y. Srinivasan V2: Addressed most of the comments from Alexander Duyck and Rustad, Mark D

[PATCH net-next V3 0/2] ethernet: intel: Support Hyper-V hosts

2016-04-19 Thread K. Y. Srinivasan
Make adjustments to the Intel 10G VF driver to support running on Hyper-V hosts. K. Y. Srinivasan (2): ethernet: intel: Add the device ID's presented while running on Hyper-V intel: ixgbevf: Support Windows hosts (Hyper-V) drivers/net/ethernet/intel/ixgbevf/defines.h |

[PATCH net-next V2 0/2] ethernet: intel: Support Hyper-V hosts

2016-04-17 Thread K. Y. Srinivasan
Make adjustments to the Intel 10G VF driver to support running on Hyper-V hosts. K. Y. Srinivasan (2): ethernet: intel: Add the device ID's presented while running on Hyper-V intel: ixgbevf: Support Windows hosts (Hyper-V) drivers/net/ethernet/intel/ixgbevf/defines.h |

[PATCH net-next V2 1/2] ethernet: intel: Add the device ID's presented while running on Hyper-V

2016-04-17 Thread K. Y. Srinivasan
Intel SR-IOV cards present different ID when running on Hyper-V. Add the device IDs presented while running on Hyper-V. Signed-off-by: K. Y. Srinivasan --- V2: No change from V1. drivers/net/ethernet/intel/ixgbevf/defines.h |5 + 1 files changed, 5 insertions(+), 0 deletions

[PATCH net-next V2 2/2] intel: ixgbevf: Support Windows hosts (Hyper-V)

2016-04-17 Thread K. Y. Srinivasan
On Hyper-V, the VF/PF communication is a via software mediated path as opposed to the hardware mailbox. Make the necessary adjustments to support Hyper-V. Signed-off-by: K. Y. Srinivasan --- V2: Addressed most of the comments from Alexander Duyck and Rustad, Mark

[PATCH net-next V2 0/2] ethernet: intel: Support Hyper-V hosts

2016-04-17 Thread K. Y. Srinivasan
Make adjustments to the Intel 10G VF driver to support running on Hyper-V hosts. K. Y. Srinivasan (2): ethernet: intel: Add the device ID's presented while running on Hyper-V intel: ixgbevf: Support Windows hosts (Hyper-V) drivers/net/ethernet/intel/ixgbevf/defines.h |

[PATCH net-next 2/2] intel: ixgbevf: Support Windows hosts (Hyper-V)

2016-04-14 Thread K. Y. Srinivasan
On Hyper-V, the VF/PF communication is a via software mediated path as opposed to the hardware mailbox. Make the necessary adjustments to support Hyper-V. Signed-off-by: K. Y. Srinivasan --- drivers/net/ethernet/intel/ixgbevf/ixgbevf.h | 11 ++ drivers/net/ethernet/intel/ixgbevf

[PATCH net-next 1/2] ethernet: intel: Add the device ID's presented while running on Hyper-V

2016-04-14 Thread K. Y. Srinivasan
Intel SR-IOV cards present different ID when running on Hyper-V. Add the device IDs presented while running on Hyper-V. Signed-off-by: K. Y. Srinivasan --- drivers/net/ethernet/intel/ixgbevf/defines.h |5 + 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/drivers/net

[PATCH net-next 0/2] ethernet: intel: Support Hyper-V hosts

2016-04-14 Thread K. Y. Srinivasan
Make adjustments to the Intel 10G VF driver to support running on Hyper-V hosts. K. Y. Srinivasan (2): ethernet: intel: Add the device ID's presented while running on Hyper-V intel: ixgbevf: Support Windows hosts (Hyper-V) drivers/net/ethernet/intel/ixgbevf/defines.h |

[PATCH net-next 1/1] hv_netvsc: Implement support for VF drivers on Hyper-V

2016-04-14 Thread K. Y. Srinivasan
VF interface (if VF is up). This patch implements the necessary support in netvsc to support Linux VF drivers. Signed-off-by: K. Y. Srinivasan Reviewed-by: Haiyang Zhang --- drivers/net/hyperv/hyperv_net.h | 14 ++ drivers/net/hyperv/netvsc.c | 29 drivers/net/hyperv/netvsc_drv.c

[PATCH 1/1] hv_netvsc: Implement support for VF drivers on Hyper-V

2016-04-13 Thread K. Y. Srinivasan
VF interface (if VF is up). This patch implements the necessary support in netvsc to support Linux VF drivers. Signed-off-by: K. Y. Srinivasan --- drivers/net/hyperv/hyperv_net.h | 14 ++ drivers/net/hyperv/netvsc.c | 29 drivers/net/hyperv/netvsc_drv.c | 309

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

2015-12-01 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

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

2015-12-01 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

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

2015-12-01 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 V3 03/17] hv_netvsc: Eliminate the channel field in hv_netvsc_packet structure

2015-12-01 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 V3 14/17] hv_netvsc: Eliminate completion_func from struct hv_netvsc_packet

2015-12-01 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

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

2015-12-01 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

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

2015-12-01 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 V3 00/17] hv_netvsc: Eliminate the additional head room

2015-12-01 Thread K. Y. Srinivasan
e the netvsc packet in control buffer area in the skb. V2: - Addressed review comments: - Eliminated more fields from netvsc packet structure. V3: - Fixed a typo in patch: hv_netvsc: Don't ask for additional head room in the skb. K. Y. Srinivasan (15): hv_netvsc: Resize some of the

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

2015-12-01 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 - driver

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

2015-12-01 Thread K. Y. Srinivasan
ff-by: K. Y. Srinivasan Reviewed-by: Haiyang Zhang --- V2: When HYPERV_NET is configured, set LL_MAX_HEADER to 128 - Vitaly Kuznetsov V2: Add a build time check on the skb control buffer - Florian Westphal V3: Fix a typo - David Miller drivers/net/hyperv/hyperv_net.h |

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

2015-12-01 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

[PATCH ney-next V3 12/17] hv_netvsc: Eliminate send_completion_tid from struct hv_netvsc_packet

2015-12-01 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

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

2015-12-01 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 V3 07/17] hv_netvsc: Eliminate send_completion_ctx from struct hv_netvsc_packet

2015-12-01 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

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

2015-12-01 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 V3 16/17] hv_netvsc: Eliminate status from struct hv_netvsc_packet

2015-12-01 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

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

2015-12-01 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

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

2015-12-01 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

[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 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 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

[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 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

[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

[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

[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 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

[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
ff-by: K. Y. Srinivasan Reviewed-by: Haiyang Zhang --- v2: When HYPERV_NET is configured, set LL_MAX_HEADER to 128 - Vitaly Kuznetsov V2: Add a build time check on the skb control buffer - Florian Westphal drivers/net/hyperv/hyperv_net.h |3 +++ drivers/net/hyperv/netvsc_

[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

[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 - driver

[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

[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

[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

[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

[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 00/17] hv_netvsc: Eliminate the additional head room

2015-11-28 Thread K. Y. Srinivasan
e the netvsc packet in control buffer area in the skb. V2: - Addressed review comments: - Eliminated more fields from netvsc packet structure. K. Y. Srinivasan (15): hv_netvsc: Resize some of the variables in hv_netvsc_packet hv_netvsc: Rearrange the hv_negtvsc_packet to be space effi

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

2015-11-23 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 04/10] hv_netvsc: Eliminate rndis_msg pointer from hv_netvsc_packet structure

2015-11-23 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

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

2015-11-23 Thread K. Y. Srinivasan
ff-by: K. Y. Srinivasan Reviewed-by: Haiyang Zhang --- drivers/net/hyperv/hyperv_net.h |3 +++ drivers/net/hyperv/netvsc_drv.c | 28 +--- 2 files changed, 12 insertions(+), 19 deletions(-) diff --git a/drivers/net/hyperv/hyperv_net.h b/drivers/net/hyperv/hyperv_net.h

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

2015-11-23 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 10/10] hv_netvsc: remove locking in netvsc_send()

2015-11-23 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 - driver

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

2015-11-23 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

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

2015-11-23 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 02/10] hv_netvsc: Rearrange the hv_negtvsc_packet to be space efficient

2015-11-23 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

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

2015-11-23 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

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

2015-11-23 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 00/10] hv_netvsc: Eliminate the additional head room

2015-11-23 Thread K. Y. Srinivasan
etvsc packet in control buffer area in the skb. K. Y. Srinivasan (8): hv_netvsc: Resize some of the variables in hv_netvsc_packet hv_netvsc: Rearrange the hv_negtvsc_packet to be space efficient hv_netvsc: Eliminate the channel field in hv_netvsc_packet structure hv_netvsc: Eliminate rndis_msg po

[PATCH V2 net-next 1/1] hv_netvsc: Wait for sub-channels to be processed during probe

2015-07-22 Thread K. Y. Srinivasan
The current code returns from probe without waiting for the proper handling of subchannels that may be requested. If the netvsc driver were to be rapidly loaded/unloaded, we can trigger a panic as the unload will be tearing down state that may not have been fully setup yet. We fix this issue by ma

[PATCH net-next 1/1] hv_netvsc: Wait for sub-channels to be processed during probe

2015-07-16 Thread K. Y. Srinivasan
making sure that we return from the probe call only after ensuring that the sub-channel offers in flight are properly handled. Signed-off-by: K. Y. Srinivasan Reviewed-and-tested-by: Haiyang Zhang offermsg.offer.sub_channel_index; int ret; + unsigned long flags; nvscdev

[PATCH net-next 2/2] hv_netvsc: Allocate the sendbuf in a NUMA aware way

2015-05-28 Thread K. Y. Srinivasan
Allocate the send buffer in a NUMA aware way. Signed-off-by: K. Y. Srinivasan --- drivers/net/hyperv/netvsc.c |4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/drivers/net/hyperv/netvsc.c b/drivers/net/hyperv/netvsc.c index d187965..06de98a 100644 --- a/drivers/net

[PATCH V2 net-next 1/2] hv_netvsc: Allocate the receive buffer from the correct NUMA node

2015-05-28 Thread K. Y. Srinivasan
Allocate the receive bufer from the NUMA node assigned to the primary channel. Signed-off-by: K. Y. Srinivasan --- V2: Specify the tree for this patch. drivers/net/hyperv/netvsc.c |7 ++- 1 files changed, 6 insertions(+), 1 deletions(-) diff --git a/drivers/net/hyperv/netvsc.c

[PATCH net-next 0/2] hv_netvsc: Implement NUMA aware memory allocation

2015-05-28 Thread K. Y. Srinivasan
Allocate both receive buffer and send buffer from the NUMA node assigned to the primary channel. K. Y. Srinivasan (2): hv_netvsc: Allocate the receive buffer from the correct NUMA node hv_netvsc: Allocate the sendbuf in a NUMA aware way drivers/net/hyperv/netvsc.c | 11 +-- 1

[PATCH 1/1] hv_netvsc: Allocate the receive buffer from the correct NUMA node

2015-05-28 Thread K. Y. Srinivasan
Allocate the receive bufer from the NUMA node assigned to the primary channel. Signed-off-by: K. Y. Srinivasan --- drivers/net/hyperv/netvsc.c |7 ++- 1 files changed, 6 insertions(+), 1 deletions(-) diff --git a/drivers/net/hyperv/netvsc.c b/drivers/net/hyperv/netvsc.c index b024968

[PATCH V2 net-next 1/1] hv_netvsc: Properly size the vrss queues

2015-05-27 Thread K. Y. Srinivasan
. 2) Pick the minimum of (1) and the numbers of CPUs in the NUMA node the primary channel is bound to. Signed-off-by: K. Y. Srinivasan --- V2: Got rid of the module parameter (Dave Miller) drivers/net/hyperv/hyperv_net.h |1 + drivers/net/hyperv/netvsc_drv.c

[PATCH net-next 1/1] hv_netvsc: Properly size the vrss queues

2015-05-26 Thread K. Y. Srinivasan
minimum of what the host is offering and what the driver in the guest is specifying via the module parameter. 2) Pick the minimum of (1) and the numbers of CPUs in the NUMA node the primary channel is bound to. Signed-off-by: K. Y. Srinivasan --- drivers/net/hyperv

[PATCH V2 net 1/1] hv_netvsc: Fix a bug in netvsc_start_xmit()

2015-04-28 Thread K. Y. Srinivasan
it did not account for the case if the skb was cloned. Fix this bug. Signed-off-by: K. Y. Srinivasan --- V2: Used skb_cow_head() based on Dave Miller's feedback V2: Fixed up the commit log based on feedback from Sergei Shtylyov drivers/net/hyperv/hyperv_net.h |1 - dri

[PATCH net 1/1] hv_netvsc: Fix a bug in netvsc_start_xmit()

2015-04-27 Thread K. Y. Srinivasan
. Y. Srinivasan --- drivers/net/hyperv/netvsc_drv.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/hyperv/netvsc_drv.c b/drivers/net/hyperv/netvsc_drv.c index a3a9d38..7eb0251 100644 --- a/drivers/net/hyperv/netvsc_drv.c +++ b/drivers/net/hyperv/netvsc_drv.c