API for cacheline write trylock
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
This commit is contained in:
parent
bd20d6119b
commit
6d962b38e9
@ -1157,3 +1157,17 @@ void ocf_cache_line_unlock_rd(struct ocf_cache *cache, ocf_cache_line_t line)
|
|||||||
__unlock_cache_line_rd(c, line);
|
__unlock_cache_line_rd(c, line);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool ocf_cache_line_try_lock_wr(struct ocf_cache *cache, ocf_cache_line_t line)
|
||||||
|
{
|
||||||
|
struct ocf_cache_line_concurrency *c = cache->device->concurrency.cache_line;
|
||||||
|
return __lock_cache_line_wr(c, line, NULL, NULL, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ocf_cache_line_unlock_wr(struct ocf_cache *cache, ocf_cache_line_t line)
|
||||||
|
{
|
||||||
|
struct ocf_cache_line_concurrency *c = cache->device->concurrency.cache_line;
|
||||||
|
|
||||||
|
OCF_DEBUG_RQ(cache, "Cache line = %u", line);
|
||||||
|
|
||||||
|
__unlock_cache_line_wr(c, line);
|
||||||
|
}
|
||||||
|
@ -161,4 +161,23 @@ void ocf_cache_line_unlock_rd(struct ocf_cache *cache, ocf_cache_line_t line);
|
|||||||
*/
|
*/
|
||||||
bool ocf_cache_line_try_lock_rd(struct ocf_cache *cache, ocf_cache_line_t line);
|
bool ocf_cache_line_try_lock_rd(struct ocf_cache *cache, ocf_cache_line_t line);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Release cache line write lock
|
||||||
|
*
|
||||||
|
* @param cache - OCF cache instance
|
||||||
|
* @param line - Cache line to be unlocked
|
||||||
|
*/
|
||||||
|
void ocf_cache_line_unlock_wr(struct ocf_cache *cache, ocf_cache_line_t line);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Attempt to lock cache line for write
|
||||||
|
*
|
||||||
|
* @param cache - OCF cache instance
|
||||||
|
* @param line - Cache line to be checked for waiters
|
||||||
|
*
|
||||||
|
* @retval true - write lock successfully acquired
|
||||||
|
* @retval false - failed to acquire write lock
|
||||||
|
*/
|
||||||
|
bool ocf_cache_line_try_lock_wr(struct ocf_cache *cache, ocf_cache_line_t line);
|
||||||
|
|
||||||
#endif /* OCF_CONCURRENCY_H_ */
|
#endif /* OCF_CONCURRENCY_H_ */
|
||||||
|
Loading…
Reference in New Issue
Block a user