Date: Sun, 30 Jul 2006 01:38:39 +0200 From: Michal Mertl <mime@traveller.cz> To: Paul Allen <nospam@ugcs.caltech.edu> Cc: Peter Jeremy <peterjeremy@optushome.com.au>, freebsd-current@freebsd.org, Brian Candler <B.Candler@pobox.com> Subject: Re: vmstat's entries type Message-ID: <1154216319.23616.23.camel@genius.i.cz> In-Reply-To: <20060729230214.GI12597@groat.ugcs.caltech.edu> References: <200607251254.k6PCsBef092737@lurza.secnetix.de> <200607271058.13055.jhb@freebsd.org> <20060728121525.GA44917@uk.tiscali.com> <200607280928.36573.jhb@freebsd.org> <20060728134701.GA45273@uk.tiscali.com> <20060728210154.GC748@turion.vk2pj.dyndns.org> <1154189612.1565.10.camel@genius.i.cz> <20060729205655.GE748@turion.vk2pj.dyndns.org> <20060729211530.GA50342@uk.tiscali.com> <1154212340.3609.18.camel@genius.i.cz> <20060729230214.GI12597@groat.ugcs.caltech.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
Paul Allen wrote: > Surely all you need to do is a cheap crit_enter,crit_exit > while updating the 64-bit per cpu counters. and on > a 64-bit arch you skip the crit_enter,crit_exit. Critical_enter/exit seem to be quite lightweight (single read/modify/write of a variable). > Seriously this is a bike shed. We can summarize it thus: > statistics should be maintained in 64-bit counters, these > counters should be per-cpu and consistent in that context, > nothing else should appear on the critical path. Why do you call it a bikesched? I think that your proposal could work but as nobody proposed doing the stuff with critical_* before, the thread may be fruitful. Is critical_* good enough protection though? What if two threads were updating the same per-CPU counter on the same CPU at the same time? With 64bits counter on a 32bit architecture? I expect the cache coherency issues are completely eliminated with per-CPU data, aren't they? I did not think of preventing the migration of the thread to different CPU before. I would have expected this was expensive operation... Michal
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1154216319.23616.23.camel>