<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/net/hyperv/netvsc.c, branch linux-3.17.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.17.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.17.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2014-10-15T10:29:23Z</updated>
<entry>
<title>hyperv: Fix a bug in netvsc_send()</title>
<updated>2014-10-15T10:29:23Z</updated>
<author>
<name>KY Srinivasan</name>
</author>
<published>2014-10-05T17:42:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ed54569e2b2be022e8e155e23fdca672690b6642'/>
<id>urn:sha1:ed54569e2b2be022e8e155e23fdca672690b6642</id>
<content type='text'>
[ Upstream commit 3a67c9ccad926a168d8b7891537a452018368a5b ]

After the packet is successfully sent, we should not touch the packet
as it may have been freed. This patch is based on the work done by
Long Li &lt;longli@microsoft.com&gt;.

David, please queue this up for stable.

Signed-off-by: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Reported-by: Sitsofe Wheeler &lt;sitsofe@yahoo.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>Drivers: net-next: hyperv: Increase the size of the sendbuf region</title>
<updated>2014-08-04T22:07:14Z</updated>
<author>
<name>KY Srinivasan</name>
</author>
<published>2014-08-02T17:42:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=06b47aac4924180d63aad50727a11230d876c348'/>
<id>urn:sha1:06b47aac4924180d63aad50727a11230d876c348</id>
<content type='text'>
Intel did some benchmarking on our network throughput when Linux on Hyper-V
is as used as a gateway. This fix gave us almost a 1 Gbps additional throughput
on about 5Gbps base throughput we hadi, prior to increasing the sendbuf size.
The sendbuf mechanism is a copy based transport that we have which is clearly
more optimal than the copy-free page flipping mechanism (for small packets).
In the forwarding scenario, we deal only with MTU sized packets,
and increasing the size of the senbuf area gave us the additional performance.
For what it is worth, Windows guests on Hyper-V, I am told use similar sendbuf
size as well.

The exact value of sendbuf I think is less important than the fact that it needs
to be larger than what Linux can allocate as physically contiguous memory.
Thus the change over to allocating via vmalloc().

We currently allocate 16MB receive buffer and we use vmalloc there for allocation.
Also the low level channel code has already been modified to deal with physically
dis-contiguous memory in the ringbuffer setup.

Based on experimentation Intel did, they say there was some improvement in throughput
as the sendbuf size was increased up to 16MB and there was no effect on throughput
beyond 16MB. Thus I have chosen 16MB here.

Increasing the sendbuf value makes a material difference in small packet handling

In this version of the patch, based on David's feedback, I have added
additional details in the commit log.

Signed-off-by: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net</title>
<updated>2014-07-30T20:25:49Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2014-07-30T20:25:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f139c74a8df071217dcd63f3ef06ae7be7071c4d'/>
<id>urn:sha1:f139c74a8df071217dcd63f3ef06ae7be7071c4d</id>
<content type='text'>
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>hyperv: Fix error return code in netvsc_init_buf()</title>
<updated>2014-07-23T21:55:47Z</updated>
<author>
<name>Wei Yongjun</name>
</author>
<published>2014-07-23T01:00:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=dd1d3f8f9920926aa426589e542eed6bf58b7354'/>
<id>urn:sha1:dd1d3f8f9920926aa426589e542eed6bf58b7354</id>
<content type='text'>
Fix to return -ENOMEM from the kalloc error handling
case instead of 0.

Signed-off-by: Wei Yongjun &lt;yongjun_wei@trendmicro.com.cn&gt;
Reviewed-by: Haiyang Zhang &lt;haiyangz@microsoft.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>drivers/net/hyperv/netvsc.c: remove unnecessary null test before kfree</title>
<updated>2014-07-03T01:22:25Z</updated>
<author>
<name>Fabian Frederick</name>
</author>
<published>2014-06-28T18:44:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bd4578bc84a8c8a390cf6002539e75447e78e935'/>
<id>urn:sha1:bd4578bc84a8c8a390cf6002539e75447e78e935</id>
<content type='text'>
Fix checkpatch warning:
WARNING: kfree(NULL) is safe this check is probably not required

