Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 May 2006 20:11:19 +1000
From:      Peter Jeremy <peterjeremy@optushome.com.au>
To:        Suleiman Souhlal <ssouhlal@freebsd.org>
Cc:        freebsd-performance@freebsd.org, current@freebsd.org
Subject:   Re: Fine-grained locking for POSIX local sockets (UNIX	domain	sockets)
Message-ID:  <20060510101119.GB700@turion.vk2pj.dyndns.org>
In-Reply-To: <4461A77F.5080508@FreeBSD.org>
References:  <20060506150622.C17611@fledge.watson.org> <200605090335.00451.hadara@bsd.ee> <20060509004203.GA55852@xor.obsecurity.org> <200605091818.12676.hadara@bsd.ee> <4460D2CA.5090808@elischer.org> <20060509183127.GD17515@retch.ugcs.caltech.edu> <4461A77F.5080508@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 2006-May-10 10:42:39 +0200, Suleiman Souhlal wrote:
>That's not enough. On some CPUs (like the current Opterons), the TSC 
>slows down when the CPU executes a HLT instruction, so if you want good 
>accuracy, you'll need to take that into account too.

The CPU can't be executing any instructions whilst it's halted.  All
you need to do is update the base time/TSC count between when you exit
halt and when you return to userland.

Since most sane code doesn't call gettimeofday() multiple times per
tick, one option might be to unmap the page when the base data becomes
invalid and update/remap the page when it is first accessed.

-- 
Peter Jeremy



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