lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 13 Nov 2006 18:06:15 -0800
From:	Suleiman Souhlal <ssouhlal@...eBSD.org>
To:	Andi Kleen <ak@...e.de>
CC:	Linux Kernel ML <linux-kernel@...r.kernel.org>, vojtech@...e.cz,
	Jiri Bohac <jbohac@...e.cz>
Subject: Re: [PATCH 0/2] Make the TSC safe to be used by gettimeofday().

Andi Kleen wrote:
> On Tuesday 14 November 2006 02:06, Suleiman Souhlal wrote:
> 
>>I've had a proof-of-concept for this since August, and finally got around to
>>somewhat cleaning it up.
> 
> 
> Thanks. 
> 
> I got a competing implementation for this unfortunately now from Vojtech & Jiri
> 
> Yours is simpler, but I'm not sure as complete. What are your assurances
> against non monoticity for example?

I believe that the results returned will always be monotonic, as long as 
the frequency of the TSC does not change from under us (that is, without 
the kernel knowing). This is because we "synchronize" each CPU's vxtime 
with a global time source (HPET) every time we know the TSC rate changes.

>>It can certainly still be improved, namely by using vgetcpu() instead of CPUID
>>to find the cpu number (but I couldn't get it to work, when I tried).
> 
> 
> What did not work?

I was not able to make vgettimeofday use vgetcpu(). It seemed like vgetcpu()
was not returning the same value as smp_processor_id() would, so the 
values I'd get with vgettimeofday() did not completely agree with the 
ones from gettimeofday(2). I didn't have the chance to investigate more.

>>Another possible improvement would be to use RDTSCP when available.
>>There's also a small race in do_gettimeofday(), vgettimeofday() and
>>vmonotonic_clock() but I've never seen it happen.
> 
> 
> I did a vposix_getclock with monotonic clock support on my own already, was about to 
> be merged with the vDSO. It still used global synchronized TSC though.

-- Suleiman

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists