lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <233939.75965.qm@web54403.mail.yahoo.com>
Date:	Fri, 10 Aug 2007 07:26:46 -0700 (PDT)
From:	Vlad <vladc6@...oo.com>
To:	linux-kernel@...r.kernel.org
Subject: Noatime vs relatime

Linus Torvalds wrote:
> What we could do is to make "relatime" updates a bit smarter.
> 
> A bit smarter would be:
> 
> - update atime if the old atime is <= than mtime/ctime
>
> Logic: things like mailers can care about whether some
> new state has 
> been read or not. This is the current relatime.
> 
> - update atime if the old atime is more than X seconds
> in the past (defaulting to one day or something)
> 
> Logic: things like tmpwatch and backup
> software may want to remove 
> stuff that hasn't been touched in a long time, but they
> sure don't care about "exact" atime.

Relatime seems to be wasteful of both IO resources _and_ CPU cycles.
Instead of performing a single IO operation (as atime does), relatime
performs at least three IO operations and three CPU-dependent
operations:

1) a read IO operation to find out the old atime
2) a read IO operation to find out the old ctime
3) a read IO operation to find out the old mtime
4) Comparison of "old atime is <= than mtime/ctime"
5) Find out current time
6) Comparison of "current time minus old atime is > X"

People are going to wonder why all of the sudden everything is running
so slow due to atimes being updated after a long break.

I suggest treating atime as if it were a subsystem that is scheduled
for an overhaul - there have been plenty of those in the past. Give
users/distros a config option to disable atime, but default this
option in favor of atime for a couple of kernel release cycles. Print
a line in dmesg that states something like:

"Warning: Atime will be disabled by default in future kernel versions,
but you will still be able to turn it on when configuring the kernel."

This should give a heads-up to the 0.001% of people who still use
atime so that they know to customize this option or start using modern
file-monitoring techniques like inotify.

Vlad


       
____________________________________________________________________________________
Pinpoint customers who are looking for what you sell. 
http://searchmarketing.yahoo.com/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