GFS2: Don't waste time locking lru_lock for non-lru glocks
authorBob Peterson <rpeterso@redhat.com>
Wed, 26 Jul 2017 15:57:35 +0000 (10:57 -0500)
committerBob Peterson <rpeterso@redhat.com>
Wed, 9 Aug 2017 14:36:39 +0000 (09:36 -0500)
commit645ebd49f0583f91234aa043ef71ddebe7e8351e
treed9c6acfb9b5f38574a8ed924c1a1eccf8de5e2cf
parent2d821a8b7192ed9d2ea0c30f3cb62b58aa46cf41
GFS2: Don't waste time locking lru_lock for non-lru glocks

Before this patch, glock_dq would call gfs2_glock_remove_from_lru.
For glocks that are never put on the LRU, such as the transaction
glock, this just takes the spin_lock, determines there's nothing to
be done because the list is empty, then unlocks again. This was
causing unnecessary lock contention on the lru_lock spin_lock.
This patch adds a check for GLOF_LRU in the glops before taking
the spin_lock.

Signed-off-by: Bob Peterson <rpeterso@redhat.com>
fs/gfs2/glock.c