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
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
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
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
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
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
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
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
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 -
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
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 +++--
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 |
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
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
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
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
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
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
18 matches
Mail list logo