Port-xen archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: timekeeping regression?



>>>>> Greg A Woods <woods%planix.ca@localhost> writes:


[...]


    > dom0 is definitely not using any native clock either:

    > 	# sysctl kern.timecounter.hardware kern.timecounter.hardware =
    > xen_system_time


    > I don't know if there's a relationship between the Xen kernel's
    > wallclock time and what it's supplying as a timecounter via
    > xen_system_time.  I would think there shouldn't be, but I dunno.

    > I'm not sure what Xen needs in terms of wallclock time.

I had a cursory look at the xen time stuff - the per-cpu tick-count
seems to come from an rdtsc (hardware counter), while the "wall clock"
seems to come from the hypervisor (via shared mem).

I strongly suspect the rdtsc is causing trouble, because last I checked,
rdtsc is an unprivileged insn and is very likely not virtualised which
means, it's probably reading the h/w counter directly from the
underlying CPU, and goes out of sync when the hypervisor yanks the
underlying physical CPU from the domUs vCPU.

One way to test this hypothesis is to run all domains with pinned
vCPUs. I don't know what the performance implications of this are
though.

I'll have a closer look at all this when I get my hands dirtier with
timekeeping - which should soon (tm)


-- 
Math/(~cherry)


Home | Main Index | Thread Index | Old Index