Merge pull request #530 from arutk/remove_eviction

Remove remaining stale references to "eviction" and "evp"
This commit is contained in:
Robert Baldyga 2021-06-30 09:47:35 +02:00 committed by GitHub
commit aa3677da10
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 18 additions and 46 deletions

View File

@ -10,12 +10,12 @@
int ocf_metadata_concurrency_init(struct ocf_metadata_lock *metadata_lock)
{
int err = 0;
unsigned evp_iter;
unsigned lru_iter;
unsigned part_iter;
unsigned global_iter;
for (evp_iter = 0; evp_iter < OCF_NUM_LRU_LISTS; evp_iter++)
env_rwlock_init(&metadata_lock->lru[evp_iter]);
for (lru_iter = 0; lru_iter < OCF_NUM_LRU_LISTS; lru_iter++)
env_rwlock_init(&metadata_lock->lru[lru_iter]);
for (global_iter = 0; global_iter < OCF_NUM_GLOBAL_META_LOCKS;
global_iter++) {
@ -40,8 +40,8 @@ global_err:
while (global_iter--)
env_rwsem_destroy(&metadata_lock->global[global_iter].sem);
while (evp_iter--)
env_rwlock_destroy(&metadata_lock->lru[evp_iter]);
while (lru_iter--)
env_rwlock_destroy(&metadata_lock->lru[lru_iter]);
return err;
}

View File

@ -67,7 +67,7 @@ static inline bool ocf_engine_needs_repart(struct ocf_request *req)
* @param req OCF request
*
* @retval true request is mapped fully
* @retval false request is not mapped fully and eviction might be run in
* @retval false request is not mapped fully and remap might be run in
* order to complete mapping
*/
static inline bool ocf_engine_is_mapped(struct ocf_request *req)
@ -226,9 +226,10 @@ struct ocf_engine_callbacks
*
* @param req OCF request
*
* @returns eviction status
* @retval LOOKUP_INSERTED successfully evicted required number of cachelines
* @retval LOOKUP_MISS eviction failure
* @returns cacheline lock status
* @retval OCF_LOCK_ACQUIRED in case of success and CLs locked
* @retval OCF_LOCK_NOT_ACQUIRED in case of success and waiting for CL lock
* @retval <0 other error code
*/
int ocf_engine_prepare_clines(struct ocf_request *req);

View File

@ -105,8 +105,6 @@ struct ocf_cache {
env_atomic pending_read_misses_list_blocked;
env_atomic pending_read_misses_list_count;
env_atomic pending_eviction_clines;
env_atomic flush_in_progress;
env_mutex flush_mutex;

View File

@ -633,7 +633,7 @@ void ocf_lru_clean(ocf_cache_t cache, struct ocf_user_part *user_part,
}
ctx->cache = cache;
lru_idx = io_queue->eviction_idx++ % OCF_NUM_LRU_LISTS;
lru_idx = io_queue->lru_idx++ % OCF_NUM_LRU_LISTS;
lock_idx = ocf_metadata_concurrency_next_idx(io_queue);
ocf_metadata_start_shared_access(&cache->metadata.lock, lock_idx);
@ -658,16 +658,6 @@ void ocf_lru_clean(ocf_cache_t cache, struct ocf_user_part *user_part,
ocf_cleaner_fire(cache, &attribs);
}
bool ocf_lru_can_evict(ocf_cache_t cache)
{
if (env_atomic_read(&cache->pending_eviction_clines) >=
OCF_PENDING_EVICTION_LIMIT) {
return false;
}
return true;
}
static void ocf_lru_invalidate(ocf_cache_t cache, ocf_cache_line_t cline,
ocf_core_id_t core_id, ocf_part_id_t part_id)
{
@ -725,15 +715,12 @@ uint32_t ocf_lru_req_clines(struct ocf_request *req,
ENV_BUG_ON(req->part_id == PARTITION_FREELIST);
dst_part = &cache->user_parts[req->part_id].part;
lru_idx = req->io_queue->eviction_idx++ % OCF_NUM_LRU_LISTS;
lru_idx = req->io_queue->lru_idx++ % OCF_NUM_LRU_LISTS;
lru_iter_eviction_init(&iter, cache, src_part, lru_idx, req);
i = 0;
while (i < cline_no) {
if (!ocf_lru_can_evict(cache))
break;
if (src_part->id != PARTITION_FREELIST) {
cline = lru_iter_eviction_next(&iter, dst_part, &core_id,
&core_line);

View File

@ -18,8 +18,8 @@ struct ocf_queue {
/* per-queue free running global metadata lock index */
unsigned lock_idx;
/* per-queue free running eviction list index */
unsigned eviction_idx;
/* per-queue free running lru list index */
unsigned lru_idx;
struct ocf_seq_cutoff *seq_cutoff;

View File

@ -11,7 +11,7 @@
#include "ocf/ocf_debug.h"
#include "utils/utils_cache_line.h"
#define SEQ_CUTOFF_FULL_MARGIN OCF_PENDING_EVICTION_LIMIT
#define SEQ_CUTOFF_FULL_MARGIN 512
static inline bool ocf_seq_cutoff_is_on(ocf_cache_t cache,
struct ocf_request *req)

View File

@ -10,8 +10,6 @@
#include "ocf_lru.h"
#include "ocf_lru_structs.h"
#define OCF_PENDING_EVICTION_LIMIT 512UL
#define OCF_NUM_LRU_LISTS 32
struct ocf_part;

View File

@ -45,7 +45,7 @@ static void __set_cache_line_invalid(struct ocf_cache *cache, uint8_t start_bit,
*/
if (!is_valid && !ocf_cache_line_are_waiters(
ocf_cache_line_concurrency(cache), line)) {
ocf_purge_eviction_policy(cache, line);
ocf_lru_rm_cline(cache, line);
ocf_metadata_remove_cache_line(cache, line);
}
}

View File

@ -170,18 +170,6 @@ static inline void ocf_purge_cleaning_policy(struct ocf_cache *cache,
cleaning_policy_ops[clean_type].purge_cache_block(cache, line);
}
/**
* @brief Remove cache line from eviction policy
*
* @param cache - cache instance
* @param line - cache line to be removed
*/
static inline void ocf_purge_eviction_policy(struct ocf_cache *cache,
ocf_cache_line_t line)
{
ocf_lru_rm_cline(cache, line);
}
/**
* @brief Set cache line clean and invalid and remove form lists
*
@ -206,8 +194,8 @@ static inline void _ocf_purge_cache_line_sec(struct ocf_cache *cache,
}
/**
* @brief Purge cache line (remove completely, from collision, move to free
* partition, from cleaning policy and eviction policy)
* @brief Purge cache line (remove from collision and cleaning policy,
* move to free LRU list).
*
* @param req - OCF request to purge
*/