svn commit: r277900 - head/sys/x86/x86

John Baldwin jhb at FreeBSD.org
Fri Jan 30 14:58:32 UTC 2015


On 1/29/15 10:51 PM, Ryan Stone wrote:
> On Thu, Jan 29, 2015 at 3:45 PM, John Baldwin <jhb at freebsd.org> wrote:
>> Also, note that we always use the TSC as the cpu ticker, even if it is not the
>> timecounter.  Thus, if C2+ is enabled on the systems, the kernel idle threads
>> will have an artificially low runtime since their idle time is not properly
>> accounted for.  This does not affect any other threads as only the idle
>> threads "run" while the CPU is in C2+ with the TSC effectively paused.  The
>> new default means that the idle threads will now have the proper runtime,
>> however.
> 
> However in a VM environment this means that runtimes for all threads
> can be very wrong (regardless of whether we enter C2 or lower or not).
> I have a coworker looking at using kvmclock in preference to TSC for
> the cpu ticker when the kvmclock is available.

I think that is orthogonal to older Core 2 CPUs which the above mail was
about. :)  However, yes, that sounds sensible.  You might want to talk
to bryanv at .  He has a branch in projects (projects/paravirt I think?)
that provides a framework for hypervisor "drivers" that would be a good
place to plug this into.

-- 
John Baldwin


More information about the svn-src-head mailing list