Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 07 Apr 2011 13:01:53 -0700
From:      Julian Elischer <julian@freebsd.org>
To:        Andriy Gapon <avg@freebsd.org>
Cc:        FreeBSD current <freebsd-current@freebsd.org>
Subject:   Re: prefer tsc timecounter when it's good
Message-ID:  <4D9E1831.4040707@freebsd.org>
In-Reply-To: <4D9DF086.9020906@FreeBSD.org>
References:  <4D9DF086.9020906@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 4/7/11 10:12 AM, Andriy Gapon wrote:
> Guys,
>
> what do you think about the following change?
> The idea is mark TSC as the best timecounter when it's invariant and synchronized
> between cores.
> Unfortunately I don't have code to auto-detect the synchronization and keep
> relying on the corresponding tunable.  I thought about auto-setting it for
> single-package configurations, but even that information is currently not trivial
> to get out of our mp (i386/amd64) machdep code.
>
> --- a/sys/x86/x86/tsc.c
> +++ b/sys/x86/x86/tsc.c
> @@ -169,6 +169,9 @@ init_TSC_tc(void)
>   			printf("TSC timecounter disabled: APM enabled.\n");
>   	}
>
> +	if (tsc_is_invariant)
> +		tsc_timecounter.tc_quality = 1200;

I like this.
I have to set the timecounter to TSC manually on my machines as using 
teh default (fast-acpi)
slows my tests down by 10%-20%
mind you if one were to be able to put the tunable into /boot, one 
could put the sysctl into
/etc/sysctl.conf to do the same thing..

> +
>   #ifdef SMP
>   	/*
>   	 * We can not use the TSC in SMP mode unless the TSCs on all CPUs
>




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