From: "Petr Titěra" <P.Titera@century.cz>
To: john stultz <johnstul@us.ibm.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Wrong atime on recent kernels
Date: Tue, 22 Dec 2009 16:50:00 +0100 [thread overview]
Message-ID: <4B30EAA8.5070004@century.cz> (raw)
In-Reply-To: <1261430174.5293.43.camel@localhost.localdomain>
john stultz napsal(a):
> On Mon, 2009-12-21 at 00:31 +0100, Petr Titěra wrote:
>
>> Petr Titěra napsal(a):
>>
>>> john stultz napsal(a):
>>>
>>>> Let me know if you find anything that helps narrow this down.
>>>>
>>>>
>>> I know its far fetched, but is there something what is preventing
>>> xtime.tv_nsec to be exactly 999999999 near the end of update_wall_time
>>> in kernel/time/timekeeping.c?
>>>
>>>
>> Just to follow up. I'm asking because I see a lot of files with access
>> and/or modify times near the top of thousanth of second (see
>> `/etc/sysconfig/prelink' in my example) and I thing that addition of 1
>> to xtime.tv_nsec ath the end of update_wall_time can 'owerflow' to whole
>> second.
>>
>
>
> Oof! Yikes.
>
> Yea, the sub-nanosecond rounding fix we added quite awhile back indeed
> opens a hole where xtime.tv_nsec could be exactly 1sec. Good eye!
>
> Of course, most of the timekeeping accessors handle this properly by
> normalizing the timespec before returning, so its likely just users of
> current_kernel_time() and direct accessors of xtime that might be bitten
> here.
>
> And this probably was obscured before because the xtime_cache() was
> normalized. Did you verify that reverting that patch I pointed you to
> resolves the issue? If not, please do, so we can get this fixed up.
>
>
I can confirm that I was not able to see any of those error after I've
reverted that patch. But I was not able to repliace this at will.
Considering that first files with this kind of error started to appear
just about the time your patch went in I would propose that your
explanation is plausible.
> Now I'm a little baffled why you see it all the time on your boxes. For
> this to trigger, you have to have an interrupt in the last ns of a
> second, and then the window for these odd filesystem stamps is only open
> for 1-10ms.
>
>
I think my computer for some unknow reason had better chance of it. This
is snip from filtered and sorted stats of files on my disk:
Access: 2009-12-16 21:51:55.659999999 +0100
Access: 2009-12-16 21:51:55.632000000 +0100
Access: 2009-12-16 21:51:55.552000004 +0100
Access: 2009-12-16 21:51:55.512000003 +0100
Access: 2009-12-16 21:51:55.436000005 +0100
Access: 2009-12-16 21:51:55.432000009 +0100
Access: 2009-12-16 21:51:55.363999951 +0100
Access: 2009-12-16 21:51:55.295999930 +0100
Access: 2009-12-16 21:51:55.287999689 +0100
Access: 2009-12-16 21:51:54.703999875 +0100
Access: 2009-12-16 21:51:54.683999001 +0100
Access: 2009-12-16 21:48:32.844000001 +0100
Access: 2009-12-16 21:48:31.375999999 +0100
Access: 2009-12-16 21:48:31.344000000 +0100
Access: 2009-12-16 21:48:31.047999999 +0100
Access: 2009-12-16 21:48:31.028000002 +0100
Access: 2009-12-16 21:48:31.015999998 +0100
Access: 2009-12-16 21:48:31.015999998 +0100
You see that in my case nanosecond times are sometimes oscilating
withing edge of full milisecond. The sub millisecond part of time is
mostly farr off of it.
Petr
> Sigh. Once we get the last of the non GENERIC_TIME arches converted to
> arch_gettimeoffset, we can kill all of those rounding hacks and just
> manage the sub-nanosecond portion sanely. I'm looking forward to that
> day!
>
>
> So again, Bravo on catching this!
>
> thanks
> -john
>
>
>
> __________ Informace od ESET Smart Security, verze databaze 4709 (20091222) __________
>
> Tuto zpravu proveril ESET Smart Security.
>
> http://www.eset.cz
>
>
>
__________ Informace od ESET Smart Security, verze databaze 4709 (20091222) __________
Tuto zpravu proveril ESET Smart Security.
http://www.eset.cz
prev parent reply other threads:[~2009-12-22 15:50 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-14 21:17 Wrong atime on recent kernels Petr Titěra
2009-12-14 21:41 ` Andi Kleen
2009-12-14 21:59 ` Petr Titěra
2009-12-14 21:45 ` john stultz
[not found] ` <4B29494B.4010305@titera.eu>
2009-12-17 1:21 ` john stultz
2009-12-17 3:26 ` john stultz
2009-12-17 11:04 ` Petr Titěra
2009-12-17 21:19 ` john stultz
2009-12-18 3:13 ` john stultz
2009-12-20 22:29 ` Petr Titěra
2009-12-20 23:31 ` Petr Titěra
2009-12-21 21:16 ` john stultz
2009-12-22 15:50 ` Petr Titěra [this message]
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=4B30EAA8.5070004@century.cz \
--to=p.titera@century.cz \
--cc=johnstul@us.ibm.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