Skip to content

Meta rebase - #3

Closed
guptask wants to merge 2159 commits into
developfrom
meta_rebase
Closed

Meta rebase#3
guptask wants to merge 2159 commits into
developfrom
meta_rebase

Conversation

@guptask

Copy link
Copy Markdown

No description provided.

Open Source Botand others added 30 commits July 22, 2022 15:23
Summary:
GitHub commits:
facebook/fbthrift@2084e71facebookresearch/FLSim@25dcc15
Reviewed By: jurajh-fb
fbshipit-source-id: 633ebba055ee849f612624dfdb4586e102f6c5e0
Summary:
GitHub commits:
facebook@9754496facebook/fb303@c90b698facebook/fbthrift@09c7898facebook/watchman@59d2099facebookexperimental/rust-shed@739451c
Reviewed By: jurajh-fb
fbshipit-source-id: f27967de0574c05e7a14443a058b77222d51a015
Summary:
GitHub commits:
facebook/fbthrift@4816073
Reviewed By: jurajh-fb
fbshipit-source-id: 98a25f03da94d1a493dc3164ef873f4a7a6c4e7f
Summary:
GitHub commits:
facebook/fbthrift@f090926
Reviewed By: jurajh-fb
fbshipit-source-id: 7d3458299e95ab7202eeb336fbaa8861f763f477
Summary:
GitHub commits:
facebook/fbthrift@29f5be1
Reviewed By: jurajh-fb
fbshipit-source-id: 681ea59613c4a5f67b88cdefcef0b4992f64ecdd
Summary:
- `ItemHandle` -> `WriteHandle` codemod in external use cases
- Remove `ItemHandle` from cachelib codebase
Reviewed By: therealgymmy
Differential Revision: D37500348
fbshipit-source-id: 4aaf5bed9b1472064770e8845e2bdbd19af230a4
Summary:
GitHub commits:
facebook/fbthrift@8ce919e
Reviewed By: wittgenst
fbshipit-source-id: 830dd79a01a7084fa6f37ec71b2b8113dd3f64eb
Summary:
GitHub commits:
facebook/folly@bd3e0f7
Reviewed By: wittgenst
fbshipit-source-id: 789ee0df03bc957ab274a27d859c8d3cd7a6e37c
Summary:
GitHub commits:
facebook/fbthrift@a4fdb4a
Reviewed By: wittgenst
fbshipit-source-id: f2511ee94b10175cdb76934e663aaad372bb4c13
Summary:
GitHub commits:
facebook/fbthrift@93deaa2facebook/litho@2ad905dfacebook/watchman@063d421facebookincubator/velox@0f34e2e
Reviewed By: wittgenst
fbshipit-source-id: 1f8193cbb4cc8ee7e0781ccc583e2a0c41e508fa
Summary:
GitHub commits:
facebook/folly@6e11b1efacebookresearch/beanmachine@8bdfb73
Reviewed By: wittgenst
fbshipit-source-id: fe32c2aa0dea86fdc52906e03784f0a18cedb03e
Sergei Vinogradovand others added 27 commits August 10, 2022 01:21
Without this fix removeCb called even in case when Item is moved between
tiers.
It fails because CentOS is EOL. We might want to consider
using CentOS Streams but for now, just remove it.
Right now, we rely on build-cachelib-centos workflow anyway.
Disabled test suite allocator-test-AllocatorTypeTest to skip sporadically failing tests.
Compensation results in ratios being different than originially specified.
Return a sum of sizes of each tier instead of just 1st tier's size.
Compilation of some of the tests was failing with:
"undefined reference to `facebook::cachelib::test_util::getRandomAsciiStr[abi:cxx11](unsigned int)'"
Fix this by linking those tests with common/TestUtils.cpp
Also, for some reason specyfing sources as in
add_library(common_test_support INTERFACE [sources...]) did not work.
Using target_sources works fine.
The issue happened when ReadHandleImpl ctor needs to destroy
waitContext_ because addWaitContextForMovingItem() returns false.
So before destroying waitContext_ we are calling discard method to
notify ~ItemWaitContext() that Item is ready.
Do not use shallow clone to make sure Docker rebuild logic works correctly.
Get tier id of item before calling any function on allocator
(which needs the tierID).
Remove the item from mmContainer and drop the lock before attempting
eviction.
Use moving bit for synchronization in findEviction
moving bit is used to give exclusive right to evict the item
to a particular thread.
Originially, there was an assumption that whoever marked the item
as moving will try to free it until he succeeds. Since we don't want
to do that in findEviction (potentially can take a long time) we need
to make sure that unmarking is safe.
This patch checks the flags after unmarking (atomically) and if ref is
zero it also recyles the item. This is needed as there might be some
concurrent thread releasing the item (and decrementing ref count). If
moving bit is set, that thread would not free the memory back to
allocator, resulting in memory leak on unmarkMoving().
The main purpose of this patch is to better simulate workloads in
cachebench. Setting touchValue to true allows to see performance
impact of using different mediums for memory cache.
* #75: Use actual tier sizes (rounded down to slab size and decreased by header size) when creating new memory pools
* Added getPoolSize method to calculate combined pool size for all tiers; added pool size validation to tests
* Explicitly specified type for totalCacheSize to avoid overflow
* Minor test change
* Reworked tests
* Minor change
* Deleted redundant tests
* Deleted unused constant
* First set of changes to cache configuration API to enable multi-tier caches (facebook#138)
Summary:
These changes introduce per-tier cache configuration required to implement features discussed here: facebook#102. These specific changes enable single DRAM tier configs only which are compatible with the current version of cachelib. Configuration API will be expanded as multi-tier changes in other parts of the library are introduced.
Pull Request resolved: facebook#138
Reviewed By: therealgymmy
Differential Revision: D36189766
Pulled By: jiayuebao
fbshipit-source-id: 947aa0cd800ea6accffc1b7b6b0c9693aa7fc0a5
Co-authored-by: Victoria McGrath <victoria.mcgrath@intel.com>
Hot queue iterator for 2Q. Will start at Hot queue and move to Warm queue if hot queue is exhausted. Useful for promotion semantics if using 2Q replacement. rebased on to develop and added some tests.
@guptaskguptask closed this Aug 11, 2022
vinser52 pushed a commit that referenced this pull request Sep 12, 2022
Summary:
AdRanker ASAN canary flagged a possible UBSan violation.
## Error
Failed Run: https://fburl.com/servicelab/apytosry
```
#0 0x562e3adb59bc in facebook::cachelib::objcache2::ObjectCacheSizeController<facebook::cachelib::CacheAllocator<facebook::cachelib::LruCacheTrait> >::work() buck-out/v2/gen/fbcode/47d914adeee3d982/cachelib/experimental/objcache2/__object-cache__/headers/cachelib/experimental/objcache2/ObjectCacheSizeController-inl.h
#1 0x562de7610f78 in facebook::cachelib::PeriodicWorker::loop() fbcode/cachelib/common/PeriodicWorker.cpp:55
#2 0x7f7632c524e4 in execute_native_thread_routine /home/engshare/third-party2/libgcc/11.x/src/gcc-11.x/x86_64-facebook-linux/libstdc++-v3/src/c++11/../../../.././libstdc++-v3/src/c++11/thread.cc:82:18
#3 0x7f7632f6ec0e in start_thread /home/engshare/third-party2/glibc/2.34/src/glibc-2.34/nptl/pthread_create.c:434:8
#4 0x7f76330011db in clone3 /home/engshare/third-party2/glibc/2.34/src/glibc-2.34/misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
UndefinedBehaviorSanitizer: integer-divide-by-zero buck-out/v2/gen/fbcode/47d914adeee3d982/cachelib/experimental/objcache2/__object-cache__/headers/cachelib/experimental/objcache2/ObjectCacheSizeController-inl.h:33:40 in
```
Reviewed By: jiayuebao
Differential Revision: D39024188
fbshipit-source-id: 64ad644c360565e638fa3ca74616a315038382ab
byrnedj pushed a commit that referenced this pull request Jul 23, 2023
Publish changes from innersouce
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

12 participants

@guptask@jiayuebao@antonk52@stepancheg@moakbari@tang-jianfeng@therealgymmy@dmm-fb@igchor@victoria-mcgrath@mcengija@byrnedj