On Thu, 21 Jul 2011 23:01:24 -0700 Andi Kleen <andi@xxxxxxxxxxxxxx> wrote: > Matt Mackall <mpm@xxxxxxxxxxx> writes: > > > > This means I can touch a file something like 70k times per second and > > get only 300 distinct timestamps on my laptop. And only 100 distinct > > timestamps on a typical distro server kernel. > > You should use the inode generation number if you really want > to see every update. I assume you mean i_version which gets incremented (under a spinlock) if the filesystem asks for it. This doesn't let you compare the ages of two files. I wonder if that is important. Is it important to you Matt? > > > Meanwhile, I can call gettimeofday 35M times per second and get ~1M > > distinct responses. > > They key word here is "I". > > > Given that we can do gettimeofday three orders of magnitude faster than > > we can do file transactions and it has four orders of magnitude better > > resolution, shouldn't we be using it for filesystem time when > > sb->s_time_gran is less than 1/HZ? > > Some systems have a quite slow gettimeofday() > That was the primary motivation for using jiffies. > > Also adding more granuality makes it more expensive, > because there's additional work every time it changes. > Even jiffies already caused regressions. > > -Andi I imagine a scheme where 'stat' would set a flag if it wasn't set, and file_update_time would: - if the flag is set, use gettimeofday and clear the flag - if the flag is not set, use jiffies so if you are looking, you will see i_mtime changing precisely but if not, you don't pay the price. This wouldn't allow precise ordering of distinct files either of course. NeilBrown -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html