From c04bfa3962c132cac3a21e000eac3f394e60c628 Mon Sep 17 00:00:00 2001 From: Adam Rutkowski Date: Fri, 5 Feb 2021 16:06:38 -0600 Subject: [PATCH] Add macros to read lock eviction list Signed-off-by: Adam Rutkowski --- src/concurrency/ocf_metadata_concurrency.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/concurrency/ocf_metadata_concurrency.h b/src/concurrency/ocf_metadata_concurrency.h index 172e591..ab6085c 100644 --- a/src/concurrency/ocf_metadata_concurrency.h +++ b/src/concurrency/ocf_metadata_concurrency.h @@ -34,6 +34,17 @@ static inline void ocf_metadata_eviction_wr_unlock( env_rwlock_write_unlock(&metadata_lock->eviction[ev_list]); } +static inline void ocf_metadata_eviction_rd_lock( + struct ocf_metadata_lock *metadata_lock, unsigned ev_list) +{ + env_rwlock_read_lock(&metadata_lock->eviction[ev_list]); +} + +static inline void ocf_metadata_eviction_rd_unlock( + struct ocf_metadata_lock *metadata_lock, unsigned ev_list) +{ + env_rwlock_read_unlock(&metadata_lock->eviction[ev_list]); +} static inline void ocf_metadata_eviction_wr_lock_all( struct ocf_metadata_lock *metadata_lock) { @@ -60,6 +71,15 @@ static inline void ocf_metadata_eviction_wr_unlock_all( ocf_metadata_eviction_wr_unlock(&cache->metadata.lock, \ cline % OCF_NUM_EVICTION_LISTS) +#define OCF_METADATA_EVICTION_RD_LOCK(cline) \ + ocf_metadata_eviction_rd_lock(&cache->metadata.lock, \ + cline % OCF_NUM_EVICTION_LISTS) + +#define OCF_METADATA_EVICTION_RD_UNLOCK(cline) \ + ocf_metadata_eviction_rd_unlock(&cache->metadata.lock, \ + cline % OCF_NUM_EVICTION_LISTS) + + #define OCF_METADATA_EVICTION_WR_LOCK_ALL() \ ocf_metadata_eviction_wr_lock_all(&cache->metadata.lock)