Jan Musial
9a8eb7ed90
Basic test for multistream seq cutoff
...
Signed-off-by: Jan Musial <jan.musial@intel.com>
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2020-04-22 13:30:42 +02:00
Jan Musial
93a0d9554c
Implement API for setting seq cutoff threshold
...
Signed-off-by: Jan Musial <jan.musial@intel.com>
2020-04-22 13:30:42 +02:00
Jan Musial
e4b11b6933
Add context to OcfCompletion
...
Signed-off-by: Jan Musial <jan.musial@intel.com>
2020-04-22 13:30:42 +02:00
Jan Musial
52962402fe
Extend Size class to enable arithmetics
...
Signed-off-by: Jan Musial <jan.musial@intel.com>
2020-04-22 13:30:42 +02:00
Robert Baldyga
e9afb40860
Add sequential cutoff debug interface
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2020-04-22 13:30:42 +02:00
Robert Baldyga
93cd0615d3
Introduce multi-stream sequential cutoff
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2020-04-22 13:30:42 +02:00
Robert Baldyga
332ad1dfbc
Make seq cutoff policy and threshold atomic variables
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2020-03-24 18:17:15 +01:00
Robert Baldyga
935df23c74
Introduce red-black trees utility
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2020-03-24 18:17:15 +01:00
Robert Baldyga
86d7212217
Merge pull request #356 from robertbaldyga/ut-cache-alloc
...
ut: Add cache allocation & do little cleanup
2020-03-23 13:21:17 +01:00
Robert Baldyga
f7d191b765
ut: Add cache allocation & do little cleanup
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2020-03-23 12:38:43 +01:00
Robert Baldyga
c295a4f670
ut: Add .gitignore
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2020-03-23 12:33:12 +01:00
Robert Baldyga
ed91895f70
Merge pull request #351 from micrakow/seq_cutoff_pt_fix
...
Fix seq_cutoff respecting in pt read
2020-03-23 10:46:09 +01:00
Michal Rakowski
6f4d02f251
Fix seq_cutoff respecting in pt read
...
Signed-off-by: Michal Rakowski <michal.rakowski@intel.com>
2020-03-20 18:58:10 +01:00
Michal Rakowski
2edd05c812
Change get_effective_cache_mode to operate on req instead of io
...
Signed-off-by: Michal Rakowski <michal.rakowski@intel.com>
2020-03-20 18:58:10 +01:00
Michal Rakowski
d84942daa3
Typo fixes
...
Signed-off-by: Michal Rakowski <michal.rakowski@intel.com>
2020-03-17 16:36:40 +01:00
Robert Baldyga
22bdb8b004
Merge pull request #352 from robertbaldyga/update-memory-requirement-check
...
Update memory requirement check
2020-03-17 15:28:56 +01:00
Robert Baldyga
9b9c7e88e7
Merge pull request #350 from imjfckm/check-promotion-memory
...
Add memory check before engaging promotion policy
2020-03-17 15:20:25 +01:00
Robert Baldyga
94b4bee6de
Update memory requirement check
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2020-03-17 14:42:01 +01:00
Jan Musial
d2fe82dc85
Add memory check before engaging promotion policy
...
Signed-off-by: Jan Musial <jan.musial@intel.com>
2020-03-16 09:09:42 +01:00
Robert Baldyga
b08514c2db
Merge pull request #349 from imjfckm/optimize-nhit-hash
...
Reorder fields in nhit_hash map to improve memory efficiency
2020-03-09 20:23:32 +01:00
Jan Musial
4eb5612832
Reorder fields in nhit_hash map to improve memory efficiency
...
Signed-off-by: Jan Musial <jan.musial@intel.com>
2020-03-06 12:36:46 +01:00
Robert Baldyga
2a7a2bd6ca
Merge pull request #348 from robertbaldyga/introduce-core-priv
...
Introduce core priv
2020-03-03 15:52:59 +01:00
Robert Baldyga
108fe28ad4
Introduce core priv
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2020-03-03 15:37:12 +01:00
Robert Baldyga
b871d32617
Merge pull request #347 from imjfckm/allow-zero-in-alru-params
...
Allow 0ms activity threshold and wake up time for ALRU
2020-02-25 08:53:45 +01:00
Jan Musial
677e9e07e5
Allow 0ms activity threshold and wake up time for ALRU
...
Signed-off-by: Jan Musial <jan.musial@intel.com>
2020-02-21 16:05:20 +01:00
Adam Rutkowski
49d8f10953
Merge pull request #346 from robertbaldyga/fix-memory-alloc-in-metadata
...
Fix memory allocation in metadata
2020-02-14 13:21:05 +01:00
Robert Baldyga
ac7b5aba6b
metadata: Allocate memory with ENV_MEM_NOIO flag
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2020-02-14 12:03:21 +01:00
Robert Baldyga
952767905a
env: Add extended versions of env_vmalloc functions
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2020-02-14 12:03:21 +01:00
Robert Baldyga
b7e59ee04a
metadata: Use proper function for freeing memory
...
a_req is allocated using env_vmalloc() so we need to free it
using env_vfree(), not env_free().
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2020-02-14 10:29:15 +01:00
rafalste
1dfae0d166
Merge pull request #345 from arutk/resize_discard_alloc
...
Fix discard request map allocation
2020-02-10 16:12:17 +01:00
Adam Rutkowski
ee37391e97
Fix discard request map allocation
...
Discard handling splits large request into several steps.
However the actual size of request map for discard was
determined based on original request size, not step request
size, resulting in waste of memory and allocations > 4K.
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2020-02-10 17:47:11 -05:00
Adam Rutkowski
26fd938ccf
Reduce max trim request size to 512K
...
512K is the maximum request size for which request map
fits into one page (4K) regardless of cacheline size.
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2020-02-10 15:57:34 -05:00
Adam Rutkowski
3eadffad0f
Add static assert macro ENV_BUILD_BUG_ON to posix env
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2020-02-10 15:55:52 -05:00
Michał Wysoczański
fabd41250b
Merge pull request #342 from mmichal10/fix-metadata-flush
...
Fix metadata flush
2020-01-24 17:59:58 +01:00
Michal Mielewczyk
d9c987e068
Flush metadata after changing status of each sector
...
In case of cleaning metadata used to be flushed only when status of whole cache
line changed to clean.
This patch ensures that metadata flush is triggered after changin status of each
single sector is cache line.
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2020-01-24 11:27:56 -05:00
Michal Mielewczyk
2f10365086
Flush metadata after setting dirty status of each sector.
...
After second dirty write to cache line which was already dirty, metadata flush
was not triggered. In case of dirty shutdown, this led to data corruption.
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2020-01-24 11:27:56 -05:00
Michał Mielewczyk
30f884ba84
Merge pull request #343 from robertbaldyga/relax-memory-alloc-requirements-metadata-io
...
metadata: Relax memory allocation requirements
2020-01-24 11:37:31 +01:00
Robert Baldyga
7d82f20614
Remove unused include
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2020-01-24 11:21:04 +01:00
Robert Baldyga
4d25bbe4b3
metadata: Relax memory allocation requirements
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2020-01-24 11:21:04 +01:00
Sławomir Jankowski
89f0e96607
Merge pull request #339 from imjfckm/check-max-cache-size
...
Detect cache devices that would overflow ocf_cacheline_t
2020-01-22 10:25:16 +01:00
Jan Musial
e5aff609d9
Add test for huge cache
...
Signed-off-by: Jan Musial <jan.musial@intel.com>
2020-01-21 15:29:24 +01:00
Jan Musial
ecbb5cbc1b
Make RAM infinite in POSIX env
...
Since the calculation that's being used right now isn't too acurate
anyways, let's just get rid of it, maybe we'll find more memory-related
bugs.
Signed-off-by: Jan Musial <jan.musial@intel.com>
2020-01-21 15:29:24 +01:00
Jan Musial
adc52ba71e
Detect cache devices that would overflow ocf_cacheline_t
...
Signed-off-by: Jan Musial <jan.musial@intel.com>
2020-01-21 15:29:24 +01:00
Jan Musiał
5d1b5eafd6
Merge pull request #341 from robertbaldyga/make-discard-max-io-alligned-to-sector-size
...
discard: Make max_length aligned to sector size
2020-01-21 13:10:27 +01:00
Robert Baldyga
d1c2fc0c67
discard: Make max_length aligned to sector size
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2020-01-21 12:44:04 +01:00
Robert Baldyga
db2bdb01f3
Merge pull request #340 from micrakow/dbg_log_metadata
...
Moved setting ctx for temporary cache object before metadata init
2020-01-21 10:18:32 +01:00
Michal Rakowski
65756a8160
Moved setting ctx for temporary cache object before metadata init
...
This way debug prints during metadata init phase won't cause crash
(because of the fact that temporary cache object does not have proper
ctx set hence does not have logger obj).
Signed-off-by: Michal Rakowski <michal.rakowski@intel.com>
2020-01-16 21:53:40 +01:00
Robert Baldyga
ce28c71475
Merge pull request #326 from Ostrokrzew/upstream
...
Change error code
2020-01-10 13:38:18 +01:00
Sławomir Jankowski
b70dcf42d5
Merge pull request #338 from KamilLepek/codecov_followup
...
Codecov configuration
2020-01-10 09:59:27 +01:00
Kamil Lepek
8eee776b93
Added codecov.yml configuration file
2020-01-09 11:20:19 +01:00