Robert Baldyga
aa3677da10
Merge pull request #530 from arutk/remove_eviction
...
Remove remaining stale references to "eviction" and "evp"
2021-06-30 09:47:35 +02:00
Robert Baldyga
43a142ccdd
Merge pull request #531 from arutk/fix_remove_dirty
...
fix removing dirty core
2021-06-29 09:36:45 +02:00
Michal Mielewczyk
98d2ce0264
pyocf: test for removing dirty core
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2021-06-28 17:40:49 +02:00
Adam Rutkowski
a1ec40ce10
Fix ocf_lru_repart for freelist partition
...
ocf_lru_get_list() now returs clean list for freelist partition to
provide common interface regardless of partition type.
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-06-28 17:39:31 +02:00
Robert Baldyga
b9f160b177
Merge pull request #526 from robertbaldyga/fix-unlock-after-invalid
...
Unlock request after invalidating cache lines
2021-06-28 13:50:40 +02:00
Adam Rutkowski
a7581b892c
Rename evp_iter to lru_iter in concurrency
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-06-26 19:09:10 +02:00
Adam Rutkowski
d029b2a2be
Remove unused pending_eviction_clines counter
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-06-26 19:09:10 +02:00
Adam Rutkowski
a9ab5fbafd
Fix comments in ocf_engine_common.h
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-06-26 19:09:09 +02:00
Adam Rutkowski
1a5d20156e
Renamve eviction_idx to lru_idx
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-06-26 19:09:08 +02:00
Adam Rutkowski
fc06ef92a0
Remove obsolete wrapper for lru_rm_cline
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-06-26 19:09:04 +02:00
Robert Baldyga
059b845df8
Unlock request after invalidating cache lines
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2021-06-25 17:50:38 +02:00
Robert Baldyga
99be26cefd
Merge pull request #518 from mmichal10/reorder-md-flush
...
Reorder metadata updating patter in WB mode
2021-06-23 12:47:44 +02:00
Michal Mielewczyk
f0564dcf75
Avoid unnecessary metadata flushes in WT
...
Flushing metadata in WT is required only if at least of the request's cacheline
changed its state to clean.
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2021-06-23 09:51:16 +02:00
Michal Mielewczyk
c9294d1f06
Reorder metadata updating pattern in WT mode
...
There's a possibility that WT write is performed to dirty cache line (i.e. after
switching WB->WT without flush) and status bits change from dirty to clean. If
power failure occurs it might happen that recovery would ignore recent data from
cache and would assume that data is clean while backend storage data is out of
date.
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2021-06-22 15:35:50 +02:00
Michal Mielewczyk
0192ce23dd
Reorder metadata updating patter in WB mode
...
In WB mode metadata should be updated only if the actuall data had been saved
on disk. Otherwise metadata might be flushed too early and consequently data
corruption might occur.
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2021-06-22 09:04:56 +02:00
Robert Baldyga
847f5f1174
Merge pull request #520 from arutk/lru_refactor
...
LRU refactoring
2021-06-21 22:49:08 +02:00
Adam Rutkowski
1e1955b833
lru refactor
...
rearanging lru implementation for easier journaling
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-06-21 22:32:57 +02:00
Robert Baldyga
f2414af7b9
Merge pull request #524 from arutk/mio_lock_in_thread
...
Move metadata I/O lock to IO queue context
2021-06-21 21:59:46 +02:00
Adam Rutkowski
edf20c133e
Move metadata I/O lock to IO queue context
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-06-21 21:39:35 +02:00
Robert Baldyga
658e656e3f
Merge pull request #523 from arutk/metadata_updater_opt
...
fastpath for metadata update
2021-06-21 20:31:10 +02:00
Adam Rutkowski
a70608476d
fastpath for metadata update
...
Removing extra request cycle through IO queue in case of successfull
metadata I/O lock.
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-06-21 20:02:56 +02:00
Robert Baldyga
dcc54452cf
Merge pull request #522 from mmkayPL/metadata-updater-error-handling
...
Metadata updater error handling
2021-06-21 19:59:18 +02:00
Kozlowski Mateusz
50ec65fcfd
Fix metadata_io_page_lock_acquired typo
...
Signed-off-by: Kozlowski Mateusz <mateusz.kozlowski@intel.com>
2021-06-21 19:46:35 +02:00
Kozlowski Mateusz
1031139446
OCF: Fix error path for metadata updater
...
Signed-off-by: Kozlowski Mateusz <mateusz.kozlowski@intel.com>
2021-06-21 19:46:34 +02:00
Adam Rutkowski
becd12dc90
Merge pull request #521 from arutk/compilation_fix
...
Fix include paths in ocf_lru.c and ocf_space.c
2021-06-21 17:29:35 +02:00
Adam Rutkowski
bae59e0620
Fix include paths in ocf_lru.c and ocf_space.c
...
This fixes compilation with CAS Linux
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-06-21 17:12:10 +02:00
Robert Baldyga
c8268245ba
Merge pull request #507 from arutk/remove_part_list
...
remove partition list
2021-06-21 15:49:35 +02:00
Adam Rutkowski
36107fd528
Initialize partitions during cache start
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-06-18 12:19:08 +02:00
Adam Rutkowski
dca93964e3
remove stale declaration of space_management_free()
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-06-18 12:19:08 +02:00
Adam Rutkowski
07cbba32f6
remove stale references to eviction
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-06-18 12:19:08 +02:00
Adam Rutkowski
33e2beac24
Rename "evp_lru*" functions to "ocf_lru*"
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-06-18 12:19:08 +02:00
Adam Rutkowski
b1143374a8
Move eviction files to new locations
...
src/eviction/lru.c -> src/ocf_lru.c
src/eviction/lru.h -> src/ocf_lru.h
src/eviction/lru_structs.h -> src/ocf_lru_structs.h
src/eviction/eviction.c -> src/ocf_space.c
src/eviction/eviction.h -> src/ocf_space.h
.. as well as corresponding UT files.
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
... in UT as well
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-06-18 12:19:08 +02:00
Adam Rutkowski
7c0f940876
Replace eviction with lru in metadata structs
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-06-18 12:19:08 +02:00
Adam Rutkowski
88e04a4204
Remove eviction policy abstraction
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-06-18 12:19:08 +02:00
Adam Rutkowski
31737ee0e7
Move all eviction locks to lru.c
...
this is preparation for removal of evp abstraction
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-06-18 12:19:08 +02:00
Adam Rutkowski
77bccba036
do not track hotness on free lru list
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-06-18 12:19:08 +02:00
Adam Rutkowski
fac35d34a2
Rename "evict" to "remap" across the entire repo
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-06-18 12:19:08 +02:00
Adam Rutkowski
4f217b91a5
Remove partition list
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-06-18 12:19:08 +02:00
Adam Rutkowski
87f834c793
Move common user and freelist partition data to a new struct
...
New structure ocf_part is added to contain all the data common for both
user partitions and freelist partition: part_runtime and part_id.
ocf_user_part now contains ocf_part structure as well as pointer to
cleaning partition runtime metadata (moved out from part_runtime) and
user partition config (no change here).
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-06-18 12:07:10 +02:00
Robert Baldyga
c0b76f9e01
Merge pull request #517 from arutk/hit_shortcut
...
Check for hit after upgrading hash bucket lock
2021-06-17 12:16:18 +02:00
Robert Baldyga
73c3e97f43
Merge pull request #509 from Open-CAS/rm-metadata-updater
...
Remove metadata updater
2021-06-17 09:34:18 +02:00
Kozlowski Mateusz
367fcbfe4e
Update debug prints and methods
...
Signed-off-by: Kozlowski Mateusz <mateusz.kozlowski@intel.com>
2021-06-16 13:48:37 +02:00
Kozlowski Mateusz
c17b587444
Update cache line concurrency unit tests
...
Signed-off-by: Kozlowski Mateusz <mateusz.kozlowski@intel.com>
2021-06-16 13:48:37 +02:00
Kozlowski Mateusz
ce316cc67c
Change alock API to include slow/fast lock callbacks
...
Signed-off-by: Kozlowski Mateusz <mateusz.kozlowski@intel.com>
2021-06-16 13:48:35 +02:00
Robert Baldyga
85199591ff
Merge pull request #516 from rafalste/fix_promotion_count_msg_typo
...
Fix seq-cutoff promotion count message typo
2021-06-16 10:20:02 +02:00
Adam Rutkowski
d5b16c273e
Check for hit after upgrading hash bucket lock
...
Lookup is repeated after request is identified as miss and hash bucket
lock is upgraded (in order to map missing cachelines). At this point
cachelines status might change and the request might turn out to be
a hit after all. Adding check for this condition removes unnecessary
calls to remap logic.
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-06-15 23:11:02 +02:00
Kozlowski Mateusz
f49e9d2d6a
Save alock callbacks during initialization
...
Signed-off-by: Kozlowski Mateusz <mateusz.kozlowski@intel.com>
2021-06-15 10:25:05 +02:00
Adam Rutkowski
f589341c9a
remove metadata updater
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-06-15 10:25:05 +02:00
Adam Rutkowski
953e0f25d7
replace metadata updater with metadata I/O concurrency
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-06-15 10:25:05 +02:00
Adam Rutkowski
06f3c937c3
mio concurrency
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-06-15 10:25:05 +02:00