From: "K. Y. Srinivasan" <kys@microsoft.com>
To: davem@davemloft.net, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org, devel@linuxdriverproject.org,
olaf@aepfle.de, apw@canonical.com, jasowang@redhat.com
Subject: [PATCH net-next V3 00/17] hv_netvsc: Eliminate the additional head room
Date: Tue, 1 Dec 2015 16:42:58 -0800 [thread overview]
Message-ID: <1449016978-9755-1-git-send-email-kys@microsoft.com> (raw)
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 less
than 20 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.
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 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
hv_netvsc: Eliminate page_buf from struct hv_netvsc_packet
hv_netvsc: Eliminate send_completion_tid from struct hv_netvsc_packet
hv_netvsc: Eliminate is_data_pkt from struct hv_netvsc_packet
hv_netvsc: Eliminate completion_func from struct hv_netvsc_packet
hv_netvsc: Eliminate xmit_more from struct hv_netvsc_packet
hv_netvsc: Eliminate status from struct hv_netvsc_packet
hv_netvsc: Eliminate vlan_tci from struct hv_netvsc_packet
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 | 102 ++++++++++++++++++-------------------
drivers/net/hyperv/netvsc_drv.c | 93 +++++++++++++---------------------
drivers/net/hyperv/rndis_filter.c | 66 ++++++++++++------------
include/linux/netdevice.h | 4 +-
5 files changed, 138 insertions(+), 175 deletions(-)
--
1.7.4.1
next reply other threads:[~2015-12-02 0:42 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-02 0:42 K. Y. Srinivasan [this message]
2015-12-02 0:43 ` [PATCH net-next V3 01/17] hv_netvsc: Resize some of the variables in hv_netvsc_packet K. Y. Srinivasan
2015-12-02 0:43 ` [PATCH net-next V3 02/17] hv_netvsc: Rearrange the hv_negtvsc_packet to be space efficient K. Y. Srinivasan
2015-12-02 0:43 ` [PATCH net-next V3 03/17] hv_netvsc: Eliminate the channel field in hv_netvsc_packet structure K. Y. Srinivasan
2015-12-02 0:43 ` [PATCH net-next V3 04/17] hv_netvsc: Eliminate rndis_msg pointer from " K. Y. Srinivasan
2015-12-02 0:43 ` [PATCH net-next V3 05/17] hv_netvsc: Eliminatte the data field from struct hv_netvsc_packet K. Y. Srinivasan
2015-12-02 0:43 ` [PATCH net-next V3 06/17] hv_netvsc: Eliminate send_completion " K. Y. Srinivasan
2015-12-02 0:43 ` [PATCH net-next V3 07/17] hv_netvsc: Eliminate send_completion_ctx " K. Y. Srinivasan
2015-12-02 0:43 ` [PATCH net-next V3 08/17] hv_netvsc: Don't ask for additional head room in the skb K. Y. Srinivasan
2015-12-02 0:43 ` [PATCH net-next V3 09/17] hv_netvsc: move subchannel existence check to netvsc_select_queue() K. Y. Srinivasan
2015-12-02 0:43 ` [PATCH net-next V3 10/17] hv_netvsc: remove locking in netvsc_send() K. Y. Srinivasan
2015-12-02 0:43 ` [PATCH net-next V3 11/17] hv_netvsc: Eliminate page_buf from struct hv_netvsc_packet K. Y. Srinivasan
2015-12-02 0:43 ` [PATCH ney-next V3 12/17] hv_netvsc: Eliminate send_completion_tid " K. Y. Srinivasan
2015-12-02 0:43 ` [PATCH net-next V3 13/17] hv_netvsc: Eliminate is_data_pkt " K. Y. Srinivasan
2015-12-02 0:43 ` [PATCH net-next V3 14/17] hv_netvsc: Eliminate completion_func " K. Y. Srinivasan
2015-12-02 0:43 ` [PATCH net-next V3 15/17] hv_netvsc: Eliminate xmit_more " K. Y. Srinivasan
2015-12-02 0:43 ` [PATCH net-next V3 16/17] hv_netvsc: Eliminate status " K. Y. Srinivasan
2015-12-02 0:43 ` [PATCH net-next V3 17/17] hv_netvsc: Eliminate vlan_tci " K. Y. Srinivasan
2015-12-02 2:54 ` [PATCH net-next V3 00/17] hv_netvsc: Eliminate the additional head room David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1449016978-9755-1-git-send-email-kys@microsoft.com \
--to=kys@microsoft.com \
--cc=apw@canonical.com \
--cc=davem@davemloft.net \
--cc=devel@linuxdriverproject.org \
--cc=jasowang@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=olaf@aepfle.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).