Configure all io classes at once.

Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
This commit is contained in:
Michal Mielewczyk
2019-01-09 04:57:23 -05:00
parent 5e97795630
commit 2dfd6248c9
14 changed files with 451 additions and 118 deletions

View File

@@ -57,15 +57,15 @@ struct ocf_io_class_info {
* function meant to retrieve information pertaining to particular IO class,
* specifically to fill ocf_io_class_info structure based on input parameters.
*
* @param[in] cache cache id, to which specified request pertains.
* @param[in] cache cache handle, to which specified request pertains.
* @param[in] io_class id of an io class which shall be retreived.
* @param[out] info io class info structure to be filled as a
* @param[out] info io class info structures to be filled as a
* result of this function call.
*
* @return function returns 0 upon successful completion; appropriate error
* code is returned otherwise
*/
int ocf_io_class_get_info(ocf_cache_t cache, uint32_t io_class,
int ocf_cache_io_class_get_info(ocf_cache_t cache, uint32_t io_class,
struct ocf_io_class_info *info);
/**

View File

@@ -543,8 +543,12 @@ struct ocf_mngt_io_class_config {
uint32_t max_size;
};
struct ocf_mngt_io_classes_config {
struct ocf_mngt_io_class_config config[OCF_IO_CLASS_MAX];
};
/**
* @brief Configure IO class in given cache
* @brief Configure IO classes in given cache
*
* @param[in] cache Cache handle
* @param[in] cfg IO class configuration
@@ -552,8 +556,8 @@ struct ocf_mngt_io_class_config {
* @retval 0 Configuration have been set successfully
* @retval Non-zero Error occurred and configuration not been set
*/
int ocf_mngt_io_class_configure(ocf_cache_t cache,
const struct ocf_mngt_io_class_config *cfg);
int ocf_mngt_cache_io_classes_configure(ocf_cache_t cache,
const struct ocf_mngt_io_classes_config *cfg);
/**
* @brief Set core sequential cutoff threshold

View File

@@ -173,18 +173,19 @@ void ocf_core_stats_initialize(ocf_core_t core);
void ocf_core_stats_initialize_all(ocf_cache_t cache);
/**
* @brief ocf_io_class_get_stats retrieve cache statistics
* @brief ocf_core_io_class_get_stats retrieve io class statistics
* for given core
*
* Retrieve buffer of cache statistics for given cache instance.
*
* @param[in] core core ID to which request pertains
* @param[in] io_class IO class, stats of which are requested
* @param[out] stats statistics structure that shall be filled as
* @param[in] core core handle to which request pertains
* @param[in] part_id IO class, stats of which are requested
* @param[out] stats statistic structure that shall be filled as
* a result of this function invocation.
*
* @result zero upon successful completion; error code otherwise
*/
int ocf_io_class_get_stats(ocf_core_t core, uint32_t io_class,
int ocf_core_io_class_get_stats(ocf_core_t core, ocf_part_id_t part_id,
struct ocf_stats_io_class *stats);
/**