Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 29 May 2009 13:43:21 +0000 (UTC)
From:      Adrian Chadd <adrian@FreeBSD.org>
To:        cvs-src-old@freebsd.org
Subject:   cvs commit: src/sys/i386/xen clock.c
Message-ID:  <200905291343.n4TDhcTL046443@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
adrian      2009-05-29 13:43:21 UTC

  FreeBSD src repository

  Modified files:
    sys/i386/xen         clock.c 
  Log:
  SVN rev 193033 on 2009-05-29 13:43:21Z by adrian
  
  Fix the Xen TOD update when the hypervisor wall clock is nudged.
  
  The "wall clock" in the current code is actually the hypervisor start time.
  The time of day is the "start time" plus the hypervisor "uptime".
  
  Large enough bumps in the dom0 clock lead to a hypervisor "bump" which is
  implemented as a bump in the start time, not the uptime. The clock.c routines
  were reading in the hypervisor start time and then using this as the TOD.
  This meant that any hypervisor time bump would cause the FreeBSD DomU to
  set its TOD to the hypervisor start time, rather than the actual TOD.
  
  This fix is a bit hacky and some reshuffling should be done later on
  to clarify what is going on. I've left the wall clock code alone.
  (The code which updates shadow_tv and shadow_tv_version.)
  A new routine adds the uptime to the shadow_tv, which is then used to
  update the TOD.
  
  I've included some debugging so it is obvious when the clock is nudged.
  
  PR:     135008
  
  Revision  Changes    Path
  1.11      +14 -0     src/sys/i386/xen/clock.c



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