IIRC, uma vez houve um patch apenas para RedHat que tornou isso configurável nos kernels RedHat.
Ingo Molnar propôs algo similar em 2007, mas seu patch não foi mesclado.
Os kernels atuais usam um intervalo fixo de um dia, apresentado por commit 11ff6f05f1e836a6a02369a4c4b64757e484adc1 em março de 2009.
Trecho de fs / inode.c:
/* * With relative atime, only update atime if the previous atime is * earlier than either the ctime or mtime or if at least a day has * passed since the last atime update. */ static int relatime_need_update(struct vfsmount *mnt, struct inode *inode, struct timespec now) { if (!(mnt->mnt_flags & MNT_RELATIME)) return 1; /* * Is mtime younger than atime? If yes, update atime: */ if (timespec_compare(&inode->i_mtime, &inode->i_atime) >= 0) return 1; /* * Is ctime younger than atime? If yes, update atime: */ if (timespec_compare(&inode->i_ctime, &inode->i_atime) >= 0) return 1; /* * Is the previous atime value older than a day? If yes, * update atime: */ if ((long)(now.tv_sec - inode->i_atime.tv_sec) >= 24*60*60) return 1; /* * Good, we can skip the atime update: */ return 0; }
Não tenho certeza se isso também depende do sistema de arquivos usado. De acordo com linux-4.2.4/Documentation/filesystems/ocfs2.txt
, OCFS2
tem atime_quantum
...