<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/net/virtio_net.c, branch linux-3.1.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.1.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.1.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2011-07-22T04:29:34Z</updated>
<entry>
<title>virtio_net: Fix panic in virtnet_remove</title>
<updated>2011-07-22T04:29:34Z</updated>
<author>
<name>Krishna Kumar</name>
</author>
<published>2011-07-20T03:56:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2e66f55b3afa290337a47e6ea134ac071c5dd9a7'/>
<id>urn:sha1:2e66f55b3afa290337a47e6ea134ac071c5dd9a7</id>
<content type='text'>
Fix a panic in virtnet_remove. unregister_netdev has already
freed up the netdev (and virtnet_info) due to dev-&gt;destructor
being set, while virtnet_info is still required. Remove
virtnet_free altogether, and move the freeing of the per-cpu
statistics from virtnet_free to virtnet_remove.

Tested patch below.

Signed-off-by: Krishna Kumar &lt;krkumar2@in.ibm.com&gt;
Acked-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>virtio-net: per cpu 64 bit stats (v2)</title>
<updated>2011-07-01T03:43:38Z</updated>
<author>
<name>stephen hemminger</name>
</author>
<published>2011-06-15T06:36:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3fa2a1df909482cc234524906e4bd30dee3514df'/>
<id>urn:sha1:3fa2a1df909482cc234524906e4bd30dee3514df</id>
<content type='text'>
Use per-cpu variables to maintain 64 bit statistics.

Signed-off-by: Stephen Hemminger &lt;shemminger@vyatta.com&gt;
Signed-off-by: David S. Miller &lt;davem@conan.davemloft.net&gt;
</content>
</entry>
<entry>
<title>virtio_net: introduce VIRTIO_NET_HDR_F_DATA_VALID</title>
<updated>2011-06-11T22:57:47Z</updated>
<author>
<name>Jason Wang</name>
</author>
<published>2011-06-10T00:56:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=10a8d94a95742bb15b4e617ee9884bb4381362be'/>
<id>urn:sha1:10a8d94a95742bb15b4e617ee9884bb4381362be</id>
<content type='text'>
There's no need for the guest to validate the checksum if it have been
validated by host nics. So this patch introduces a new flag -
VIRTIO_NET_HDR_F_DATA_VALID which is used to bypass the checksum
examing in guest. The backend (tap/macvtap) may set this flag when
met skbs with CHECKSUM_UNNECESSARY to save cpu utilization.

No feature negotiation is needed as old driver just ignore this flag.

Iperf shows 12%-30% performance improvement for UDP traffic. For TCP,
when gro is on no difference as it produces skb with partial
checksum. But when gro is disabled, 20% or even higher improvement
could be measured by netperf.

Signed-off-by: Jason Wang &lt;jasowang@redhat.com&gt;
Acked-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>virtio_net: delay TX callbacks</title>
<updated>2011-05-30T01:44:16Z</updated>
<author>
<name>Michael S. Tsirkin</name>
</author>
<published>2011-05-19T23:11:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7a66f784375c5922315bbe879b789ee50b924d26'/>
<id>urn:sha1:7a66f784375c5922315bbe879b789ee50b924d26</id>
<content type='text'>
Ask for delayed callbacks on TX ring full, to give the
other side more of a chance to make progress.

Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Acked-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
</content>
</entry>
<entry>
<title>virtio_net: convert to hw_features</title>
<updated>2011-04-02T03:53:35Z</updated>
<author>
<name>Michał Mirosław</name>
</author>
<published>2011-03-31T01:01:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=98e778c9aa4f4f75550fa3a31358304e4ce67b96'/>
<id>urn:sha1:98e778c9aa4f4f75550fa3a31358304e4ce67b96</id>
<content type='text'>
Signed-off-by: Michał Mirosław &lt;mirq-linux@rere.qmqm.pl&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>virtio_net: Add schedule check to napi_enable call</title>
<updated>2011-02-10T19:03:31Z</updated>
<author>
<name>Bruce Rogers</name>
</author>
<published>2011-02-10T19:03:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3e9d08ec0a68f6faf718d5a7e050fe5ca0ba004f'/>
<id>urn:sha1:3e9d08ec0a68f6faf718d5a7e050fe5ca0ba004f</id>
<content type='text'>
Under harsh testing conditions, including low memory, the guest would
stop receiving packets. With this patch applied we no longer see any
problems in the driver while performing these tests for extended periods
of time.

