On Fri, Feb 07, 2025 at 03:10:33PM +0100, Christian Brauner wrote: > Before 2011 there was no meaningful synchronization between > read/readdir/write/seek. Only in commit > ef3d0fd27e90 ("vfs: do (nearly) lockless generic_file_llseek") > synchronization was added for SEEK_CUR by taking f_lock around > vfs_setpos(). > > Then in 2014 full synchronization between read/readdir/write/seek was > added in commit 9c225f2655e3 ("vfs: atomic f_pos accesses as per POSIX") > by introducing f_pos_lock for regular files with FMODE_ATOMIC_POS and > for directories. At that point taking f_lock became unnecessary for such > files. > > So only acquire f_lock for SEEK_CUR if this isn't a file that would have > acquired f_pos_lock if necessary. What workloads benefit from this optimisation?