GFS2: Improve cluster mmap scalability
authorSteven Whitehouse <swhiteho@redhat.com>
Wed, 2 Feb 2011 14:48:10 +0000 (14:48 +0000)
committerSteven Whitehouse <swhiteho@redhat.com>
Wed, 2 Feb 2011 14:48:10 +0000 (14:48 +0000)
commitb9c93bb7deadc7cdd00415edc6b38d67a26c1c7a
treeb490fba351eefdb9ef4feeb9925fae75045fac51
parentedae38a6431276c50d4b51543c36de258722358e
GFS2: Improve cluster mmap scalability

The mmap system call grabs a glock when an update to atime maybe
required. It does this in order to ensure that the flags on the
inode are uptodate, but since it will only mark atime for a future
update, an exclusive lock is not required here (one will be taken
later when the actual update is performed).

Also, the lock can be skipped when the mount is marked noatime in
addition to the original check which only looked at the noatime
flag for the inode itself.

This should increase the scalability of the mmap call when multiple
nodes are all mmaping the same file.

Reported-by: Scooter Morris <scooter@cgl.ucsf.edu>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
fs/gfs2/file.c