Re: [PATCH 00/23] per device dirty throttling -v8

Martin J. Bligh
2007-08-08T21:10:28Z

Christoph Hellwig wrote:
> On Sat, Aug 04, 2007 at 09:42:59PM +0200, J??rn Engel wrote:
>
>> On Sat, 4 August 2007 21:26:15 +0200, J??rn Engel wrote:
>>
>>> Given the choice between only "atime" and "noatime" I'd agree with you.
>>> Heck, I use it myself. But "relatime" seems to combine the best of both
>>> worlds. It currently just suffers from mount not supporting it in any
>>> relevant distro.
>>>
>> And here is a completely untested patch to enable it by default. Ingo,
>> can you see how good this fares compared to "atime" and
>> "noatime,nodiratime"?
>>
>
> Umm, no f**king way. atime selection is 100% policy and belongs into
> userspace. Add to that the problem that we can't actually re-enable
> atimes because of the way the vfs-level mount flags API is designed.
> Instead of doing such a fugly kernel patch just talk to the handfull
> of distributions that matter to update their defaults.
>

From what I've seen the problem seems to be that the inode
gets marked dirty when we update atime.

Why isn't this easily fixable by just adding an additional dirty
flag that says atime has changed? Then we only cause a write
when we remove the inode from the inode cache, if only atime
is updated.

Unlike relatime, there's no user-visible change (unless the
machine crashes without clean unmount, but not sure anyone
cares that much about that cornercase). Atime changes are
thus kept in-ram until umount / inode reclaim.