svn commit: r209119 - head/sys/sys
Robert Watson
rwatson at FreeBSD.org
Fri Jun 18 12:08:56 UTC 2010
On Fri, 18 Jun 2010, Lawrence Stewart wrote:
> True but I figured on large SMP systems where the potential to process more
> is likely, 32bit counters per cpu may be enough to avoid overflow but the
> aggregate number of events may exceed a 32bit variable. I suspect you're
> right though and that if there's a likely chance the aggregate could
> overflow, then the DPCPU var should simply be made 64bit to also remove any
> possibility of individual PCPU counters overflowing.
>
> I'll commit the above version of the macro this evening (GMT+10) unless I
> hear any objections. Thanks to all of you for your input.
The only reservation I have, really, is that 64-bit writes are non-atomic on
i386 and other 32-bit architectures (or, at least, I think they are). This
means DPCPU_SUM may encounter non-atomicity rather than just staleness in the
values it reads as it iterates. That said, we should probably use 64-bit
anyway, because 32-bit counters are gauche. :-)
Robert
More information about the svn-src-all
mailing list