Messages in this thread | | | Date | Fri, 12 Jul 2002 18:31:03 -0400 | From | Chris Friesen <> | Subject | Re: 64 bit netdev stats counter |
| |
Alan Cox wrote: > > On Fri, 2002-07-12 at 22:58, David S. Miller wrote: > > 32-bit values aren't atomic either, what is the issue? > > We don't use atomic_t ops on these counters so they aren't > > guarenteed in any way right now even. GCC is going to > > output "incl MEM" or similar for net_stats->counter++, since > > it lacks the 'lock;' prefix it is not atomic. > > The behaviour is quite different though. On a 32bit counter the worst we > do is lose a few counts. On a 64bit one on 32bit cpus its quite likely > gcc will output > > increment low 32bit > if zero > increment high > > Which means we can rapidly get 2^32 out of sync
Isn't this the same as 32-bit counters on a machine that doesn't do atomic 32-bit ops? Although in that case you could only be 2^16 off...
Chris
-- Chris Friesen | MailStop: 043/33/F10 Nortel Networks | work: (613) 765-0557 3500 Carling Avenue | fax: (613) 765-2986 Nepean, ON K2H 8E9 Canada | email: cfriesen@nortelnetworks.com - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |