public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Padraig Brady <padraig@antefacto.com>
To: Andi Kleen <ak@suse.de>
Cc: 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: Fri, 05 Oct 2001 14:15:25 +0100	[thread overview]
Message-ID: <3BBDB26D.2050705@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>

Andi Kleen wrote:

>On Fri, Oct 05, 2001 at 01:44:20PM +0100, Padraig Brady wrote:
>
>>Andi Kleen wrote:
>>
>>>On Wed, Oct 03, 2001 at 11:15:04AM -0400, Alex Larsson wrote:
>>>
>>>>Is a nanoseconds field the right choice though? In reality you might not 
>>>>have a nanosecond resolution timer, so you would miss changes that appear
>>>>on shorter timescale than the timer resolution. Wouldn't a generation 
>>>>counter, increased when ctime was updated, be a better solution?
>>>>
>>>Near any CPU has a cycle counter builtin now, which gives you ns like
>>>resolution. In theory you could still get collisions on MP systems, 
>>>but window is small enough that it can be ignored in practice.
>>>
>>>-Andi
>>>
>>But the point is you, only ever would want nano second resolution to make
>>sure you notice all changes to a file. A more general (and much simpler)
>>solution would be to gen_count++ every time a file's modified. What other
>>applications would require better than second resolution on files?
>>
>
>The main advantage of using a real timestamp instead of a generation
>counter is that we would be compatible to Unixware/Solaris/... Their
>API is fine, so I see no advantage in inventing a new incompatible one.
>
Even so I can't see a need to have this resolution for mtime, and as you 
pointed
out there can still be races on SMP systems and timing resolutions are 
system
dependent anyway.

>
>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;

>
>[or alternatively reset the generation counter every second in the kernel
>to get a flat time range again, 
>which would be racy and ugly and complicated in the kernel because it 
>would need additional timestamps] 
>
No need as long as it doesn't wrap within the mtime resolution (1 second).

>
>Also a rdtsc/get_timestamp or in the worst case a jiffie read is really
>not complex to code in kernel, what makes you think it is? 
>
Sorry, by more complex I meant more instructions/CPU expensive.

>
>
>-Andi
>
Padraig.


  reply	other threads:[~2001-10-05 13:20 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 [this message]
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
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=3BBDB26D.2050705@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