It isn't true if the parallel make actually uses your RAM for
something, thus flushing some of the inodes from RAM.
Admittedly it is no worse than we have at the moment. However, at the
moment it is possible, to construct a "make" or other program of that
ilk which can always make a safe decision: if it's ambiguous whether a
file needs to be remade, then remake the file.
As soon as we have inodes time stamp resolution being spontanously
lowered (because some of the inodes are flushed from RAM and some
aren't), then it's not possible to make a safe program like that
anymore, unless you simply ignore the high resolution time stamps
_all_ the time, even when they are present.
You can just do that - it's correct behaviour. But it would be better
to use the high precision when available, as that reduces the number
of unnecessary remakes.
> 4 - the time could be stored in register values, ticks, or whatever else,
> avoiding any conversion to ns. Then the time could be converted only when
> the inode was read, written out, etc.
>
> I'd really like your comments on these, you probably see things I've
> missed.
I know of exactly one application which depends on atime information:
checking whether you have new mail in your inbox. That's done by
comparing atime and mtime on the mailbox. Mail readers read the file
after writing it, MTAs will simply write it.
For this to function correctly, what's important is that the atime is
updated to be at least the mtime. So for nanosecond atime updates, it
makes sense that the _first_ read following a write should update the
atime -- if not using the current clock, then simply copying the mtime
value.
-- Jamie
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/