Closed Bug 1541818 Opened 2 years ago Closed 1 year ago

./mach doctor tells me I have no explicit noatime mount option but doesn't tell me what to do about it

Categories

(Firefox Build System :: General, defect)

defect
Not set
normal

Tracking

(firefox68 fixed)

RESOLVED FIXED
mozilla68
Tracking Status
firefox68 --- fixed

People

(Reporter: standard8, Assigned: mshal)

References

(Blocks 1 open bug)

Details

(Keywords: in-triage)

Attachments

(1 file)

On a MacBookPro 2018, 10.14.4, running ./mach doctor gives me the following output:

12 logical processors detected, >=4...  GOOD

32.0GB of physical memory, >7.4GB...    GOOD

srcdir = /Users/mark/dev/gecko
objdir = /Users/mark/dev/gecko/objdir-ff
mountpoint = /
19GB of 465GB free, >=10GB...           GOOD

/ has no explicit noatime mount option...                                       BAD

It doesn't tell me why not having a noatime mount option is bad, nor does it say how to fix it.

If it is something to do with speeding up the build, then we should have information about how much and why. I did find this article which also states "It puts needless wear on an SSD turning even read operations into writes.", which is concerning, though maybe SSDs are better these days?

:standard8, can you compare no-op build times with and without noatime set to see if it even helps on your Mac? I tried this on mine and saw no appreciable difference on a no-op build, where presumably lots of files are read from and would need their atime's updated.

$ for i in seq 1 5; do time ./mach build; done 2>&1 | tee out-atime.txt
$ [Enable noatime via: https://gist.github.com/dmitryd/16902ad3a5defd42d012]
$ mount
/dev/disk0s2 on / (hfs, local, journaled, noatime)
^ Make sure "noatime" is set on /
$ for i in seq 1 5; do time ./mach build; done 2>&1 | tee out-noatime.txt

I think my mac has an old 5400rpm drive though, so it's not very representative of what most devs would be using. I'm wondering if we should just remove this check from 'mach doctor' entirely, or if it's worth putting in the instructions on what to do as you suggest.

Flags: needinfo?(standard8)

On a 2018 MacBook Pro, with SSD, I'm seeing no-op build times of around 20s. I don't think there's any significant difference between normal and noatime versions. Probably less than a second if there is (and the variance is around a second or two anyway).

Maybe we should remove this for Mac? Not sure about Linux.

Flags: needinfo?(standard8)

The noatime option doesn't appear to have a significant impact on no-op
build times, even though the build system does a significant number of
file reads. Since macs have atime enabled by default, we should just
disable this check rather than give developers unhelpful error messages.

Pushed by mshal@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/613c0da061aa
Remove atime check on mac; r=froydnj
Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla68
You need to log in before you can comment on or make changes to this bug.