Messages in this thread | | | Date | Thu, 5 Feb 2009 12:05:19 -0800 | From | Andrew Morton <> | Subject | Re: [RESEND] [PATCH] lseek: remove i_mutex |
| |
On Tue, 03 Feb 2009 17:04:40 +0900 Hisashi Hifumi <hifumi.hisashi@oss.ntt.co.jp> wrote:
> I removed i_mutex from generic_file_llseek. > I think that the reason of protecting lseek with i_mutex is just > touching i_size atomically. > > So I introduce i_size_read here so i_mutex is no longer needed. > > Following patch removes i_mutex from generic_file_llseek, and deletes > generic_file_llseek_nolock totally. > > Currently there is i_mutex contention not only around lseek, but also fsync or write. > So, I think we can mitigate i_mutex contention between fsync lseek and write by > removing i_mutex.
Prior to this change, generic_file_llseek() modified file->f_pos atomically with respect to other i_mutex holders.
After this change, it doesn't.
| |