Cc: Haiyang Zhang &lt;haiyangz@microsoft.com&gt;
Cc: netdev@vger.kernel.org
Signed-off-by: Fabian Frederick &lt;fabf@skynet.be&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>hyperv: fix apparent cut-n-paste error in send path teardown</title>
<updated>2014-06-17T04:36:13Z</updated>
<author>
<name>Dave Jones</name>
</author>
<published>2014-06-16T20:59:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2f18423d7ebf8044a9edaca840be5ae199fb32f6'/>
<id>urn:sha1:2f18423d7ebf8044a9edaca840be5ae199fb32f6</id>
<content type='text'>
c25aaf814a63: "hyperv: Enable sendbuf mechanism on the send path" added
some teardown code that looks like it was copied from the recieve path
above, but missed a variable name replacement.

Signed-off-by: Dave Jones &lt;davej@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>hyperv: Enable sendbuf mechanism on the send path</title>
<updated>2014-04-30T17:48:46Z</updated>
<author>
<name>KY Srinivasan</name>
</author>
<published>2014-04-30T17:14:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c25aaf814a63f9d9c4e45416f13d70ef0aa0be2e'/>
<id>urn:sha1:c25aaf814a63f9d9c4e45416f13d70ef0aa0be2e</id>
<content type='text'>
We send packets using a copy-free mechanism (this is the Guest to Host transport
via VMBUS). While this is obviously optimal for large packets,
it may not be optimal for small packets. Hyper-V host supports
a second mechanism for sending packets that is "copy based". We implement that
mechanism in this patch.

In this version of the patch I have addressed a comment from David Miller.

With this patch (and all of the other offload and VRSS patches), we are now able
to almost saturate a 10G interface between Linux VMs on Hyper-V
on different hosts - close to  9 Gbps as measured via iperf.

Signed-off-by: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Reviewed-by: Haiyang Zhang &lt;haiyangz@microsoft.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>hyperv: Simplify the send_completion variables</title>
<updated>2014-04-23T18:48:39Z</updated>
<author>
<name>Haiyang Zhang</name>
</author>
<published>2014-04-21T21:54:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=893f66277799cd46bdf97429cc5d16a815a51273'/>
<id>urn:sha1:893f66277799cd46bdf97429cc5d16a815a51273</id>
<content type='text'>
The union contains only one member now, so we use the variables in it directly.

Signed-off-by: Haiyang Zhang &lt;haiyangz@microsoft.com&gt;
Reviewed-by: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>hyperv: Remove recv_pkt_list and lock</title>
<updated>2014-04-23T18:48:39Z</updated>
<author>
<name>Haiyang Zhang</name>
</author>
<published>2014-04-21T21:54:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4baab26129e0540746744232022110dbe9e011e7'/>
<id>urn:sha1:4baab26129e0540746744232022110dbe9e011e7</id>
<content type='text'>
Removed recv_pkt_list and lock, and updated related code, so that
the locking overhead is reduced especially when multiple channels
are in use.

The recv_pkt_list isn't actually necessary because the packets are
processed sequentially in each channel. It has been replaced by a
local variable, and the related lock for this list is also removed.
The is_data_pkt field is not used in receive path, so its assignment
is cleaned up.

Signed-off-by: Haiyang Zhang &lt;haiyangz@microsoft.com&gt;
Reviewed-by: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>hyperv: Add support for virtual Receive Side Scaling (vRSS)</title>
<updated>2014-04-21T17:32:29Z</updated>
<author>
<name>Haiyang Zhang</name>
</author>
<published>2014-04-21T17:20:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5b54dac856cb5bd6f33f4159012773e4a33704f7'/>
<id>urn:sha1:5b54dac856cb5bd6f33f4159012773e4a33704f7</id>
<content type='text'>
This feature allows multiple channels to be used by each virtual NIC.
It is available on Hyper-V host 2012 R2.

Signed-off-by: Haiyang Zhang &lt;haiyangz@microsoft.com&gt;
Reviewed-by: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
