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
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
Adam Rutkowski
7f442fd943
Adding execution context get/put to posix env
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-09-09 16:19:49 -04:00
Michal Mielewczyk
2450d3da4b
Move block stats counters to ioclass section.
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2019-09-09 02:46:45 -04:00
Michal Mielewczyk
8304ed84b8
More precise percentage value in stats builder.
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2019-09-09 02:46:45 -04:00
Jan Musiał
f1ee05405e
Merge pull request #252 from Open-CAS/felipe-documentation-changes
...
Update OCF README.md
2019-08-30 13:49:57 +02:00
Robert Bałdyga
5fd239d2bb
Merge pull request #245 from imjfckm/switching-pp
...
Switching mechanism for promotion policies
2019-08-30 11:35:16 +02:00
Felipe
26361348a5
Update OCF README.md
...
The doxygen API documentation link was being referenced twice. The first link should have pointed to https://open-cas.github.io/getting_started_ocf.html instead.
2019-08-29 10:24:10 -07:00
Robert Bałdyga
17626eee36
Merge pull request #246 from arutk/pyocf_recovery
...
pytest: basic cache recovery test
2019-08-29 15:09:05 +02:00
Adam Rutkowski
63c71ec6df
pytest: basic cache recovery test
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-08-29 17:06:26 -04:00
Robert Bałdyga
1f9f79f11d
Merge pull request #250 from robertbaldyga/parts-meta-new-section
...
Move parts metadata to separate section
2019-08-29 14:15:31 +02:00
Jan Musiał
a308502d13
Merge pull request #251 from arutk/fix_sample
...
Update sample (cache name string as array)
2019-08-29 13:39:55 +02:00
Adam Rutkowski
5df29c80de
Update sample (cache name string as array)
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-08-29 12:59:39 -04:00
Jan Musial
ee3fdb0506
Change nhit_hash names to avoid collision with kernel
...
Signed-off-by: Jan Musial <jan.musial@intel.com>
2019-08-29 13:24:54 +02:00
Jan Musial
a1d3cf0c4d
Switching mechanism for promotion policies
...
Signed-off-by: Jan Musial <jan.musial@intel.com>
2019-08-29 13:24:26 +02:00
Robert Baldyga
d10c618065
Move parts metadata to separate section
...
Fix problem introduced by increasing partition name size to 1024 bytes,
which effectively made superblock bigger than one page. Due to this
flushing superblock required more than one io, which in case of dirty
shutdown between these ios resulted in CRC missmatch and made cache
recovery impossible.
Moving parts metadata to separate sections makes superblock fitting
in one page, effectively solving described problem.
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2019-08-29 10:23:13 +02:00
Jan Musiał
0a9f197b10
Merge pull request #238 from arutk/split_cacheline_lock_trylock
...
Split cacheline locking implementation into trylock and lock
2019-08-29 09:49:53 +02:00
Jan Musiał
447333ea13
Merge pull request #249 from robertbaldyga/fix-env_strncpy-null-terminate
...
env: Ensure that env_strncpy() always produces NULL-terminated string
2019-08-29 09:48:07 +02:00
Robert Baldyga
74bd0e3f7b
env: Ensure that env_strncpy() always produces NULL-terminated string
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2019-08-29 08:13:37 +02:00
Adam Rutkowski
6dd1af7df7
Split cacheline locking implementation into trylock and lock
...
This change refactors the code in order to prepare for removing
global concurrency lock, which won't be needed after per-bucket
metadata locking is in place.
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-08-28 18:54:19 -04:00
Michal Rakowski
63ae2ab16f
Merge pull request #248 from KamilLepek/coverity_readme
...
Add coverity status badge
2019-08-28 21:55:35 +02:00
Kamil Lepek
d86de5782c
Add coverity status badge
...
Signed-off-by: Kamil Lepek <kamil.lepek94@gmail.com>
2019-08-28 16:58:24 +02:00
Robert Bałdyga
358c529eff
Merge pull request #243 from arutk/simplify_freelist_striping_init
...
Initialize freelist using metadata layout implementation
2019-08-27 17:12:04 +02:00
Michal Rakowski
e3a20c0da0
Merge pull request #239 from imjfckm/pp-implementation
...
nhit promotion policy implementation
2019-08-27 12:42:03 +02:00
Adam Rutkowski
860c8c7a0f
Initialize freelist using metadata layout implementation
...
Metadata layout (seq / striping) is already encapsulated
in ocf_metadata_layout_iface, no need to double this logic
in freelist initialization.
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-08-26 15:48:11 -04:00
Michał Mielewczyk
3812015f05
Merge pull request #242 from tomaszrybicki/example-add-metadata-updater
...
Added metadata updater logic to example
2019-08-22 14:49:29 +02:00
Jan Musial
62a0ccdd9f
nhit promotion policy implementation
...
Signed-off-by: Jan Musial <jan.musial@intel.com>
2019-08-22 13:34:38 +02:00
Tomasz Rybicki
a413d4ddae
Added metadata updater logic to example
...
Signed-off-by: Tomasz Rybicki <tomasz.rybicki@intel.com>
2019-08-21 16:14:37 +02:00
Michal Rakowski
43e8905456
Merge pull request #241 from mmichal10/cache-name-in-array
...
Store name for newly initialized cache in array instead of passing pointer.
2019-08-20 09:39:44 +02:00
Michal Mielewczyk
03590c880d
pyocf: store cache name for newly initialized cache in array.
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2019-08-20 03:31:32 -04:00
Michal Mielewczyk
2c27e9a433
Store name for newly initialized cache in array instead of passing pointer.
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2019-08-20 01:43:11 -04:00