ocf/tests/unit/tests
Adam Rutkowski 81fc7ab5c5 Parallel eviction
Eviction changes allowing to evict (remap) cachelines while
holding hash bucket write lock instead of global metadata
write lock.

As eviction (replacement) is now tightly coupled with request,
each request uses eviction size equal to number of its
unmapped cachelines.

Evicting without global metadata write lock is possible
thanks to the fact that remaping is always performed
while exclusively holding cacheline (read or write) lock.
So for a cacheline on LRU list we acquire cacheline lock,
safely resolve hash and consequently write-lock hash bucket.
Since cacheline lock is acquired under hash bucket (everywhere
except for new eviction implementation), we are certain that
noone acquires cacheline lock behind our back. Concurrent
eviction threads are eliminated by holding eviction list
lock for the duration of critial locking operations.

Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-03-05 11:20:47 +01:00
..
cleaning Update copyright statements (2021) 2021-01-21 13:17:34 +01:00
concurrency Cacheline concurrency deadlock detection test in UT 2021-02-24 17:29:52 -06:00
engine/engine_common.c Parallel eviction 2021-03-05 11:20:47 +01:00
eviction Parallel eviction 2021-03-05 11:20:47 +01:00
metadata/metadata_collision.c ut: Add cache allocation & do little cleanup 2020-03-23 12:38:43 +01:00
mngt Remove ioclass min_size from public API 2021-03-02 14:46:57 +01:00
ocf_env UT prapare update 2019-10-01 14:28:27 +02:00
ocf_freelist.c Return error status from ocf_freelist_init 2020-12-23 16:43:46 +01:00
utils Merge pull request #451 from arutk/exact_evict_count 2021-02-11 10:47:12 +01:00
.gitignore ut: Add .gitignore 2020-03-23 12:33:12 +01:00
add_new_test_file.py Update copyright statements (2021) 2021-01-21 13:17:34 +01:00
header.c Update copyright statements (2021) 2021-01-21 13:17:34 +01:00
print_desc.h Update copyright statements (2021) 2021-01-21 13:17:34 +01:00