<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/net/virtio_net.c, branch linux-3.6.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.6.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.6.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2012-07-22T19:12:32Z</updated>
<entry>
<title>net: fix race condition in several drivers when reading stats</title>
<updated>2012-07-22T19:12:32Z</updated>
<author>
<name>Kevin Groeneveld</name>
</author>
<published>2012-07-21T06:30:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e3906486f616da7cc086a3ba06c0df4e5a48b4ab'/>
<id>urn:sha1:e3906486f616da7cc086a3ba06c0df4e5a48b4ab</id>
<content type='text'>
Fix race condition in several network drivers when reading stats on 32bit
UP architectures.  These drivers update their stats in a BH context and
therefore should use u64_stats_fetch_begin_bh/u64_stats_fetch_retry_bh
instead of u64_stats_fetch_begin/u64_stats_fetch_retry when reading the
stats.

Signed-off-by: Kevin Groeneveld &lt;kgroeneveld@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>virtio_net: use IFF_LIVE_ADDR_CHANGE priv_flag</title>
<updated>2012-06-30T08:08:00Z</updated>
<author>
<name>Jiri Pirko</name>
</author>
<published>2012-06-29T05:10:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f2f2c8b42d5b1858e1680133fcd4bea5c8dcdb2c'/>
<id>urn:sha1:f2f2c8b42d5b1858e1680133fcd4bea5c8dcdb2c</id>
<content type='text'>
Acked-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Jiri Pirko &lt;jpirko@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>virtio_net: allow to change mac when iface is running</title>
<updated>2012-06-28T04:25:58Z</updated>
<author>
<name>Jiri Pirko</name>
</author>
<published>2012-06-27T05:27:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d4fc6918f4b3cc844185f59fc518351525950449'/>
<id>urn:sha1:d4fc6918f4b3cc844185f59fc518351525950449</id>
<content type='text'>
Signed-off-by: Jiri Pirko &lt;jpirko@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>virtio-net: fix a race on 32bit arches</title>
<updated>2012-06-11T03:23:20Z</updated>
<author>
<name>Eric Dumazet</name>
</author>
<published>2012-06-05T22:35:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=83a27052c3376793bc879e00e6e6805d6fb7aab9'/>
<id>urn:sha1:83a27052c3376793bc879e00e6e6805d6fb7aab9</id>
<content type='text'>
commit 3fa2a1df909 (virtio-net: per cpu 64 bit stats (v2)) added a race
on 32bit arches.

We must use separate syncp for rx and tx path as they can be run at the
same time on different cpus. Thus one sequence increment can be lost and
readers spin forever.

Signed-off-by: Eric Dumazet &lt;edumazet@google.com&gt;
Cc: Stephen Hemminger &lt;shemminger@vyatta.com&gt;
Cc: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Cc: Jason Wang &lt;jasowang@redhat.com&gt;
Acked-by: Rusty Russell &lt;rusty@rustcorp.com.au&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: remove useless disable on freeze</title>
<updated>2012-05-30T20:36:15Z</updated>
<author>
<name>Michael S. Tsirkin</name>
</author>
<published>2012-05-30T14:21:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3bbf372c6c60255585783bb08ab477a72b918196'/>
<id>urn:sha1:3bbf372c6c60255585783bb08ab477a72b918196</id>
<content type='text'>
disable_cb is just an optimization: it
can not guarantee that there are no callbacks.
In particular it doesn't have any effect when
event index is on.

Instead, detach, napi disable and reset on freeze ensure we don't run
concurrently with a callback.

