lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 23 Aug 2010 15:17:39 -0700
From:	john stultz <johnstul@...ibm.com>
To:	jean-philippe francois <jp.francois@...ove.com>
Cc:	Lin Ming <lin@...g.vg>, "H. Peter Anvin" <hpa@...or.com>,
	linux-acpi@...r.kernel.org, LKML <linux-kernel@...r.kernel.org>
Subject: Re: System time drifts when processor idle.

On Mon, Aug 23, 2010 at 1:46 AM, jean-philippe francois
<jp.francois@...ove.com> wrote:
> 2010/8/21 Lin Ming <lin@...g.vg>:
>> On Fri, Aug 20, 2010 at 8:55 AM, jean-philippe francois
>> <jp.francois@...ove.com> wrote:
>>> Hi,
>>>
>>> Please correct me if I am sending this to the wrong list.
>>
>> LKML is better for this issue. Added.
>>
>
> Thank you. I have been looking at the ML archives, and it seems there
> has been issue related to timekeeping lately. So I tested my script
> with a decently recent kernel : 2.6.36-rc1.
>
> The timekeeping bug described below still exists.
>>>
>>> I would like to debug the following issue, which I suspect is related
>>> to cpu losing track of time when going idle.
>>>
>>> When I run the following script :
>>>
>>> #!/bin/bash
>>> # set hwclock to system clock to start
>>> # the log file with the same time
>>> hwclock -w
>>> #start with a fresh logfile
>>> touch clocktest.log
>>> echo START > clocktest.log
>>> while [[ true ]]
>>> do
>>>    systime=$(date)
>>>    hwtime=$(hwclock -r)
>>>    echo "$systime | $hwtime" >> clocktest.log
>>>    sleep 20
>>> done
>>>
>>> Expected output :
>>> On each line, the system time (left) and hardware time (right)
>>> should be roughly the same. Time delta between each line should be
>>> around 20 seconds
>>>
>>> Observed output :
>>> This is an edited version of the real logfile  so that it fits on one
>>> line. the date was removed.
>>> START
>>> 15:09:43 (UTC+0200) |  15:09:44 CEST -0.500555 secondes
>>> 15:10:04 (UTC+0200) |  15:10:05 CEST -1.001562 secondes
>>> 15:10:25 (UTC+0200) |  15:10:26 CEST -0.985944 secondes
>>> 15:10:46 (UTC+0200) |  15:15:46 CEST -0.032792 secondes <-- 5 minute lag !
>>> 15:11:06 (UTC+0200) |  15:16:07 CEST -0.985926 secondes
>>> 15:11:27 (UTC+0200) |  15:16:28 CEST -1.001539 secondes
>>> 15:11:48 (UTC+0200) |  15:16:49 CEST -0.985969 secondes
>>> 15:12:09 (UTC+0200) |  15:17:10 CEST -0.985977 secondes
>>> 15:12:30 (UTC+0200) |  15:17:31 CEST -1.001544 secondes
>>> 15:12:51 (UTC+0200) |  15:17:52 CEST -0.985920 secondes
>>> 15:13:12 (UTC+0200) |  15:18:13 CEST -0.985939 secondes
>>> 15:13:33 (UTC+0200) |  15:18:34 CEST -1.001581 secondes
>>> 15:13:54 (UTC+0200) |  15:18:55 CEST -0.985917 secondes
>>> 15:14:15 (UTC+0200) |  15:29:15 CEST -0.079685 secondes <-- add
>>> another 10 minute
>>> 15:14:35 (UTC+0200) |  15:29:36 CEST -1.001568 secondes
>>> 15:14:56 (UTC+0200) |  15:29:57 CEST -0.985952 secondes
>>>
>>> As you can see, after 20 minutes without touching the computer, the
>>> system time is late by 15 minutes.
>>> This was tested on ubuntu 10.04 with a 2.6.32  "vanilla" kernel where
>>> "vanilla" means ubuntu packaged
>>> upstream kernel  closest to the distribution shipped kernel.

Could you provide the output of:
cat /sys/devices/system/clocksource/clocksource0/available_clocksource
cat /sys/devices/system/clocksource/clocksource0/current_clocksource

I assume you're using the TSC, and hitting the halt-in-c3 issue, but
I'm curious why the clocksource watchdog isn't catching this and
dropping you back to a more stable clocksource.

thanks
-john
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