netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next 00/10] hv_netvsc: Eliminate the additional head room
@ 2015-11-23 23:28 K. Y. Srinivasan
  2015-11-23 23:28 ` [PATCH net-next 01/10] hv_netvsc: Resize some of the variables in hv_netvsc_packet K. Y. Srinivasan
  0 siblings, 1 reply; 17+ messages in thread
From: K. Y. Srinivasan @ 2015-11-23 23:28 UTC (permalink / raw)
  To: davem, netdev, linux-kernel, devel, olaf, apw, jasowang; +Cc: 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 room
as set in LL_MAX_HEADER, we were forcing a reallocation of skb.

With this patch-set, I have reduced the size of the netvsc packet to
40 bytes and with this reduction we don't need to ask for any additional
headroom. We place the rndis header in the skb head room and we place the
netvsc 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 pointer from hv_netvsc_packet
    structure
  hv_netvsc: Eliminatte the data field from struct hv_netvsc_packet
  hv_netvsc: Eliminate send_completion from struct hv_netvsc_packet
  hv_netvsc: Eliminate send_completion_ctx from struct hv_netvsc_packet
  hv_netvsc: Don't ask for additional head room in the skb

Vitaly Kuznetsov (2):
  hv_netvsc: move subchannel existence check to netvsc_select_queue()
  hv_netvsc: remove locking in netvsc_send()

 drivers/net/hyperv/hyperv_net.h   |   48 +++++++++++++++++-------------------
 drivers/net/hyperv/netvsc.c       |   42 ++++++++++++--------------------
 drivers/net/hyperv/netvsc_drv.c   |   47 +++++++++++++++--------------------
 drivers/net/hyperv/rndis_filter.c |   21 ++++++++++------
 4 files changed, 72 insertions(+), 86 deletions(-)

-- 
1.7.4.1

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2015-11-24 16:39 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-11-23 23:28 [PATCH net-next 00/10] hv_netvsc: Eliminate the additional head room K. Y. Srinivasan
2015-11-23 23:28 ` [PATCH net-next 01/10] hv_netvsc: Resize some of the variables in hv_netvsc_packet K. Y. Srinivasan
2015-11-23 23:28   ` [PATCH net-next 02/10] hv_netvsc: Rearrange the hv_negtvsc_packet to be space efficient K. Y. Srinivasan
2015-11-23 23:28   ` [PATCH net-next 03/10] hv_netvsc: Eliminate the channel field in hv_netvsc_packet structure K. Y. Srinivasan
2015-11-23 23:29   ` [PATCH net-next 04/10] hv_netvsc: Eliminate rndis_msg pointer from " K. Y. Srinivasan
2015-11-23 23:29   ` [PATCH net-next 05/10] hv_netvsc: Eliminatte the data field from struct hv_netvsc_packet K. Y. Srinivasan
2015-11-23 23:29   ` [PATCH net-next 06/10] hv_netvsc: Eliminate send_completion " K. Y. Srinivasan
2015-11-23 23:29   ` [PATCH net-next 07/10] hv_netvsc: Eliminate send_completion_ctx " K. Y. Srinivasan
2015-11-23 23:29   ` [PATCH net-next 08/10] hv_netvsc: Don't ask for additional head room in the skb K. Y. Srinivasan
2015-11-24  8:55     ` Florian Westphal
2015-11-24 16:39       ` KY Srinivasan
2015-11-24  8:56     ` Vitaly Kuznetsov
2015-11-24 16:27       ` KY Srinivasan
2015-11-23 23:29   ` [PATCH net-next 09/10] hv_netvsc: move subchannel existence check to netvsc_select_queue() K. Y. Srinivasan
2015-11-23 23:29   ` [PATCH net-next 10/10] hv_netvsc: remove locking in netvsc_send() K. Y. Srinivasan
2015-11-24  8:48   ` [PATCH net-next 01/10] hv_netvsc: Resize some of the variables in hv_netvsc_packet Vitaly Kuznetsov
2015-11-24 16:29     ` KY Srinivasan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).