Remove the useless calls so we get same behaviour
with and without event index.

Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.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>2012-05-21T01:53:04Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2012-05-21T01:53:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=17eea0df5f7068fc04959e655ef8f0a0ed097e19'/>
<id>urn:sha1:17eea0df5f7068fc04959e655ef8f0a0ed097e19</id>
<content type='text'>
</content>
</entry>
<entry>
<title>virtio_net: invoke softirqs after __napi_schedule</title>
<updated>2012-05-17T09:16:38Z</updated>
<author>
<name>Michael S. Tsirkin</name>
</author>
<published>2012-05-16T07:57:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ec13ee80145ccb95b00e6e610044bbd94a170051'/>
<id>urn:sha1:ec13ee80145ccb95b00e6e610044bbd94a170051</id>
<content type='text'>
__napi_schedule might raise softirq but nothing
causes do_softirq to trigger, so it does not in fact
run. As a result,
the error message "NOHZ: local_softirq_pending 08"
sometimes occurs during boot of a KVM guest when the network service is
started and we are oom:

  ...
  Bringing up loopback interface:  [  OK  ]
  Bringing up interface eth0:
  Determining IP information for eth0...NOHZ: local_softirq_pending 08
   done.
  [  OK  ]
  ...

Further, receive queue processing might get delayed
indefinitely until some interrupt triggers:
virtio_net expected napi to be run immediately.

One way to cause do_softirq to be executed is by
invoking local_bh_enable(). As __napi_schedule is
normally called from bh or irq context, this
seems to make sense: disable bh before __napi_schedule
and enable afterwards.

In fact it's a very complicated way of calling do_softirq(),
and works since this function is only used when we are not
in interrupt context.  It's not hot at all, in any ideal scenario.

Reported-by: Ulrich Obergfell &lt;uobergfe@redhat.com&gt;
Tested-by: Ulrich Obergfell &lt;uobergfe@redhat.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Acked-by: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
</content>
</entry>
<entry>
<title>virtio-net: send gratuitous packets when needed</title>
<updated>2012-04-15T07:23:31Z</updated>
<author>
<name>Jason Wang</name>
</author>
<published>2012-04-11T20:43:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=586d17c5a01bf1ae4e215adc6c48457eee5482bc'/>
<id>urn:sha1:586d17c5a01bf1ae4e215adc6c48457eee5482bc</id>
<content type='text'>
As hypervior does not have the knowledge of guest network configuration, it's
better to ask guest to send gratuitous packets when needed.

This patch implements VIRTIO_NET_F_GUEST_ANNOUNCE feature: hypervisor would
notice the guest when it thinks it's time for guest to announce the link
presnece. Guest tests VIRTIO_NET_S_ANNOUNCE bit during config change interrupt
and woule send gratuitous packets through netif_notify_peers() and ack the
notification through ctrl vq.

We need to make sure the atomicy of read and ack in guest otherwise we may ack
more times than being notified. This is done through handling the whole config
change interrupt in an non-reentrant workqueue.

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>net: Fix misplaced parenthesis in virtio_net.c</title>
<updated>2012-04-13T15:01:44Z</updated>
<author>
<name>Torsten Kaiser</name>
</author>
<published>2012-04-09T05:14:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=31304165ffb888483e0f7c805876f25f493a3049'/>
<id>urn:sha1:31304165ffb888483e0f7c805876f25f493a3049</id>
<content type='text'>
Commit 2e57b79ccef1ff1422fdf45a9b28fe60f8f084f7 misplaced its
parenthesis and now tx_fifo_errors will only be incremented if an
ENOMEM error is not written to the syslog.

Correct the parenthesis and indentation to the original goal of
counting all non ENOMEM errors and ratelimiting only the messages.

Signed-of-by: Torsten Kaiser &lt;just.for.lkml@googlemail.com&gt;

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>virtio_net: do not rate limit counter increments</title>
<updated>2012-03-28T08:40:45Z</updated>
<author>
<name>Rick Jones</name>
</author>
<published>2012-03-27T07:28:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2e57b79ccef1ff1422fdf45a9b28fe60f8f084f7'/>
<id>urn:sha1:2e57b79ccef1ff1422fdf45a9b28fe60f8f084f7</id>
<content type='text'>
While it is desirable to rate limit certain messages, it is not
desirable to rate limit the incrementing of counters associated
with those messages.

Signed-off-by: Rick Jones &lt;rick.jones2@hp.com&gt;
Acked-by: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Acked-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
