Commit Graph

1198 Commits

Author SHA1 Message Date
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