Robert Baldyga
7587bec07c
Merge pull request #567 from robertbaldyga/optimize-out-recovery-sector-loop
...
Optimize out looping over cache line sectors in recovery
2021-09-08 13:57:32 +02:00
Michal Mielewczyk
612f68b3c1
Fix metadata io detection in passive mode
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com >
2021-09-08 13:33:04 +02:00
Robert Baldyga
1a3843ba12
Little coding style fix
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com >
2021-09-07 22:54:10 +02:00
Robert Baldyga
65d3e7a41a
Introduce ocf_metadata_clear_valid_if_clean()
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com >
2021-09-07 22:54:10 +02:00
Robert Baldyga
d7c1404f82
Simplify metadata bit function declarations
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com >
2021-09-07 22:54:10 +02:00
Robert Baldyga
12a82d7fb1
Get rid of struct ocf_cache_line_settings
...
Remove struct that contains redundant data.
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com >
2021-09-07 14:53:46 +02:00
Robert Baldyga
d5bd3fbd78
Free zeroed metadata pages on update in raw_dynamic
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com >
2021-09-06 13:49:21 +02:00
Robert Baldyga
9b3a0c968e
Introduce ocf_metadata_passive_update()
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com >
2021-09-06 13:49:21 +02:00
Robert Baldyga
85e8b414c4
Add ocf_metadata_load_unsafe()
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com >
2021-09-03 17:22:22 +02:00
Robert Baldyga
c6c6618ad8
Move recovery code from metadata to cache mngt
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com >
2021-09-03 17:22:22 +02:00
Robert Baldyga
a2db4d14e8
Move core initialization code from metadata to mngt
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com >
2021-09-03 17:22:22 +02:00
Robert Baldyga
9ab4c51dfa
Expose superblock operations as part of internal metadata API
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com >
2021-09-03 17:22:22 +02:00
Robert Baldyga
82abcd11e7
Fix documentation of ocf_metadata_raw_rd_access()
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com >
2021-09-02 22:38:37 +02:00
Robert Baldyga
387cf1b9a5
Fix debug tracing in metadata
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com >
2021-09-02 22:38:37 +02:00
Michal Mielewczyk
26194fc536
Use cleaning ops wrapper functions
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com >
2021-07-27 15:44:18 +02:00
Michal Mielewczyk
6dc29ee85e
Refactor includes
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com >
2021-07-27 15:44:18 +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
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
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
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
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
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
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
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
73c3e97f43
Merge pull request #509 from Open-CAS/rm-metadata-updater
...
Remove metadata updater
2021-06-17 09:34:18 +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
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
Robert Baldyga
6c617fa688
Merge pull request #514 from jfckm/minor-perf
...
Small performance improvements
2021-06-14 13:32:27 +02:00
Adam Rutkowski
d22a3ad0e0
Rename cacheline concurrency struct to alock
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com >
2021-06-14 12:15:43 +02:00
Jan Musial
f25d9a8e40
Use new non-zeroing allocator APIs
...
Signed-off-by: Jan Musial <jan.musial@intel.com >
2021-06-10 15:38:44 +02:00
Jan Musial
a52a3b75e5
Mark unlikely conditionals in hot code paths in metadata_raw
...
Signed-off-by: Jan Musial <jan.musial@intel.com >
2021-06-10 15:20:33 +02:00
Jan Musial
4031b4b2ae
Delete metadata self-test
...
Signed-off-by: Jan Musial <jan.musial@intel.com >
2021-06-10 15:20:25 +02:00
Adam Rutkowski
0476511c00
probe: return dirty and shutdown status despite metadata mismatch
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com >
2021-04-06 14:07:42 -05:00
Kozlowski Mateusz
e054949cbb
Metadata updater mutex alignment
...
Avoids trashing of (mostly) static and often used entries
Signed-off-by: Kozlowski Mateusz <mateusz.kozlowski@intel.com >
2021-03-26 08:57:04 +01:00
Kozlowski Mateusz
e391fc2c13
Queue alignment
...
Metadata reshuffling
Signed-off-by: Kozlowski Mateusz <mateusz.kozlowski@intel.com >
2021-03-26 08:57:04 +01:00
Kozlowski Mateusz
fdd6b88cc4
General packing of structs
...
Get back some memory/cachelines by packing any leftover static fields together.
Signed-off-by: Kozlowski Mateusz <mateusz.kozlowski@intel.com >
2021-03-26 08:57:04 +01:00
Robert Baldyga
296e98e39c
Merge pull request #471 from arutk/lru_fix_2
...
Prevent remapping cachelines within single request
2021-03-18 20:33:11 +01:00
Adam Rutkowski
a232488c7a
Prevent remapping cachelines within single request
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com >
2021-03-18 17:11:45 -05:00
Robert Baldyga
8020e7fd67
Merge pull request #457 from Ostrokrzew/false_stats
...
Fix broken 'dirty_for' stats
2021-03-18 10:24:02 +01:00
Jan Musial
2dc36657bf
Use mpool to allocate metadata_io requests
...
Signed-off-by: Jan Musial <jan.musial@intel.com >
2021-03-10 16:10:11 +01:00
Jan Musial
b47ef2c386
Change vmalloc in metadata asynch io to kmalloc
...
Vmalloc is very slow in comparison to kmalloc
Signed-off-by: Jan Musial <jan.musial@intel.com >
2021-03-10 16:10:11 +01:00