On 28.05.2013 14:31, Philip Martin wrote:
> Tobias Bading<tbading_at_web.de> writes:
>> b) '{ while true; do echo "">t; ls -l --full-time t; rm t; done; } |
>> uniq' prints exactly *two* lines per second, one every 0.5 seconds,
>> exact down to the millisecond.
> I have an Ubuntu 12.04 machine and I see the expected behaviour: lots of
> different timestamps. I have run the Subversion tests on Ubuntu 10.04 in
> the past without a problem.
Did you run the tests on Ubuntu 10.04 on an ext3 or ext4 filesystem? On
ext3 you might not encounter this problem because ext3 only has a
timestamp resolution of a second, thus you don't enter the
"if(finfo.mtime % APR_USEC_PER_SEC)" block in svn_io_sleep_for_timestamps.
> If you do a Subversion checkout of something like
> http://svn.apache.org/repos/asf/subversion/trunk/subversion/libsvn_wc do
> you see all the working files with different timestamps? If you then
> remove the working files and run 'svn revert -R' all the files should be
> restored in a fraction of a second. Do they all have different
> timestamps?
I've already checked a few build directories. The
two-timestamps-per-second effect is consistent, e.g. in
subversion/svn/.libs I have unique timestamps like these (from a 'make
-j 3'):
2013-05-27 11:27:17.279848045 +0200
2013-05-27 11:27:17.779847483 +0200
2013-05-27 11:27:18.279848246 +0200
2013-05-27 11:27:18.779846845 +0200
2013-05-27 11:27:19.279848307 +0200
2013-05-27 11:27:19.779848160 +0200
Multiple files have the exact same timestamp, but there are no
timestamps in between. It clearly seems that some code in the
kernel/ext4-driver/somewhere uses a cached timestamp that is updated
exactly every 0.5 seconds.
> You could also try mounting a tmpfs filesystem:
>
> sudo mount -t tmpfs tmpfs /mnt
>
> Do you get the same timestamp behaviour on that filesystem?
Good idea :-). The tmpfs filesystem shows the same behaviour. So it's
nothing ext4 specific.
Received on 2013-05-28 15:06:03 CEST