tech-kern archive

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

Re: PHP performance on Xen domU with mulitple vcpu



I forgot to ask one other question about critical timing and clock
information:  Which platform timer is the Xen kernel selecting?

As far as I know this is only shown in the Xen console output, so:

	xl dmesg | fgrep 'Platform timer'

Also for fun what does this show:

	xl dmesg | fgrep -i tsc

(I keep meaning to add something to the rc.d script(s) to save "xl dmesg")

> What is suprising is that it happens on a domU but not on another on
> the same dom0.

To me this simply points to problems in the underlying emulation of
RDTSC done by the Xen kernel.

I can now report that with clockinterrupt as the timecounter my dom0 on
the test machine is continuing to keep "close enough" time for ntpd to
stay in sync though it is getting a little more jittery.

# /sbin/sysctl kern.timecounter
kern.timecounter.choice = clockinterrupt(q=0, f=1000 Hz) xen_system_time(q=10000, f=1000000000 Hz) ichlpcib0(q=1000, f=3579545 Hz) ACPI-Safe(q=900, f=3579545 Hz) dummy(q=-1000000, f=1000000 Hz)
kern.timecounter.hardware = clockinterrupt
kern.timecounter.timestepwarnings = 1
# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 local-bcast.loc .BCST.          16 B    -   64    0    0.000   +0.000   0.002
+xenful.local    206.108.0.132    2 s  155  512   36  134.264  -618.34 250.992
 0.north-america .POOL.          16 p    -   64    0    0.000   +0.000   0.002
 1.north-america .POOL.          16 p    -   64    0    0.000   +0.000   0.002
 2.north-america .POOL.          16 p    -   64    0    0.000   +0.000   0.002
 3.north-america .POOL.          16 p    -   64    0    0.000   +0.000   0.002
 ca.pool.ntp.org .POOL.          16 p    -   64    0    0.000   +0.000   0.002
 time.nrc.ca     132.246.11.231   2 u  691 1024    7    0.010  -104.66 396.718
 time1.chu.nrc.c 209.87.233.52    2 u  643 1024    7    0.032  -679.32 674.581
 ntp1.torix.ca   .PTP0.           1 u  671 1024    7    0.029  -438.14 180.117
 ntp2.torix.ca   .PTP0.           1 u  638 1024    7    0.028  -390.50 357.016
 ntp3.torix.ca   .PTP0.           1 u  679 1024    7    0.030  -226.13  95.215
 ntp1.yycix.ca   206.108.0.133    2 u  642 1024    7    0.002  -470.31 174.804
 ntp2.yycix.ca   54.39.196.172    3 u  693 1024    7    0.136  -125.03 340.438
+static.190.111. 225.254.30.190   4 u  675 1024    7    0.014  +188.19 552.482
*x.ns.gin.ntt.ne 129.250.35.222   2 u  599 1024    7    0.015  -707.65 499.440



The two NetBSD domUs have wandered off in time though.

However the FreeBSD domU is currently still keeping time as well, and
with less jitter!  It is using "XENTIMER" for both timecounter and
eventcounter (and it doesn't have the option of "clockinterrupt").  It's
reporting a significantly skewed TSC frequency though.  I think it just
calculated that itself at boot, so not surprising it got it so wrong.

FreeBSD $ /sbin/sysctl kern.timecounter
kern.timecounter.tsc_shift: 1
kern.timecounter.smp_tsc_adjust: 0
kern.timecounter.smp_tsc: 0
kern.timecounter.invariant_tsc: 0
kern.timecounter.fast_gettime: 1
kern.timecounter.tick: 1
kern.timecounter.choice: TSC-low(-100) XENTIMER(950) dummy(-1000000)
kern.timecounter.hardware: XENTIMER
kern.timecounter.alloweddeviation: 5
kern.timecounter.timehands_count: 2
kern.timecounter.stepwarnings: 0
kern.timecounter.tc.TSC-low.quality: -100
kern.timecounter.tc.TSC-low.frequency: 1579390000
kern.timecounter.tc.TSC-low.counter: 187185924
kern.timecounter.tc.TSC-low.mask: 4294967295
kern.timecounter.tc.XENTIMER.quality: 950
kern.timecounter.tc.XENTIMER.frequency: 1000000000
kern.timecounter.tc.XENTIMER.counter: 3992518617
kern.timecounter.tc.XENTIMER.mask: 4294967295




--
					Greg A. Woods <gwoods%acm.org@localhost>

Kelowna, BC     +1 250 762-7675           RoboHack <woods%robohack.ca@localhost>
Planix, Inc. <woods%planix.com@localhost>     Avoncote Farms <woods%avoncote.ca@localhost>

Attachment: pgpnsFOwXLCh6.pgp
Description: OpenPGP Digital Signature



Home | Main Index | Thread Index | Old Index