Re: vmstat's entries type

From: Oliver Fromme <olli_at_lurza.secnetix.de>
Date: Wed, 19 Jul 2006 15:15:51 +0200 (CEST)
Michal Mertl <mime_at_traveller.cz> wrote:
 > We had discussions about 64 bit counters several times during the years
 > (I made a huge patch which turned every network related counter 64bit
 > and all accesses were made with a macro) and the conclusion was that it
 > isn't worth it.
 > 
 > 64bit numbers are too expensive to do correctly on 32bit machines. When
 > done incorrectly they can easily get incorrect and that is probably
 > worse than a simple counter in machine's native word size (which can
 > still get incorrect on some architectures).
 > 
 > I expect you know that long is usually 64bit wide on 64bit
 > architectures. The discussion about 64bit counters on 32bit machines
 > doesn't make much sense when AMD64 is becoming the mainstream
 > architecture and the right type to use for integers (that can get
 > "large") is long IMHO.

I see.  I'm mostly a userland programmer, and when there's
a variable that might overflow 32 bits, then I always use a
64 bit type (e.g. uint64_t), no matter whether I'm on a 32
bit or 64 bit architecture.  It's all about portability and
reliability.  In fact, I rarely use "long", because I think
it's not very useful.

However, I got your point.  Kernel programming is different
from userland programming, and I'm aware that using 64 bit
values can cause problems on 32 bit architectures (which I
mentioned in my previous mail).

Best regards
   Oliver



-- 
Oliver Fromme,  secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing
Dienstleistungen mit Schwerpunkt FreeBSD: http://www.secnetix.de/bsd
Any opinions expressed in this message may be personal to the author
and may not necessarily reflect the opinions of secnetix in any way.

With Perl you can manipulate text, interact with programs, talk over
networks, drive Web pages, perform arbitrary precision arithmetic,
and write programs that look like Snoopy swearing.
Received on Wed Jul 19 2006 - 11:16:02 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:58 UTC