Adam Rutkowski
d91012f4b4
Introduce hash bucket locks
...
There is one RW lock per hash bucket. Write lock is required
to map cacheline, read lock is sufficient for traversing.
Hash bucket locks are always acquired under global metadata
read lock. This assures mutual exclusion with eviction and
management paths, where global metadata write lock is held.
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-09-20 17:21:00 -04:00
Adam Rutkowski
42f65c3fbb
Change ocf_metadata_(un)lock -> OCF_METADATA_(UN)LOCK
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-09-20 17:21:00 -04:00
Adam Rutkowski
f34cacf150
Move resume callback to async lock function params (refactoring)
...
This is a step towards common async lock interface in OCF.
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-09-20 17:21:00 -04:00
Michal Rakowski
3ced3fb9db
Merge pull request #278 from imjfckm/fix-pp-tests
...
Fix pp tests
2019-09-20 15:13:41 +02:00
Jan Musial
21a3945a3c
Fix PP tests
...
Signed-off-by: Jan Musial <jan.musial@intel.com>
2019-09-20 14:56:32 +02:00
Jan Musial
827273645c
Use better function for calculating occupancy
2019-09-20 14:56:17 +02:00
Michał Mielewczyk
9d41c94827
Merge pull request #264 from KamilLepek/new_sec
...
Negative tests for promotion policy
2019-09-19 12:45:09 +02:00
Adam Rutkowski
f988141289
Merge pull request #275 from imjfckm/fix-secure-erase-tests
...
Fix secure erase tests
2019-09-19 11:12:14 +02:00
Kamil Łepek
61a266eed1
Merge pull request #274 from robertbaldyga/set-metadata-version-19.09
...
Set proper metadata version for coming 19.09 release
2019-09-19 10:53:22 +02:00
Jan Musial
6b1d1754db
Fix secure erase tests
...
Signed-off-by: Jan Musial <jan.musial@intel.com>
2019-09-19 10:10:20 +02:00
Robert Baldyga
1ec0040767
Set proper metadata version for coming 19.09 release
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2019-09-18 18:42:21 +02:00
Kamil Lepek
71d8c8d698
Negative tests for promotion policy
...
Signed-off-by: Kamil Lepek <kamil.lepek94@gmail.com>
2019-09-18 17:59:40 +02:00
Kamil Łepek
7131178e71
Merge pull request #272 from imjfckm/fix-pp-validation
...
Add PP type validation
2019-09-18 17:30:23 +02:00
Jan Musial
0c1ccddf8a
Add PP type validation
...
Signed-off-by: Jan Musial <jan.musial@intel.com>
2019-09-18 15:12:23 +02:00
Michał Mielewczyk
af48ee56e3
Merge pull request #270 from imjfckm/pp-change-param-api
...
Pp change param api
2019-09-18 13:41:41 +02:00
Adam Rutkowski
31b6952d6c
Merge pull request #268 from KamilLepek/name_fix
...
Fix for security tests need of name param when creating multiple cores
2019-09-18 12:01:59 +02:00
Jan Musial
0e85ebe4a3
Get PP params in line with rest of OCF
...
Signed-off-by: Jan Musial <jan.musial@intel.com>
2019-09-18 11:15:41 +02:00
Kamil Lepek
daae1b915d
Fix for security tests need of name param when creating multiple cores
...
Signed-off-by: Kamil Lepek <kamil.lepek94@gmail.com>
2019-09-18 11:12:58 +02:00
Michal Rakowski
ecb3b25a33
Merge pull request #267 from imjfckm/pp-validation-at-start
...
Add validation of PP for cache start config
2019-09-18 10:53:26 +02:00
Jan Musial
e9bd139349
Add validation of PP for cache start config
...
Signed-off-by: Jan Musial <jan.musial@intel.com>
2019-09-18 09:53:13 +02:00
Jan Musiał
f1d8a18a30
Merge pull request #263 from imjfckm/pp-get-param-fix
...
Add missing stuff from get_param in PP
2019-09-17 15:22:51 +02:00
Jan Musial
e8fc2c24f1
Add missing stuff from get_param in PP
...
Signed-off-by: Jan Musial <jan.musial@intel.com>
2019-09-17 15:05:29 +02:00
Michał Mielewczyk
f86287ef06
Merge pull request #261 from micrakow/coverity_19_9
...
Fixed some bugs found by the coverity tool
2019-09-17 09:25:18 +02:00
Michal Rakowski
83e23c5593
Fixed some bugs found by the coverity tool
...
Signed-off-by: Michal Rakowski <michal.rakowski@intel.com>
2019-09-16 15:49:37 +02:00
Robert Bałdyga
c2da038c03
Merge pull request #262 from mmichal10/fix-stats-update-in-cleaner
...
Fix stats update in cleaner.
2019-09-16 12:24:26 +02:00
Michal Mielewczyk
c5edc60345
Fix stats update in cleaner.
...
Core is not assigned to request in cleaner, so to increase it's stats it has to
be retrieved from mapping.
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2019-09-16 05:59:28 -04:00
Michał Mielewczyk
0391fc17b7
Merge pull request #255 from imjfckm/pp-tests
...
Add promotion policies functional tests
2019-09-16 09:34:16 +02:00
Jan Musiał
58012cd14b
Merge pull request #260 from mmichal10/unify-inactive-cores-stats
...
Unify inactive cores stats
2019-09-16 09:03:08 +02:00
Michal Mielewczyk
5042c5fc43
pyocf: adapt tests to new inactive cores stats.
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2019-09-16 02:49:42 -04:00
Michal Mielewczyk
f226f978f0
Unify inactive cores stats.
...
Inactive core stats should be caluculated and returned to adapter in unified
from, just like all stats are.
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2019-09-16 02:49:42 -04:00
Michal Mielewczyk
494a1ccc79
Extract stats builder utils to separate file.
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2019-09-12 05:21:17 -04:00
Robert Bałdyga
11d0108639
Merge pull request #257 from imjfckm/nhit-api-names
...
Make NHIT API naming convention similar to cleaning
2019-09-11 10:37:15 +02:00
Jan Musial
703a757db1
Fix minor bugs in promotion policy
...
Signed-off-by: Jan Musial <jan.musial@intel.com>
2019-09-11 10:31:14 +02:00
Jan Musial
9c51ca4e97
Tests for promotion policy
...
Signed-off-by: Jan Musial <jan.musial@intel.com>
2019-09-11 10:31:14 +02:00
Jan Musial
633f31716e
Make NHIT API naming convention similar to cleaning
...
Signed-off-by: Jan Musial <jan.musial@intel.com>
2019-09-11 07:31:50 +02:00
Michal Rakowski
29c1c7f9e8
Merge pull request #253 from mmichal10/stats-refactor
...
Stats builder for ioclasses
2019-09-10 14:56:26 +02:00
Michal Mielewczyk
e6f032cae9
Fix typo.
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2019-09-10 08:01:10 -04:00
Michal Mielewczyk
01ce586e6a
Use API instead of raw variables to update block stats.
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2019-09-10 08:01:09 -04:00
Michal Mielewczyk
51c9c516a4
Use API instead of raw variables to update req stats.
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2019-09-10 08:01:09 -04:00
Michal Mielewczyk
b4c384eb2d
Use API instead of raw variables to update error stats.
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2019-09-10 08:01:09 -04:00
Michal Mielewczyk
0d4f4d3294
Added API for updating statistics.
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2019-09-10 08:01:09 -04:00
Michal Mielewczyk
42d6dbbf11
Remove low-level stats getters from public API.
...
Since stats builder is implemented for retrieving cache, core and ioclass stats,
adapters should use it instead.
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2019-09-10 08:01:09 -04:00
Michal Mielewczyk
5f357272d1
pyocf: adjust pyocf to new core stats api
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2019-09-10 08:01:09 -04:00
Michal Mielewczyk
89de6038c1
Split retrieving core stats and config info into two functions.
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2019-09-10 08:01:09 -04:00
Michal Mielewczyk
f9da89263b
Stats builder for ioclass statistics.
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2019-09-10 04:32:21 -04:00
Michał Mielewczyk
9a46c402b2
Merge pull request #247 from arutk/percpu_freelist_rebased
...
Per-execution-context freelists
2019-09-09 14:29:56 +02:00
Adam Rutkowski
0c31cc62d0
Freelist test
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-09-09 16:19:52 -04:00
Adam Rutkowski
964ba85467
unit tests: improve test logs content
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-09-09 16:19:52 -04:00
Adam Rutkowski
13cf871a13
Per-execution-context freelists
...
Global free cacheline list is divided into a set of freelists, one
per execution context. When attempting to map addres to cache, first
the freelist for current execution context is considered (fast path).
If current execution context freelist is empty (fast path failure),
mapping function attempts to get freelist from other execution context
list (slow path).
The purpose of this change is improve concurrency in freelist access.
It is part of fine granularity metadata lock implementation.
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-09-09 16:19:52 -04:00
Adam Rutkowski
f892bb962d
posix env: add spinlock trylock
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-09-09 16:19:51 -04:00