Kozlowski Mateusz
8c3ed42fa2
Fix remap line count for user partitions
...
Signed-off-by: Kozlowski Mateusz <mateusz.kozlowski@intel.com>
2021-07-12 16:49:14 +02:00
Robert Baldyga
7b5084b21e
Merge pull request #536 from robertbaldyga/fix-arg-order
...
Fix argument order in ocf_metadata_set_partition_id() call
2021-07-12 10:02:28 +02:00
Robert Baldyga
f538bbd3ae
Fix argument order in ocf_metadata_set_partition_id() call
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2021-07-09 21:31:06 +02:00
Robert Baldyga
d79c4b7dc9
Merge pull request #535 from mmkayPL/struct-alignment
...
Align structures to cacheline
2021-07-08 13:26:57 +02:00
Kozlowski Mateusz
f494448f97
Align structures to cacheline
...
Signed-off-by: Kozlowski Mateusz <mateusz.kozlowski@intel.com>
2021-07-08 12:46:39 +02:00
Robert Baldyga
b5ed58f597
Merge pull request #534 from mmichal10/unlock-remapped
...
Unlock cachelines after failed remap
2021-07-06 16:18:55 +02:00
Michal Mielewczyk
a394dd06a8
Unlock cachelines after failed remap
...
All remapped cachelines are write locked. If the operation fails cachelines has
to be unlocked during rollback
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2021-07-06 15:09:50 +02:00
Robert Baldyga
f863bb627f
Merge pull request #533 from arutk/populate_reschedule
...
restore conditional reschedule during freelist population
2021-07-02 13:07:05 +02:00
Adam Rutkowski
96dfd87572
restore conditional reschedule during freelist population
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-07-02 11:37:49 +02:00
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
Adam Rutkowski
ab74ce07df
Remove accidentaly included ocf_persistent_metadata_ops
...
This struct was not meant to be merged to master
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-06-26 18:08:29 +02:00
Adam Rutkowski
3775ab0e37
fix debug logs in cacheline concurrency UT tests
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-06-26 16:55:25 +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