From: Padraig Brady <padraig@antefacto.com>
To: Padraig Brady <padraig@antefacto.com>
Cc: Andi Kleen <ak@suse.de>, Alex Larsson <alexl@redhat.com>,
Ulrich Drepper <drepper@cygnus.com>,
linux-kernel@vger.kernel.org
Subject: Re: Finegrained a/c/mtime was Re: Directory notification problem
Date: Mon, 08 Oct 2001 09:58:52 +0100 [thread overview]
Message-ID: <3BC16ACC.3000905@antefacto.com> (raw)
In-Reply-To: <m3r8slywp0.fsf@myware.mynet> <Pine.LNX.4.33.0110031111470.29619-100000@devserv.devel.redhat.com> <20011003232609.A11804@gruyere.muc.suse.de> <3BBDAB24.7000909@antefacto.com> <20011005150144.A11810@gruyere.muc.suse.de> <3BBDB26D.2050705@antefacto.com> <20011005163807.A13524@gruyere.muc.suse.de> <3BBDCAF8.6070705@antefacto.com> <20011005211235.A16163@gruyere.muc.suse.de> <3BC16632.4040008@antefacto.com>
Padraig Brady wrote:
> Andi Kleen wrote:
>
>> On Fri, Oct 05, 2001 at 04:00:08PM +0100, Padraig Brady wrote:
>>
>>> Andi Kleen wrote:
>>>
>>>>>> Another advantage of using the real time instead of a counter is
>>>>>> that you can easily merge the both values into a single 64bit
>>>>>> value and do
>>>>>> arithmetic on it in user space. With a generation counter you
>>>>>> would need to work with number pairs, which is much more complex.
>>>>>
>>>>> ??
>>>>> if (file->mtime != mtime || file->gen_count != gen_count)
>>>>> file_changed=1;
>>>>>
>>>> And how would you implement "newer than" and "older than" with a
>>>> generation
>>>> count that doesn't reset in a always fixed time interval (=requiring
>>>> additional timestamps in kernel)?
>>>> -Andi
>>>>
>>> Well IMHO "newer than", "older than" applications have until now
>>> done with second resolution, and that's all that's required?
>>>
>>
>> No they haven't. GNU make supports nsec mtime on Solaris and apparently
>> some other OS too, because the second granuality mtime can be a big
>> problem with make -j<bignumber> on a big SMP box. make has to distingush
>> "is older" from "is newer"; "not equal" alone doesn't cut it.
>>
>> [If you think it is modify your make to replace the "is older" check
>> for dependencies with "is not equal" and see what happens]
>>
>
> OK agreed, in this case the, complete state/relationship between
> files, must be
> maintained independently of the userspace app, i.e. in the filesystem.
> But wont
> you then have the same problem with synchronising nanosecond times
> between
> the various processors (which could be the other side of a network
> cable in some
> configurations)? So perhaps the best solution is to maintain both a
> generation
> count which would do for many apps who just care if the file has
> changed relative
> to some moment it time and not relative to another file(s) on the
> filesystem .
> Then for make type applications you could maintain the full resolution
> timestamp,
> however this will still have the synchronisation/portability/CPU
> expense issues
> discussed previously.
Just thinking that it's VERY hard to synchronise timings to nanosecond
or even millisecond
resolution over distributed or even within the same filesystem, how
about you synchronise
the timestamps to the particular filesystem and not the universe. I.E.
Instead of incrementing
a "generation count" in each inode you could increment a global
filesystem count everytime
a file is modified in the filesystem, and then this count is stored in
the particular inode being
modified. This would allow you to have exact order relationships between
files in the same
filesystem, and would work perfectly every time for both "types" of apps
mentioned above.
Outside the filesystem you can then resort to just the (second
resolution) timestamp.
Padraig.
next prev parent reply other threads:[~2001-10-08 9:04 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <Pine.LNX.4.33.0110022206100.29931-100000@devserv.devel.redhat.com.suse.lists.linux.kernel>
2001-10-03 7:53 ` Finegrained a/c/mtime was Re: Directory notification problem Andi Kleen
2001-10-03 8:06 ` Ulrich Drepper
2001-10-03 13:35 ` Eric W. Biederman
2001-10-03 14:11 ` Netfilter problem Kirill Ratkin
2001-10-03 21:42 ` Luigi Genoni
2001-10-03 15:24 ` Finegrained a/c/mtime was Re: Directory notification problem Gerhard Mack
2001-10-16 18:56 ` Riley Williams
2001-10-03 15:15 ` Alex Larsson
2001-10-03 21:26 ` Andi Kleen
2001-10-05 12:44 ` Padraig Brady
2001-10-05 12:59 ` Andrew Pimlott
2001-10-05 13:01 ` Andi Kleen
2001-10-05 13:15 ` Padraig Brady
2001-10-05 14:38 ` Andi Kleen
2001-10-05 15:00 ` Padraig Brady
2001-10-05 19:12 ` Andi Kleen
2001-10-08 8:39 ` Padraig Brady
2001-10-08 8:58 ` Padraig Brady [this message]
2001-10-08 10:04 ` Trond Myklebust
2001-10-05 20:22 ` Bernd Eckenfels
2001-10-03 17:45 ` Bernd Eckenfels
2001-10-13 15:24 ` Jamie Lokier
2001-10-13 16:12 ` Andi Kleen
2001-10-13 19:38 ` Jamie Lokier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3BC16ACC.3000905@antefacto.com \
--to=padraig@antefacto.com \
--cc=ak@suse.de \
--cc=alexl@redhat.com \
--cc=drepper@cygnus.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox