Robert Baldyga
0fd095046c
Merge pull request #426 from arutk/meta_no_memcpy
...
Remove memcpy from collision/eviction policy metadata api
2020-12-09 13:02:49 +01:00
Robert Baldyga
56ece0fac8
seq_cutoff: Allocate seq cutoff structures dynamically per core
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2020-12-09 12:58:41 +01:00
Adam Rutkowski
fec61528e6
Remove memcpy from collision/eviction policy metadata api
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2020-12-07 17:58:44 +01:00
Robert Baldyga
7af386681d
Merge pull request #418 from robertbaldyga/inc-dep-env-headers
...
Remove dependency to full ocf_env.h from inc/ headers
2020-11-30 17:16:32 +01:00
Robert Baldyga
242e70a868
Merge pull request #424 from robertbaldyga/rbtree-fix-swap-with-root
...
rbtree: Fix swapping out-of-tree node with root
2020-11-30 17:16:11 +01:00
Robert Baldyga
9bcafb5bfb
seq_cutoff: Initialize each stream with different LBA
...
Initializing each stream with unique LBA ensures there are no initial
rbtree collisions, and thus helps to avoid clustering of all the streams
into one big linked list instead of forming performance friendly proper
tree structure.
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2020-11-30 15:58:18 +01:00
Robert Baldyga
b8735f6517
rbtree: Fix swapping out-of-tree node with root
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2020-11-30 15:58:18 +01:00
Robert Baldyga
0a57a3a58f
Merge pull request #423 from robertbaldyga/examples-add-missing-includes
...
examples: Add missing includes
2020-11-26 10:12:52 +01:00
Robert Baldyga
dce49048d5
examples: Add missing includes
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2020-11-25 12:48:23 +01:00
Robert Baldyga
c8e7e0053c
Remove dependency to full ocf_env.h from inc/ headers
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2020-11-19 13:07:16 +01:00
Robert Baldyga
ec723e15e1
Merge pull request #414 from robertbaldyga/seq-cutoff-biggest-stream
...
seq_cutoff: Always continue the biggest stream
2020-11-13 15:48:29 +01:00
Robert Baldyga
a54d4461f0
seq_cutoff: Always continue the biggest stream
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2020-11-10 13:21:14 +01:00
Robert Baldyga
8b03271626
rbtree: Introduce list find callback
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2020-11-10 13:21:14 +01:00
Robert Baldyga
0ae4f4b5b2
rbtree: Add equal nodes to linked list
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2020-11-10 13:21:14 +01:00
Robert Baldyga
50c4de0495
rbtree: Make swap resistant to nodes outside the tree
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2020-11-10 13:20:45 +01:00
Robert Baldyga
694224971c
rbtree: Replace spaces with tabs
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2020-11-09 17:32:03 +01:00
Robert Baldyga
3684a2cc32
Merge pull request #412 from robertbaldyga/fix-status-badges-urls
...
Fix status badges URLs
2020-11-09 10:08:39 +01:00
root
934ea045fe
Cover all read paths with read data integrity test logic
...
Extending read test to run in all cachemodes.
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2020-11-06 14:43:53 -06:00
Adam Rutkowski
fef9d94a10
Rename WO data integrity test to "read" data integrity
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2020-11-06 14:43:53 -06:00
Adam Rutkowski
62497cabee
Extend WO engine funcional tests
...
1. Adjust test to work with multiple cache lines
2. Extend test workset to cover larger I/O
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2020-11-06 14:43:53 -06:00
Robert Baldyga
6903d4783b
Fix status badges URLs
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2020-11-05 15:38:04 +01:00
Robert Baldyga
0e3c9e740e
Merge pull request #396 from arutk/lru_refactor
...
Simplify and modularize LRU list code
2020-11-05 15:35:33 +01:00
root
ef08141252
Use -1 for LRU list terminator instead of collision_table_entries
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2020-11-04 17:43:41 -06:00
Adam Rutkowski
58f8a2218a
Simplify and modularize LRU list code
...
Refactoring LRU list code to reduce code duplication and
improve testability.
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2020-11-04 17:42:53 -06:00
Robert Baldyga
4f80cde9dd
Merge pull request #382 from mmichal10/tree-ut
...
ut: tests for rb tree
2020-10-20 14:38:53 +02:00
Robert Baldyga
9a23787c6b
Merge pull request #406 from arutk/flush2
...
Propagate I/O flags (e.g. FUA) to metadata flush I/O
2020-10-06 12:49:22 +02:00
Robert Baldyga
6f17b27b6a
Merge pull request #405 from arutk/flush
...
Flush cache volume after writing config metadata segments
2020-10-06 12:49:03 +02:00
Adam Rutkowski
2b1c74ee86
Add test to check whether flush is sent after mngmt op
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2020-09-30 10:40:23 +02:00
Adam Rutkowski
693c07b865
pyocf: fix cache save method
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2020-09-30 10:40:14 +02:00
Adam Rutkowski
716edcc637
Flush cache volume after writing config metadata segments
...
After writing metadata configuration to disk we must
send a flush request to make sure configuration sections
are commited to non-volatile storage.
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2020-09-30 10:40:03 +02:00
Adam Rutkowski
c7417b29fc
pyocf: test for io flags propagation to bottom volumes
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2020-09-29 18:25:34 +02:00
Adam Rutkowski
c945db356c
Propagate I/O flags (e.g. FUA) to metadata flush I/O
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2020-09-29 14:46:27 +02:00
Robert Baldyga
7c29110e47
Merge pull request #398 from Open-CAS/proper-core-status
...
Fix logging core state on cache load
2020-09-04 19:56:16 +02:00
Robert Baldyga
1024b4e033
Merge pull request #404 from robertbaldyga/cleanup-map-entires
...
Cleanup request map entries in error handling path
2020-09-03 14:21:52 +02:00
Robert Baldyga
990f5160eb
Cleanup request map entries in error handling path
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2020-09-02 14:30:28 +02:00
Robert Baldyga
0289389f7a
Merge pull request #400 from robertbaldyga/fix-core-volume-lifecycle
...
Fix core volume lifecycle management
2020-08-21 21:02:30 +02:00
Robert Baldyga
0dfdcb05e9
Fix core volume lifecycle management
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2020-08-21 16:40:41 +02:00
Robert Baldyga
1d7762d095
Merge pull request #399 from rafalste/fix_memory_requirement
...
Fix memory requirement when loading cache
2020-08-21 10:42:55 +02:00
Rafal Stefanowski
6542c2fa94
Fix memory requirement when loading cache
...
Load properties before checking memory needs and obtain cache line size
from context rather than from cache state.
Signed-off-by: Rafal Stefanowski <rafal.stefanowski@intel.com>
2020-08-19 03:15:18 +02:00
Rafal Stefanowski
072c9c1902
Pass only needed values to _ocf_mngt_calculate_ram_needed() function
...
Rather then passing whole structs, supply
_ocf_mngt_calculate_ram_needed() with just the values it actually uses.
Signed-off-by: Rafal Stefanowski <rafal.stefanowski@intel.com>
2020-08-19 03:09:05 +02:00
Robert Baldyga
95743ec80f
Merge pull request #397 from robertbaldyga/fix-metadata-crc-missmatch-issues
...
Fix metadata checksum mismatch issues
2020-08-05 10:06:53 +02:00
Jan Musial
2ee1e4c8dd
Fix logging core state on cache load
...
Signed-off-by: Jan Musial <jan.musial@intel.com>
2020-07-28 14:52:15 +02:00
Robert Baldyga
d5ecdc16dd
Make CRC mismatch on recovery a warning instead of error
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2020-07-28 07:49:29 +02:00
Robert Baldyga
d946124a01
Calculate CRC for runtime metadata sections only on clean load
...
During recovery procedure there is no guarantee that checksums
of runtime sections were flushed correctly before dirty shutdown.
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2020-07-28 07:45:53 +02:00
Robert Baldyga
0e1efb5b04
Merge pull request #380 from robertbaldyga/remove-HOME.md
...
Remove content of HOME.md
2020-07-28 07:43:08 +02:00
Robert Baldyga
7d889fa1fc
Merge pull request #385 from arutk/pt_write_double_inv
...
Two pass write invalidate
2020-07-28 07:42:44 +02:00
Adam Rutkowski
b232f2b633
Service WA write misses in WI engine
...
WA write must follow follow the same two-pass pattern
as WI does. This change modifies WA engine to default to
WI in case of any miss (either partial or full), not only
partial miss.
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2020-07-20 17:26:36 +02:00
Adam Rutkowski
91b6098fda
Two pass write invalidate
...
Add second pass of write invalidate. It is necessary only
if concurrent I/O had inserted target LBAs to cache after
WI request did traversation. These LBAs might have been
written by WI request behind the concurrent I/O's back,
resulting in making these sectors effectively invalid.
In this case we must update these sectors' metadata to
reflect this. However we won't know about this after we
traverse the request again - hence calling ocf_write_wi
again with req->wi_second_pass set to indicate that this
is the second pass (core write should be skipped).
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2020-07-20 17:26:35 +02:00
Michal Mielewczyk
9b8ac42e0f
ut: tests for rb tree
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2020-07-15 10:37:01 -04:00
Robert Baldyga
d144f18959
Merge pull request #381 from josehu07/patch-1
...
Fix a Tiny Typo in README.md
2020-07-12 09:29:20 +02:00