Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1170 commits
Select commit Hold shift + click to select a range
a8a1eff
Updating submodules
Jan 29, 2022
d1b9a26
Updating submodules
Jan 29, 2022
a531d61
Updating submodules
Jan 29, 2022
b156dd6
Updating submodules
Jan 29, 2022
084ecb4
Updating submodules
Jan 29, 2022
e0d8bee
Updating submodules
Jan 29, 2022
2b9c0dc
Updating submodules
Jan 29, 2022
4028110
Updating submodules
Jan 29, 2022
b0fb6ab
Updating submodules
Jan 29, 2022
e42ff3c
Updating submodules
Jan 29, 2022
d1d793e
Updating submodules
Jan 29, 2022
0b058de
Updating submodules
Jan 30, 2022
6d45fd2
Updating submodules
Jan 31, 2022
80143cb
Updating submodules
Jan 31, 2022
9341ac4
Updating submodules
Jan 31, 2022
76a51b3
Updating submodules
Jan 31, 2022
5654dc9
Updating submodules
Jan 31, 2022
b10fab7
Updating submodules
Jan 31, 2022
023f2e5
portability: #define O_DIRECT if needed
agordon Jan 31, 2022
68351f4
portability: replace deprecated random_shuffle()
agordon Jan 31, 2022
67cc11a
add helper class for fmt>8.1
agordon Jan 31, 2022
438680f
Updating submodules
Jan 31, 2022
6ac9c21
Updating submodules
Jan 31, 2022
f21adcc
Updating submodules
Feb 1, 2022
2179199
Updating submodules
Feb 1, 2022
4c253fc
Updating submodules
Feb 1, 2022
15ec31b
Updating submodules
Feb 1, 2022
853c817
Updating submodules
Feb 1, 2022
18af5ce
Updating submodules
Feb 1, 2022
918764b
Updating submodules
Feb 1, 2022
8ae4e20
Updating submodules
Feb 1, 2022
bbb1883
Updating submodules
Feb 1, 2022
2fc23ad
Updating submodules
Feb 1, 2022
e3a0362
portability: #define MADV_DODUMP if missing
agordon Feb 1, 2022
357b578
Updating submodules
Feb 1, 2022
aca874b
Updating submodules
Feb 1, 2022
72cf584
Updating submodules
Feb 1, 2022
63c5971
Updating submodules
Feb 1, 2022
5ed7c44
Updating submodules
Feb 1, 2022
992a2f7
Updating submodules
Feb 1, 2022
3a66772
Updating submodules
Feb 1, 2022
a65eded
Updating submodules
Feb 1, 2022
306ca7a
Updating submodules
Feb 2, 2022
77ebb4c
Add XDCHECK to navy lookupAsync return
Feb 2, 2022
2eac6e3
Updating submodules
Feb 2, 2022
d3345a7
Updating submodules
Feb 2, 2022
52e481e
Updating submodules
Feb 2, 2022
82e8635
Updating submodules
Feb 2, 2022
0f44a8a
Updating submodules
Feb 2, 2022
3cb6bac
Updating submodules
Feb 2, 2022
0f96309
Updating submodules
Feb 2, 2022
b47b944
Updating submodules
Feb 2, 2022
ed3fe93
Updating submodules
Feb 2, 2022
2a50f2e
Updating submodules
Feb 2, 2022
744f574
Updating submodules
Feb 2, 2022
b00a121
Updating submodules
Feb 2, 2022
cb12d36
Updating submodules
Feb 2, 2022
82bdd7b
Updating submodules
Feb 2, 2022
a4b6734
Updating submodules
Feb 2, 2022
49682ac
Updating submodules
Feb 2, 2022
f4ce5dc
Updating submodules
Feb 2, 2022
e576c45
docs: add Architecture Guide pages
agordon Feb 2, 2022
b39a252
portability: #define MADV_REMOVE/MADV_DONTDUMP if missing
agordon Feb 2, 2022
ea8f06c
Updating submodules
Feb 2, 2022
e2a3ba1
Updating submodules
Feb 2, 2022
1f06deb
portability: use folly's temp file instead of O_TMPFILE
agordon Feb 2, 2022
1aadcd0
Updating submodules
Feb 2, 2022
53aca89
portability: add JSONConfig::SetVal for size_t if different from uint…
agordon Feb 2, 2022
8d5b32e
Updating submodules
Feb 3, 2022
dae1e49
Updating submodules
Feb 3, 2022
bdd480b
Updating submodules
Feb 3, 2022
28e0117
Updating submodules
Feb 3, 2022
757b99b
portability: allocate/CacheAllocator: change uintptr_t to uint64_t
agordon Feb 3, 2022
c094453
OSS website: update yarn packages, remove custom search bar
agordon Feb 3, 2022
c901662
Updating submodules
Feb 3, 2022
895205e
Updating submodules
Feb 3, 2022
2354cbf
Updating submodules
Feb 3, 2022
9e295c3
Updating submodules
Feb 3, 2022
168a6e4
Updating submodules
Feb 3, 2022
063a331
Updating submodules
Feb 3, 2022
b3c185c
Updating submodules
Feb 3, 2022
9f02d92
Updating submodules
Feb 3, 2022
16b4a0e
Updating submodules
Feb 3, 2022
be94fe4
Updating submodules
Feb 3, 2022
767a33b
Updating submodules
Feb 3, 2022
8d6fdc3
Updating submodules
Feb 3, 2022
8b03fe2
Updating submodules
Feb 3, 2022
4c66524
Updating submodules
Feb 3, 2022
42bdcfc
Updating submodules
Feb 3, 2022
b4af093
Add more nvm miss stats
therealgymmy Feb 3, 2022
90bd040
Updating submodules
Feb 4, 2022
510569d
Updating submodules
Feb 4, 2022
403e1c0
Updating submodules
Feb 4, 2022
08f0f14
Updating submodules
Feb 4, 2022
52dfa26
Updating submodules
Feb 4, 2022
5a84a77
Updating submodules
Feb 4, 2022
e7bd612
Updating submodules
Feb 4, 2022
8787626
Updating submodules
Feb 4, 2022
beb60b7
Updating submodules
Feb 4, 2022
d66cd3c
Updating submodules
Feb 4, 2022
9008a64
Updating submodules
Feb 4, 2022
85ab333
Updating submodules
Feb 4, 2022
525f4ad
Updating submodules
Feb 4, 2022
ab11960
Updating submodules
Feb 4, 2022
81de030
Updating submodules
Feb 4, 2022
cc8bb00
Updating submodules
Feb 4, 2022
72d7b35
Updating submodules
Feb 4, 2022
25880b2
Updating submodules
Feb 4, 2022
482b7db
Updating submodules
Feb 4, 2022
bf04f08
Updating submodules
Feb 4, 2022
17e659e
Updating submodules
Feb 4, 2022
2565a69
Updating submodules
Feb 4, 2022
940d444
Updating submodules
Feb 4, 2022
1636904
Updating submodules
Feb 4, 2022
850dc50
Updating submodules
Feb 4, 2022
b01f7cc
Updating submodules
Feb 4, 2022
11c56fe
Add ReadHandle and WriteHandle to User Guide
jiayuebao Feb 4, 2022
e0724b0
Updating submodules
Feb 4, 2022
dfcb038
Updating submodules
Feb 4, 2022
a2559cb
Updating submodules
Feb 5, 2022
1bc9fe1
Updating submodules
Feb 5, 2022
28ca582
Updating submodules
Feb 5, 2022
214c447
Updating submodules
Feb 5, 2022
58282ff
Updating submodules
Feb 5, 2022
9c40274
Updating submodules
Feb 5, 2022
7f362c4
Updating submodules
Feb 5, 2022
18fd0c9
Updating submodules
Feb 5, 2022
2b73a1d
Updating submodules
Feb 5, 2022
753ea72
Updating submodules
Feb 5, 2022
dca3682
Updating submodules
Feb 5, 2022
e52d1d0
Updating submodules
Feb 5, 2022
e319999
Updating submodules
Feb 5, 2022
33668a8
Updating submodules
Feb 5, 2022
769c5bc
Updating submodules
Feb 5, 2022
ec6dd18
Updating submodules
Feb 5, 2022
07a08c0
Updating submodules
Feb 5, 2022
92a489f
Updating submodules
Feb 6, 2022
d4f42ad
Updating submodules
Feb 6, 2022
b49f16b
Updating submodules
Feb 6, 2022
ca044b4
Updating submodules
Feb 6, 2022
a2a2d9e
Updating submodules
Feb 6, 2022
20a7f7a
Updating submodules
Feb 6, 2022
972e70a
Updating submodules
Feb 6, 2022
3f68e4f
Updating submodules
Feb 6, 2022
cb820bd
Updating submodules
Feb 6, 2022
6b07422
Updating submodules
Feb 6, 2022
8c535e3
Updating submodules
Feb 6, 2022
dab93bb
Updating submodules
Feb 6, 2022
7257d40
Updating submodules
Feb 6, 2022
73c5123
Updating submodules
Feb 6, 2022
443ec48
Updating submodules
Feb 6, 2022
cbca0bb
Updating submodules
Feb 6, 2022
7675675
Updating submodules
Feb 7, 2022
543365c
Updating submodules
Feb 7, 2022
51409dd
Updating submodules
Feb 7, 2022
b6b373f
Updating submodules
Feb 7, 2022
fb4e972
Updating submodules
Feb 7, 2022
df76524
Updating submodules
Feb 7, 2022
6428200
Updating submodules
Feb 7, 2022
f87292d
Updating submodules
Feb 7, 2022
9e29ac8
Updating submodules
Feb 7, 2022
fb2434f
Updating submodules
Feb 7, 2022
335222c
Updating submodules
Feb 7, 2022
553b323
Updating submodules
Feb 7, 2022
ed6e865
Updating submodules
Feb 7, 2022
c8f04af
Updating submodules
Feb 7, 2022
5a321b0
Updating submodules
Feb 7, 2022
54f22a0
Updating submodules
Feb 8, 2022
e2198cd
Updating submodules
Feb 8, 2022
64672de
Updating submodules
Feb 8, 2022
805d4fd
Updating submodules
Feb 8, 2022
49fb689
Updating submodules
Feb 8, 2022
69f998b
Updating submodules
Feb 8, 2022
15a4dec
Updating submodules
Feb 8, 2022
a91e546
Updating submodules
Feb 8, 2022
f4aece4
Updating submodules
Feb 8, 2022
54e2353
Updating submodules
Feb 8, 2022
111cf75
Updating submodules
Feb 8, 2022
e06977e
Updating submodules
Feb 8, 2022
423bfe2
Updating submodules
Feb 8, 2022
2f181ff
Updating submodules
Feb 8, 2022
627fa98
Updating submodules
Feb 8, 2022
acf328a
Updating submodules
Feb 8, 2022
2962092
Updating submodules
Feb 8, 2022
9e0bb32
Updating submodules
Feb 8, 2022
9fb51ad
Updating submodules
Feb 8, 2022
2e221f6
Updating submodules
Feb 8, 2022
73114e5
Updating submodules
Feb 8, 2022
91ea00b
Updating submodules
Feb 8, 2022
73e3601
Updating submodules
Feb 9, 2022
c8bb6ec
Updating submodules
Feb 9, 2022
40ebd62
Updating submodules
Feb 9, 2022
9a02cf9
Updating submodules
Feb 9, 2022
b07231c
Updating submodules
Feb 9, 2022
9b1ba86
Updating submodules
Feb 9, 2022
db76cac
Updating submodules
Feb 9, 2022
ba5ff22
Updating submodules
Feb 9, 2022
119febe
Updating submodules
Feb 9, 2022
5abe6a5
Updating submodules
Feb 9, 2022
4a0aec9
Updating submodules
Feb 9, 2022
9a202b1
Updating submodules
Feb 9, 2022
4fa20f9
Updating submodules
Feb 9, 2022
4062a3f
Updating submodules
Feb 9, 2022
75d018b
Updating submodules
Feb 9, 2022
1552eec
Updating submodules
Feb 9, 2022
07f1ed3
Updating submodules
Feb 9, 2022
9241e18
Updating submodules
Feb 9, 2022
9d10bf8
Updating submodules
Feb 10, 2022
e71070a
Updating submodules
Feb 10, 2022
aba294b
Updating submodules
Feb 10, 2022
da30c10
Updating submodules
Feb 10, 2022
f790986
Updating submodules
Feb 10, 2022
36eae66
Run centos and debian workflows on push and PR
igchor Nov 2, 2021
790c09f
Introduce FileShmSegment for file-backed shared memory
igchor Oct 20, 2021
aed38aa
Adjust and enable tests for ShmFileSegment
igchor Oct 16, 2021
442b6f4
Add support for shm opts serialization
guptask Oct 27, 2021
6dea7a8
Initial version of config API extension to support multiple memory tiers
victoria-mcgrath Oct 28, 2021
3186b94
Integrate Memory Tier config API with CacheAllocator.
igchor Oct 30, 2021
38515ac
Add MemoryTierCacheConfig::fromShm()
igchor Nov 6, 2021
48b68a3
Fix test_shm_manager.cpp test
igchor Nov 9, 2021
6fe4971
Run tests on CI
igchor Nov 5, 2021
dff2296
Run long tests (navy/bench) every day on CI
igchor Nov 16, 2021
3af7643
Moved common segment code for posix and file shm segments into ShmCommon
guptask Nov 7, 2021
c93b440
Enabled memory tier config API for cachebench.
victoria-mcgrath Nov 18, 2021
ab752e8
Enabled shared memory tier in cachebench.
victoria-mcgrath Nov 23, 2021
2cacc99
Converted nvmCacheState_ to std::optional to simplify NVM cache state…
victoria-mcgrath Nov 29, 2021
9ace595
Run CI on prebuild docker image
igchor Dec 15, 2021
9812286
Run only centos build on CI
igchor Dec 15, 2021
e111395
Initial multi-tier support implementation
igchor Sep 28, 2021
c8576f5
Extend CompressedPtr to work with multiple tiers
igchor Dec 11, 2021
9ae9b2e
Implemented async Item movement between tiers
vinser52 Dec 18, 2021
3b68053
Adding example for multitiered cache
vinser52 Dec 9, 2021
bef878e
Enable workarounds in tests
igchor Dec 24, 2021
0e8af04
Add basic multi-tier test
igchor Dec 30, 2021
4477fec
Set correct size for each memory tier
igchor Dec 30, 2021
53ca174
Extend cachbench with value validation
igchor Jan 19, 2022
8b83aab
Aadding new configs to hit_ratio/graph_cache_leader_fobj
vinser52 Jan 27, 2022
7b36c51
Move validateValue call to make sure it is measured by latency tracker
igchor Jan 28, 2022
d817018
Fix eviction flow and removeCb calls
vinser52 Feb 3, 2022
385128d
Remove failing build-cachelib workflow (#42)
igchor Feb 7, 2022
d13568e
Disabled test suite allocator-test-AllocatorTypeTest (#41)
victoria-mcgrath Feb 7, 2022
02a3bfb
Do not compensate for rounding error when calculating tier sizes (#43)
igchor Feb 8, 2022
172caf1
Fixed total cache size in CacheMemoryStats (#38)
victoria-mcgrath Feb 8, 2022
2046eea
Fix tests and benchmarks compilation
igchor Feb 9, 2022
8f08009
Update docker file used in CI
igchor Feb 14, 2022
9c0aca8
Disable failing clang-format-check
igchor Feb 14, 2022
d1f26ab
Add one more navy test to BLACKLIST
igchor Feb 15, 2022
043df5f
Merge pull request #47 from igchor/update_docker2
vinser52 Feb 15, 2022
c95b2b3
Fix issue with "Destorying an unresolved handle"
vinser52 Feb 17, 2022
019b2a5
Merge pull request #50 from vinser52/fix_unresolved_handle
vinser52 Feb 17, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 45 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
---
AccessModifierOffset: -1
AlignEscapedNewlinesLeft: true
AlignTrailingComments: true
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
AlwaysBreakBeforeMultilineStrings: true
AlwaysBreakTemplateDeclarations: true
BasedOnStyle: Google
BinPackParameters: false
BreakBeforeBinaryOperators: false
BreakBeforeBraces: Attach
BreakConstructorInitializersBeforeComma: false
ColumnLimit: 80
ConstructorInitializerAllOnOneLineOrOnePerLine: true
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4
Cpp11BracedListStyle: true
DerivePointerAlignment: false
ExperimentalAutoDetectBinPacking: true
IndentCaseLabels: false
IndentFunctionDeclarationAfterType: false
IndentWidth: 2
MaxEmptyLinesToKeep: 1
NamespaceIndentation: None
ObjCSpaceBeforeProtocolList: false
PenaltyBreakBeforeFirstCallParameter: 10
PenaltyBreakComment: 60
PenaltyBreakFirstLessLess: 20
PenaltyBreakString: 1000
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 200
PointerAlignment: Left
SpaceAfterControlStatementKeyword: true
SpaceBeforeAssignmentOperators: true
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 1
SpacesInAngles: false
SpacesInCStyleCastParentheses: false
SpacesInParentheses: false
Standard: Cpp11
TabWidth: 8
UseTab: Never
...
17 changes: 0 additions & 17 deletions .github/ISSUE_TEMPLATE.md

This file was deleted.

38 changes: 38 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]

**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]

**Additional context**
Add any other context about the problem here.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
10 changes: 10 additions & 0 deletions .github/ISSUE_TEMPLATE/general-question.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
name: General Question
about: General Questions about CacheLib usage, compilation, and anything else
title: ''
labels: ''
assignees: ''

---


39 changes: 39 additions & 0 deletions .github/workflows/build-cachelib-centos-long.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: build-cachelib-centos-latest
on:
schedule:
- cron: '0 7 * * *'

jobs:
build-cachelib-centos8-latest:
name: "CentOS/latest - Build CacheLib with all dependencies"
runs-on: ubuntu-latest
# Docker container image name
container: "centos:latest"
steps:
- name: "update packages"
run: dnf upgrade -y
- name: "install sudo,git"
run: dnf install -y sudo git cmake gcc
- name: "System Information"
run: |
echo === uname ===
uname -a
echo === /etc/os-release ===
cat /etc/os-release
echo === df -hl ===
df -hl
echo === free -h ===
free -h
echo === top ===
top -b -n1 -1 -Eg || timeout 1 top -b -n1
echo === env ===
env
echo === gcc -v ===
gcc -v
- name: "checkout sources"
uses: actions/checkout@v2
- name: "build CacheLib using build script"
run: ./contrib/build.sh -j -v -T
- name: "run tests"
timeout-minutes: 60
run: cd opt/cachelib/tests && ../../../run_tests.sh long
18 changes: 10 additions & 8 deletions .github/workflows/build-cachelib-centos.yml
Original file line number Diff line number Diff line change
@@ -1,18 +1,15 @@
name: build-cachelib-centos-latest
on:
schedule:
- cron: '30 5 * * 1,4'
push:
pull_request:

jobs:
build-cachelib-centos8-latest:
name: "CentOS/latest - Build CacheLib with all dependencies"
runs-on: ubuntu-latest
# Docker container image name
container: "centos:latest"
container: "ghcr.io/igchor/cachelib-deps:streams8"
steps:
- name: "update packages"
run: dnf upgrade -y
- name: "install sudo,git"
run: dnf install -y sudo git cmake gcc
- name: "System Information"
run: |
echo === uname ===
Expand All @@ -31,5 +28,10 @@ jobs:
gcc -v
- name: "checkout sources"
uses: actions/checkout@v2
- name: "print workspace"
run: echo $GITHUB_WORKSPACE
- name: "build CacheLib using build script"
run: ./contrib/build.sh -j -v -T
run: mkdir build && cd build && cmake ../cachelib -DBUILD_TESTS=ON -DCMAKE_INSTALL_PREFIX=/opt -DCMAKE_BUILD_TYPE=Debug && make install -j$(nproc)
- name: "run tests"
timeout-minutes: 60
run: cd /opt/tests && $GITHUB_WORKSPACE/run_tests.sh
6 changes: 5 additions & 1 deletion .github/workflows/build-cachelib-debian.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
name: build-cachelib-debian-10
on:
schedule:
- cron: '30 5 * * 2,6'
- cron: '30 5 * * 0,3'

jobs:
build-cachelib-debian-10:
name: "Debian/Buster - Build CacheLib with all dependencies"
Expand Down Expand Up @@ -37,3 +38,6 @@ jobs:
uses: actions/checkout@v2
- name: "build CacheLib using build script"
run: ./contrib/build.sh -j -v -T
- name: "run tests"
timeout-minutes: 60
run: cd opt/cachelib/tests && ../../../run_tests.sh
147 changes: 0 additions & 147 deletions .github/workflows/build-cachelib.yml

This file was deleted.

19 changes: 19 additions & 0 deletions .github/workflows/clang-format-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# From: https://github.com/marketplace/actions/clang-format-check#multiple-paths
name: clang-format Check
on: []
jobs:
formatting-check:
name: Formatting Check
runs-on: ubuntu-latest
strategy:
matrix:
path:
- 'cachelib'
- 'examples'
steps:
- uses: actions/checkout@v2
- name: Run clang-format style check for C/C++ programs.
uses: jidicula/[email protected]
with:
clang-format-version: '11'
check-path: ${{ matrix.path }}
Loading