Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Dec 2009 10:38:04 +0100 (CET)
From:      Harti Brandt <hartmut.brandt@dlr.de>
To:        arch@freebsd.org
Subject:   network statistics in SMP
Message-ID:  <20091215103759.P97203@beagle.kn.op.dlr.de>

next in thread | raw e-mail | index | archive | help
Hi all,

I'm working on our network statistics (in the context of SNMP) and wonder, 
to what extend we want them to be correct. I've re-read part of the past 
discussions about 64-bit counters on 32-bit archs and got the impression, 
that there are users that would like to have almost correct statistics 
(for accounting, for example). If this is the case I wonder whether the 
way we do the statistics today is correct.

Basically all statistics are incremented or added to simply by a += b oder 
a++. As I understand, this worked fine in the old days, where you had 
spl*() calls at the right places. Nowadays when everything is SMP 
shouldn't we use at least atomic operations for this? Also I read that on 
architectures where cache coherency is not implemented in hardware even 
this does not help (I found a mail from jhb why for the mutex 
implementation this is not a problem, but I don't understand what to do 
for the += and ++ operations). I failed to find a way, though, to 
influence the caching policy (is there a function one can call to 
change the policy?).

Any opinions?
harti



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20091215103759.P97203>