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:
parent
6dfdd6940b
commit
5fb4d68c7f
@ -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;
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
|
@ -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,
|
||||
|
@ -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)
|
||||
*
|
||||
|
@ -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
|
||||
*/
|
||||
|
@ -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
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user