lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Wed, 6 Jun 2012 21:43:52 +0300 From: "Michael S. Tsirkin" <mst@...hat.com> To: Eric Dumazet <eric.dumazet@...il.com> Cc: Jason Wang <jasowang@...hat.com>, netdev@...r.kernel.org, rusty@...tcorp.com.au, linux-kernel@...r.kernel.org, virtualization@...ts.linux-foundation.org, Stephen Hemminger <shemminger@...tta.com> Subject: Re: [PATCH] virtio-net: fix a race on 32bit arches On Wed, Jun 06, 2012 at 07:13:02PM +0200, Eric Dumazet wrote: > On Wed, 2012-06-06 at 19:17 +0300, Michael S. Tsirkin wrote: > > > But why do you say at most 1 packet? > > > > Consider get_stats doing: > > u64_stats_update_begin(&stats->syncp); > > stats->tx_bytes += skb->len; > > > > on 64 bit at this point > > tx_packets might get incremented any number of times, no? > > > > stats->tx_packets++; > > u64_stats_update_end(&stats->syncp); > > > > now tx_bytes and tx_packets are out of sync by more than 1. > > You lost me there. > > No idea of what you are thinking about. Sorry about that. This is not a bug. I am saying two things: 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. 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. -- MST -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists