Re: [PATCH] virtio-net: fix a race on 32bit arches
From: "Michael S. Tsirkin" <mst@redhat.com>
Date: 2012-06-06 18:51:14
Also in:
netdev, virtualization
From: "Michael S. Tsirkin" <mst@redhat.com>
Date: 2012-06-06 18:51:14
Also in:
netdev, virtualization
On Wed, Jun 06, 2012 at 08:14:32AM -0700, Stephen Hemminger wrote:
On Wed, 6 Jun 2012 17:49:42 +0300 "Michael S. Tsirkin" [off-list ref] wrote:quoted
Sounds good, but I have a question: this realies on counters being atomic on 64 bit. Would not it be better to always use a seqlock even on 64 bit? This way counters would actually be correct and in sync. As it is if we want e.g. average packet size, we can not rely e.g. on it being bytes/packets.This has not been a requirement on real physical devices; therefore the added overhead is not really justified. Many network cards use counters in hardware to count packets/bytes and there is no expectation of atomic access there.
BTW for cards that do implement the counters in software, under xmit lock, is anything wrong with simply taking the xmit lock when we get the stats instead of the per-cpu trick + seqlock?