diff options
author | Alexander Aring <aahringo@redhat.com> | 2024-04-15 21:39:42 +0300 |
---|---|---|
committer | David Teigland <teigland@redhat.com> | 2024-04-16 22:45:31 +0300 |
commit | e91313591b29ce724fe2f1bdf29f2482878fc275 (patch) | |
tree | f3058f289d907f09b98a946527b388e6e6f57a93 /fs/dlm/dir.c | |
parent | b1f2381c1a8d52b973944090ed8b42c750152533 (diff) | |
download | linux-e91313591b29ce724fe2f1bdf29f2482878fc275.tar.xz |
dlm: use rwlock for rsb hash table
The conversion to rhashtable introduced a hash table lock per lockspace,
in place of per bucket locks. To make this more scalable, switch to
using a rwlock for hash table access. The common case fast path uses
it as a read lock.
Signed-off-by: Alexander Aring <aahringo@redhat.com>
Signed-off-by: David Teigland <teigland@redhat.com>
Diffstat (limited to 'fs/dlm/dir.c')
-rw-r--r-- | fs/dlm/dir.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/dlm/dir.c b/fs/dlm/dir.c index 9687f908476b..b1ab0adbd9d0 100644 --- a/fs/dlm/dir.c +++ b/fs/dlm/dir.c @@ -200,9 +200,9 @@ static struct dlm_rsb *find_rsb_root(struct dlm_ls *ls, const char *name, struct dlm_rsb *r; int rv; - spin_lock_bh(&ls->ls_rsbtbl_lock); + read_lock_bh(&ls->ls_rsbtbl_lock); rv = dlm_search_rsb_tree(&ls->ls_rsbtbl, name, len, &r); - spin_unlock_bh(&ls->ls_rsbtbl_lock); + read_unlock_bh(&ls->ls_rsbtbl_lock); if (!rv) return r; |