Messages in this thread | | | Subject | Re: [PATCH] virtio-net: fix a race on 32bit arches | From | Eric Dumazet <> | Date | Wed, 06 Jun 2012 22:06:11 +0200 |
| |
On Wed, 2012-06-06 at 21:43 +0300, Michael S. Tsirkin wrote:
> 1. We are trying to look at counters for purposes of tuning the device. > E.g. if ethtool reports packets and bytes, we'd like to calculate > average packet size by bytes/packets. > > If both counters are read atomically the metric becomes more exact. > Not a must but nice to have. >
metrics are exact right now.
As soon as you read a value, it might already have changed.
Maybe you want to stop_machine() to make sure all the metrics you want are 'exact' ;)
> 2. 32 bit systems have some overhead because of the seqlock. > virtio could instead simply keep tx counters in the queue structure, and > get the tx lock when they are read. >
But then you need atomic64 stuff, have you an idea of the cost of such primitives on 32bit ?
3. use 32bit counters on 32bit arches, as many drivers still do ?
| |