Re: 2.6.16-rc2 powerpc timestamp skew

From: Roger Leigh
Date: Mon Feb 13 2006 - 13:34:23 EST


Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> writes:

> On Sun, 2006-02-12 at 17:13 +0000, Roger Leigh wrote:
>> Hi folks,
>>
>> When running a 2.6.16-rc2 kernel on a powerpc system (Mac Mini;
>> Freescale 7447A):
>>
>> $ date && touch f && ls -l f && rm -f f && date
>> Sun Feb 12 12:20:14 GMT 2006
>> -rw-r--r-- 1 rleigh rleigh 0 2006-02-12 12:23
>> Sun Feb 12 12:20:14 GMT 2006
>>
>> Notice the timestamp is 3 minutes in the future compared with the
>> system time. "make" is not a very happy bunny running on this kernel
>> due to every touched file being 3 minutes in the future.
>>
>> When the same command is run on 2.6.15.3:
>>
>> $ date && touch f && ls -l f && rm -f f && date
>> Sun Feb 12 14:27:27 GMT 2006
>> -rw-r--r-- 1 rleigh rleigh 0 2006-02-12 14:27
>> Sun Feb 12 14:27:27 GMT 2006
>>
>> In this case the times are identical, as you would expect.
>>
>> In both these cases, the chrony NTP daemon is running, if that might
>> be a problem.
>
> Can you strace vs. ltrace and see if the gettimeofday or clock_gettime
> syscalls are ever called ?

| strace | ltrace
-----------+---------------+------------------------------------
2.6.15 | |
date | clock_gettime | clock_gettime -> SYS_clock_gettime,
| | localtime, strftime
touch | utimes | futimes -> SYS_utimes
| |
2.6.16-rc2 | |
date | clock_gettime | clock_gettime -> SYS_clock_gettime,
| | localtime, strftime
touch | utimes | futimes -> SYS_utimes

[clock_gettime(CLOCK_REALTIME, {1139826613, 157402000}) = 0]

> I wonder if you have a glibc new enough to
> use the vDSO to obtain the time or if it's using the syscall... The vDSO
> on ppc32 is very new.

It's glibc 2.3.5 (Debian libc6 2.3.5-13).

> Also, are your kernels built with ARCH=ppc or ARCH=powerpc ?

ppc.


Thanks,
Roger

--
Roger Leigh
Printing on GNU/Linux? http://gutenprint.sourceforge.net/
Debian GNU/Linux http://www.debian.org/
GPG Public Key: 0x25BFB848. Please sign and encrypt your mail.

Attachment: pgp00000.pgp
Description: PGP signature