NetBSD-Bugs archive

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

kern/45626: System time does not advance correctly when noatime is specified for /var



>Number:         45626
>Category:       kern
>Synopsis:       System time does not advance correctly when noatime is 
>specified for /var
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Nov 17 20:25:00 +0000 2011
>Originator:     Don Allen
>Release:        5.1
>Organization:
>Environment:
NetBSD salome.comcast.net 5.1 NetBSD 5.1 (GENERIC) #0: Sat Nov  6 13:19:33 UTC 
2010  
builds%b6.netbsd.org@localhost:/home/builds/ab/netbsd-5-1-RELEASE/amd64/201011061943Z-obj/home/builds/ab/netbsd-5-1-RELEASE/src/sys/arch/amd64/compile/GENERIC
 amd64
>Description:
I just installed NetBSD 5.1 on a Lenovo S10 workstation: 4-core Intel 
processor, 4 Gb, 2 fast SAS disks on an LSI controller in a raid-0 config. In 
my first attempt, I set up just a root partition (and swap). After installing, 
I changed fstab to mount / async,noatime (I want high performance and am 
willing to risk losing the whole thing). After doing that, I noticed that the 
system wasn't keeping time correctly -- the system time was advancing at a 
snail's pace, about 1 second per about a minute of real time. There were some 
other symptoms, things taking much too long, such as system boot, logging off 
and shutting the system down. I did a little experimenting to try to understand 
what was going on here. First, I changed fstab to remove the async,noatime and 
rebooted. That fixed the problem. Then I reinstalled with multiple filesystems 
-- /, /usr, /var, /tmp, /home. I suspected that making / async,noatime was the 
problem and tried all the others async,noatime except /. That di
 d not fix the problem. I then took a wild guess that /var was the issue and 
set all to async,noatime except /var. That fixed the problem. I then tried 
setting /var to just async, without the noatime and rebooted. Time-keeping now 
worked correctly. Adding the async back again brought the problem back after 
rebooting. I'm guessing that there's something in the time-keeping logic that 
depends on the access-time of a file somewhere in the /var hierarchy being 
maintained. Guessing further, I think the slow booting, logging off, and 
shutdown is due to timeouts that take longer than intended, because the system 
clock is barely advancing.
>How-To-Repeat:
Install 5.1 with /var mounted async,noatime (I don't know if the async matters 
-- I haven't tested this without it, but my guess, and it's only a guess, is 
that it doesn't matter).
>Fix:
Don't mount /var async,noatime. Just async works.



Home | Main Index | Thread Index | Old Index