Remove get and set from metadata raw ifc

Memcopy based metadata interface is an unnecessary
overhead and is being removed.

Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
This commit is contained in:
Adam Rutkowski 2020-11-23 20:18:53 -06:00
parent 6dfdd6940b
commit 5fb4d68c7f
5 changed files with 4 additions and 126 deletions

View File

@ -2381,18 +2381,11 @@ void ocf_metadata_get_core_and_part_id(struct ocf_cache *cache,
ocf_cache_line_t ocf_metadata_get_hash(struct ocf_cache *cache,
ocf_cache_line_t index)
{
ocf_cache_line_t line = cache->device->collision_table_entries;
int result = 0;
struct ocf_metadata_hash_ctrl *ctrl
= (struct ocf_metadata_hash_ctrl *) cache->metadata.priv;
result = ocf_metadata_raw_get(cache,
&(ctrl->raw_desc[metadata_segment_hash]), index, &line);
if (result)
ocf_metadata_error(cache);
return line;
return *(ocf_cache_line_t *)ocf_metadata_raw_rd_access(cache,
&(ctrl->raw_desc[metadata_segment_hash]), index);
}
/*
@ -2401,15 +2394,11 @@ ocf_cache_line_t ocf_metadata_get_hash(struct ocf_cache *cache,
void ocf_metadata_set_hash(struct ocf_cache *cache, ocf_cache_line_t index,
ocf_cache_line_t line)
{
int result = 0;
struct ocf_metadata_hash_ctrl *ctrl
= (struct ocf_metadata_hash_ctrl *) cache->metadata.priv;
result = ocf_metadata_raw_set(cache,
&(ctrl->raw_desc[metadata_segment_hash]), index, &line);
if (result)
ocf_metadata_error(cache);
*(ocf_cache_line_t *)ocf_metadata_raw_wr_access(cache,
&(ctrl->raw_desc[metadata_segment_hash]), index) = line;
}
/*******************************************************************************

View File

@ -164,17 +164,6 @@ uint32_t _raw_ram_page(struct ocf_metadata_raw *raw, uint32_t entry)
return _RAW_RAM_PAGE(raw, entry);
}
/*
* RAM Implementation - Get entry
*/
static int _raw_ram_get(ocf_cache_t cache, struct ocf_metadata_raw *raw,
uint32_t entry, void *data)
{
ENV_BUG_ON(!_raw_is_valid(raw, entry));
return _RAW_RAM_GET(raw, entry, data);
}
/*
* RAM Implementation - Read only entry access
*/
@ -186,17 +175,6 @@ static void *_raw_ram_access(ocf_cache_t cache,
return _RAW_RAM_ADDR(raw, entry);
}
/*
* RAM Implementation - Set Entry
*/
static int _raw_ram_set(ocf_cache_t cache, struct ocf_metadata_raw *raw,
uint32_t entry, void *data)
{
ENV_BUG_ON(!_raw_is_valid(raw, entry));
return _RAW_RAM_SET(raw, entry, data);
}
struct _raw_ram_load_all_context {
struct ocf_metadata_raw *raw;
ocf_metadata_end_t cmpl;
@ -568,8 +546,6 @@ static const struct raw_iface IRAW[metadata_raw_type_max] = {
.size_on_ssd = _raw_ram_size_on_ssd,
.checksum = _raw_ram_checksum,
.page = _raw_ram_page,
.get = _raw_ram_get,
.set = _raw_ram_set,
.access = _raw_ram_access,
.load_all = _raw_ram_load_all,
.flush_all = _raw_ram_flush_all,
@ -583,8 +559,6 @@ static const struct raw_iface IRAW[metadata_raw_type_max] = {
.size_on_ssd = raw_dynamic_size_on_ssd,
.checksum = raw_dynamic_checksum,
.page = raw_dynamic_page,
.get = raw_dynamic_get,
.set = raw_dynamic_set,
.access = raw_dynamic_access,
.load_all = raw_dynamic_load_all,
.flush_all = raw_dynamic_flush_all,
@ -598,8 +572,6 @@ static const struct raw_iface IRAW[metadata_raw_type_max] = {
.size_on_ssd = raw_volatile_size_on_ssd,
.checksum = raw_volatile_checksum,
.page = _raw_ram_page,
.get = _raw_ram_get,
.set = _raw_ram_set,
.access = _raw_ram_access,
.load_all = raw_volatile_load_all,
.flush_all = raw_volatile_flush_all,
@ -613,8 +585,6 @@ static const struct raw_iface IRAW[metadata_raw_type_max] = {
.size_on_ssd = _raw_ram_size_on_ssd,
.checksum = _raw_ram_checksum,
.page = _raw_ram_page,
.get = _raw_ram_get,
.set = _raw_ram_set,
.access = _raw_ram_access,
.load_all = _raw_ram_load_all,
.flush_all = _raw_ram_flush_all,

View File

@ -117,12 +117,6 @@ struct raw_iface {
uint32_t (*page)(struct ocf_metadata_raw *raw, uint32_t entry);
int (*get)(ocf_cache_t cache, struct ocf_metadata_raw *raw,
uint32_t entry, void *data);
int (*set)(ocf_cache_t cache, struct ocf_metadata_raw *raw,
uint32_t entry, void *data);
void* (*access)(ocf_cache_t cache, struct ocf_metadata_raw *raw,
uint32_t entry);
@ -214,21 +208,6 @@ static inline uint32_t ocf_metadata_raw_page(struct ocf_metadata_raw* raw,
return raw->iface->page(raw, entry);
}
/**
* @brief Get specified element of metadata
*
* @param cache - Cache instance
* @param raw - RAW descriptor
* @param entry - Entry to be get
* @param data - Data where metadata entry will be copied into
* @return 0 - Operation success, otherwise error
*/
static inline int ocf_metadata_raw_get(ocf_cache_t cache,
struct ocf_metadata_raw *raw, uint32_t entry, void *data)
{
return raw->iface->get(cache, raw, entry, data);
}
/**
* @brief Access specified element of metadata directly
*
@ -259,21 +238,6 @@ static inline const void *ocf_metadata_raw_rd_access( ocf_cache_t cache,
return raw->iface->access(cache, raw, entry);
}
/**
* @brief Set specified element of metadata
*
* @param cache - Cache instance
* @param raw - RAW descriptor
* @param entry - Entry to be set
* @param data - Data taht will be copied into metadata entry
* @return 0 - Operation success, otherwise error
*/
static inline int ocf_metadata_raw_set(ocf_cache_t cache,
struct ocf_metadata_raw *raw, uint32_t entry, void *data)
{
return raw->iface->set(cache, raw, entry, data);
}
/**
* @brief Load all entries from SSD cache (cahce cache)
*

View File

@ -234,39 +234,6 @@ uint32_t raw_dynamic_page(struct ocf_metadata_raw *raw, uint32_t entry)
return _RAW_DYNAMIC_PAGE(raw, entry);
}
/*
* RAM DYNAMIC Implementation - Get
*/
int raw_dynamic_get(ocf_cache_t cache, struct ocf_metadata_raw *raw,
uint32_t entry, void *data)
{
void *item = _raw_dynamic_get_item(cache, raw, entry);
if (!item) {
ENV_BUG_ON(env_memset(data, raw->entry_size, 0));
ocf_metadata_error(cache);
return -1;
}
return env_memcpy(data, raw->entry_size, item, raw->entry_size);
}
/*
* RAM DYNAMIC Implementation - Set
*/
int raw_dynamic_set(ocf_cache_t cache, struct ocf_metadata_raw *raw,
uint32_t entry, void *data)
{
void *item = _raw_dynamic_get_item(cache, raw, entry);
if (!item) {
ocf_metadata_error(cache);
return -1;
}
return env_memcpy(item, raw->entry_size, data, raw->entry_size);
}
/*
* RAM DYNAMIC Implementation - access
*/

View File

@ -47,18 +47,6 @@ uint32_t raw_dynamic_checksum(ocf_cache_t cache,
*/
uint32_t raw_dynamic_page(struct ocf_metadata_raw *raw, uint32_t entry);
/*
* RAW DYNAMIC - Get specified entry
*/
int raw_dynamic_get(ocf_cache_t cache, struct ocf_metadata_raw *raw,
uint32_t entry, void *data);
/*
* RAW DYNAMIC - Set specified entry
*/
int raw_dynamic_set(ocf_cache_t cache, struct ocf_metadata_raw *raw,
uint32_t entry, void *data);
/*
* RAW DYNAMIC - Write access for specified entry
*/