Make sure napi is scheduled subsequent to each napi_enable.

Signed-off-by: Bruce Rogers &lt;brogers@novell.com&gt;
Signed-off-by: Olaf Kirch &lt;okir@suse.de&gt;
Cc: stable@kernel.org
Signed-off-by: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: Use skb_checksum_start_offset()</title>
<updated>2010-12-16T22:43:14Z</updated>
<author>
<name>Michał Mirosław</name>
</author>
<published>2010-12-14T15:24:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=55508d601dab7df5cbcc7a63f4be8620eface204'/>
<id>urn:sha1:55508d601dab7df5cbcc7a63f4be8620eface204</id>
<content type='text'>
Replace skb-&gt;csum_start - skb_headroom(skb) with skb_checksum_start_offset().

Note for usb/smsc95xx: skb-&gt;data - skb-&gt;head == skb_headroom(skb).

Signed-off-by: Michał Mirosław &lt;mirq-linux@rere.qmqm.pl&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>virtio-net: init link state correctly</title>
<updated>2010-11-12T20:21:18Z</updated>
<author>
<name>Jason Wang</name>
</author>
<published>2010-11-10T14:45:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=167c25e4c5501f8b7e37f949d23652975c5a769c'/>
<id>urn:sha1:167c25e4c5501f8b7e37f949d23652975c5a769c</id>
<content type='text'>
For device that supports VIRTIO_NET_F_STATUS, there's no need to
assume the link is up and we need to call nerif_carrier_off() before
querying device status, otherwise we may get wrong operstate after
diver was loaded because the link watch event was not fired as
expected.

For device that does not support VIRITO_NET_F_STATUS, we could not get
its status through virtnet_update_status() and what we can only do is
always assuming the link is up.

Acked-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Jason Wang &lt;jasowang@redhat.com&gt;
Signed-off-by: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ethtool: Provide a default implementation of ethtool_ops::get_drvinfo</title>
<updated>2010-08-17T09:31:15Z</updated>
<author>
<name>Ben Hutchings</name>
</author>
<published>2010-08-17T09:31:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=01414802054c382072b6cb9a1bdc6e243c74b2d5'/>
<id>urn:sha1:01414802054c382072b6cb9a1bdc6e243c74b2d5</id>
<content type='text'>
The driver name and bus address for a net_device can normally be found
through the driver model now.  Instead of requiring drivers to provide
this information redundantly through the ethtool_ops::get_drvinfo
operation, use the driver model to do so if the driver does not define
the operation.  Since ETHTOOL_GDRVINFO no longer requires the driver
to implement any operations, do not require net_device::ethtool_ops to
be set either.

Remove implementations of get_drvinfo and ethtool_ops that provide
only this information.

Signed-off-by: Ben Hutchings &lt;bhutchings@solarflare.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>virtio_net: implements ethtool_ops.get_drvinfo</title>
<updated>2010-08-05T04:53:17Z</updated>
<author>
<name>Rusty Russell</name>
</author>
<published>2010-08-04T17:32:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a767bde4d484b60dab0abac740a7151b624a30bf'/>
<id>urn:sha1:a767bde4d484b60dab0abac740a7151b624a30bf</id>
<content type='text'>
I often use "ethtool -i" command to check what driver controls the
ehternet device.  But because current virtio_net driver doesn't
support "ethtool -i", it becomes the following:

        # ethtool -i eth3
        Cannot get driver information: Operation not supported

This patch simply adds the "ethtool -i" support. The following is the
result when using the virtio_net driver with my patch applied to.

        # ethtool -i eth3
        driver: virtio_net
        version: N/A
        firmware-version: N/A
        bus-info: virtio0

Personally, "-i" is one of the most frequently-used option, and most
network drivers support "ethtool -i", so I think virtio_net also
should do.

Signed-off-by: Taku Izumi &lt;izumi.taku@jp.fujitsu.com&gt;
Signed-off-by: Rusty Russell &lt;rusty@rustcorp.com.au&gt; (use ARRAY_SIZE)
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
