Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 04 Dec 2010 13:12:10 +0200
From:      Andriy Gapon <avg@freebsd.org>
To:        Jung-uk Kim <jkim@freebsd.org>
Cc:        freebsd-current@freebsd.org
Subject:   Re: non-invariant tsc and cputicker
Message-ID:  <4CFA220A.30405@freebsd.org>
In-Reply-To: <201012031938.12684.jkim@FreeBSD.org>
References:  <4CF92852.20705@freebsd.org> <201012031504.02532.jkim@FreeBSD.org> <4CF98192.3050909@freebsd.org> <201012031938.12684.jkim@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
on 04/12/2010 02:38 Jung-uk Kim said the following:
> If my understanding is correct, your patch uses the dummy timecounter 
> until a real timecounter is chosen.

Perhaps this is one way to look at it.
But I look at it differently - the patch makes cpu_ticks refer to tc_cpu_ticks.
That is, it make _the_ timecounter be used for cpu ticks.
Exact timecounter backend is not important to me.

> When a real timecounter is set, 
> tc_cpu_ticks() changes the frequency naturally.  How are you going to 
> solve this problem?

Do we really care about cpu ticks accounting that early in the boot?

>  What should we do when a user set a new 
> timecounter hardware via "sysctl kern.timecounter.hardware"?

User can expect some instability (*if any*) when he does such a significant
system reconfiguration.
I put "if any", because I think that tc_cpu_ticks() should handle this.
The same way as you don't see time returned by e.g. nanotime() going crazy at
that moment.

> I don't 
> think it is any better than current code.  Am I missing 
> something? :-(

I think that it is much better.
Handling of P-state changes for non-invariant TSC is just incorrect.
kern.timecounter.hardware is not going to be changed as frequently as P-states,
if ever.

-- 
Andriy Gapon



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