Yash Tibrewal
5f6c357e74
Move some targets from //: to //src/core: ( #31402 )
...
* temp
* temp
* temp
* top BUILD builds
* everything builds
* buildify
* temp fix_build_deps change
* fix gpr_atm
* additional changes
* fix build files
* nofixdeps
* Generate projects
* json_args
* fix context
* Generate projects
* Sprinkle some avoid_dep tags
* Run fix_build_deps
* Remove additional avoid_dep
* Revert some targets
* grpc_mock_cel
2 years ago
Craig Tiller
0724a90fd8
Revert "Revert "[arena] pool allocator ( #31298 )" ( #31414 )" ( #31415 )
...
This reverts commit 2c11e56433
.
2 years ago
Alisha Nanda
2c11e56433
Revert "[arena] pool allocator ( #31298 )" ( #31414 )
...
This reverts commit 5e27b2df97
.
2 years ago
Craig Tiller
5e27b2df97
[arena] pool allocator ( #31298 )
...
* [arena] pool allocator
* add tests
* Automated change: Fix sanity tests
* better sizes
* iwyu
* Automated change: Fix sanity tests
* first pass cut fragments
* fix1
* fix
* Automated change: Fix sanity tests
* fix
* iwyu
* build-deps
* fix for windows
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
a23eae84c9
Revert "[flakes] Update flakiness ( #31121 )" ( #31173 )
...
This reverts commit bdc799af73
.
2 years ago
Craig Tiller
bdc799af73
[flakes] Update flakiness ( #31121 )
...
* update
* Automated change: Fix sanity tests
* fix
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
9c98d67d7a
[c++14] absl::make_unique --> std::make_unique ( #31159 )
...
* [c++14] absl::make_unique --> std::make_unique
* fix
* fix
2 years ago
Esun Kim
d43511f4af
Removed GRPC_ERROR_NONE ( #31131 )
2 years ago
Craig Tiller
ebc4f236b6
[slice] Remove _internal variants of APIs ( #30953 )
...
* [slice] Remove _internal variants of APIs
* Automated change: Fix sanity tests
* fix
* reduce bloat
* fixes
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
1ad4bbe78e
Revert "fix ( #31018 )" ( #31021 )
...
This reverts commit 2e6f268dfc
.
2 years ago
Craig Tiller
2e6f268dfc
fix ( #31018 )
2 years ago
Craig Tiller
96f5cddb5f
[time] Introduce time sources ( #30815 )
...
* [time] Introduce time sources
* make import trivial
* Automated change: Fix sanity tests
* fix
* Automated change: Fix sanity tests
* fix
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* review feedback
* fix
* Automated change: Fix sanity tests
* ios fix
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
e705b2e3c7
[resource_quota] Move experiments to the experiments framework ( #30830 )
...
* fix
* fix tests
* fix
* Automated change: Fix sanity tests
* better expansion
* bleh
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
0580c0e96d
[fixit] Annotate memory_quota_test cpu requirements ( #30694 )
...
* test
* Update BUILD
* Update BUILD
2 years ago
Craig Tiller
bdbb8db2dc
[fixit] Scale down large tests ( #30680 )
...
We have many tests that create 100 threads or more, and mounting evidence that
this is harmful to our CI environment.
When the original code for many of these tests was written we ran our tests
under run_tests, which had explicit handling for tracking the number of threads
each test needed and making sure that we weren't over subscribing the test
runner. Bazel has no such facility (and the facility in run_tests has since
been removed) and so we need to adjust.
This PR adjusts down a single test and is part of a series so that we can
review and roll back easily if required.
2 years ago
Craig Tiller
f573fd44f9
[test] Semi-automatic flaky test tracking ( #30638 )
...
* [test] Semi-automatic flaky test tracking
* fix
* Automated change: Fix sanity tests
* Update update_flakes.py
* fix formatting
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
8a091d1888
fix mac build ( #30625 )
2 years ago
AJ Heller
8a466c209e
assert duration in callback ( #30618 )
2 years ago
Craig Tiller
83825a889f
[fixit] Loosen bounds on periodic update test ( #30612 )
2 years ago
Cheng-Yu Chung
543b290203
Build Target Reorganization Part 1 ( #30518 )
...
* Clean up gpr_base
* Remove `avoid_dep` for target `gpr`
* Add alias `gpr_base` for `gpr` for compatibility
* Fix tool error
* Update
* Remove temporary `gpr_base`
* Remove unused `alt_gpr_base_legacy`
2 years ago
Craig Tiller
2cb58b9565
[build] Auto-deps for test/core/resource_quota ( #30430 )
...
* [build] Auto-deps for test/core/resource_quota
* fix
* fix
* Automated change: Fix sanity tests
* fixes
* Automated change: Fix sanity tests
* fix
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
4ec5d9eb55
[resource_quota] Custom controller ( #30457 )
...
* [resource_quota] Custom controller
Instead of a PID controller use a custom binary-search inspired controller that will eventually converge to a good control value.
Experiments have shown this able to successfully hold a 95% memory pressure, optimizing for performance most of the time, and gracefully restricting memory usage under severe pressure.
There will be further changes after this one to use the new control value in various systems.
* Automated change: Fix sanity tests
* Update memory_quota.cc
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
65fc31a988
[resource_quota] Refine pressure api ( #30464 )
...
Better label the elements of the pressure api, explicitly calling out the control value vs the pressure value.
2 years ago
Craig Tiller
05e6bf2e4a
[build] Add test/core/util, test/core/event_engine to auto build deps ( #30364 )
...
* [build] Add test/core/util, test/core/event_engine to auto build deps
* deal with suppressions
* fix suppressions
* Automated change: Fix sanity tests
* fix
* fix
* fix
* fix
* progress
* Automated change: Fix sanity tests
* fix
* fix
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
93fbacb534
[resource_quota] Flow control experiment ( #30310 )
...
* ideation
* fix periodic update behavior around initialization
* fix
* finish it up
* finish it up
* fix
* fix
* fix
* Update BUILD
* Automated change: Fix sanity tests
* tweak
* Automated change: Fix sanity tests
* pid after all
* fix
* tweak
* Automated change: Fix sanity tests
* fix
* fix
* comment
* fix
* comment
* better comment
* make set point configurable
* fix test
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Esun Kim
4749078ecc
gtestify test/core/resource_quota ( #30215 )
...
* gtestify test/core/resource_quota
* Fix
2 years ago
Craig Tiller
15ae89e1fc
[arena] Add ManagedNew(), gtest-ify test ( #30159 )
...
* [arena] Add ManagedNew(), gtest-ify test
Add a ManagedNew() method to Arena that calls the relevant destructor at Arena destruction time.
There are some cases coming up in the promise based call work where this becomes super convenient, and I expect it's likely that there are other places that's true too.
* Automated change: Fix sanity tests
* review feedback
* use construct/destruct more
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* fix
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
fbe6a4d941
[iwyu] Add test/core/resource_quota ( #29999 )
...
* [iwyu] Add test/core/resource_quota
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
720f9d65c9
[resource_quota] Periodic update tracker ( #29853 )
...
* [resource_quota] Periodic update tracker
Periodic update type that tries to do updates at some measurable
timescale without polling the current time every tick, instead trying to
approximate how many ticks will be required to fill the desired
duration.
The intent here is that we use this in RQ to donate memory back
periodically whilst keeping timer checks off the fast path.
* fix
* Automated change: Fix sanity tests
* review feedback
* fix
* fix
* review feedback
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
9269732d15
Revert "Revert "[resource-quota] Remove rebind ( #29851 )" ( #29896 )" ( #29897 )
...
* Revert "Revert "[resource-quota] Remove rebind (#29851 )" (#29896 )"
This reverts commit ad4a387403
.
* fix uninitialized variable
3 years ago
Craig Tiller
ad4a387403
Revert "[resource-quota] Remove rebind ( #29851 )" ( #29896 )
...
This reverts commit ba308b46ed
.
3 years ago
Craig Tiller
ba308b46ed
[resource-quota] Remove rebind ( #29851 )
...
* [resource-quota] Remove rebind
* fix
3 years ago
AJ Heller
18a8f6aad9
Refactor end2end tests to exercise each EventEngine ( #29202 )
...
* Refactor end2end tests to exercise each EventEngine
* fix incorrect bazel_only exclusions
* Automated change: Fix sanity tests
* microbenchmark fix
* sanitize, fix iOS flub
* Automated change: Fix sanity tests
* iOS fix
* reviewer feedback
* first pass at excluding EventEngine test expansion
Also caught a few cases where we should not test pollers, but should
test all engines. And two cases where we likely shouldn't be testing
either product.
* end2end fuzzers to be fuzzed differently via EventEngine.
* sanitize
* reviewer feedback
* remove misleading comment
* reviewer feedback: comments
* EE test_init needs to play with our build system
* fix golden file test runner
Co-authored-by: drfloob <drfloob@users.noreply.github.com>
3 years ago
Craig Tiller
436bd933f3
Rewrite reclaimer queue ( #28698 )
...
* New reclaimer queue
* add test
* Automated change: Fix sanity tests
* faster test
* fix memory ordering
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
7d6000082a
Double added reclaimers need not be called ( #28378 )
3 years ago
Craig Tiller
6af45a35ba
Tooling to remove redundant grpc_core:: namespace references ( #28030 )
...
* Tooling to remove redundant grpc_core:: namespaces
These references tend to show up in our C++ code after C modules get
converted. Many get caught in review, many get missed.
* use it
* clang-format
3 years ago
Craig Tiller
a629c9a03e
Reland resource quota work ( #28017 )
...
* Check if memory owner available prior to polling it
The transport may drop the memory owner during its destruction sequence
* tcp_fix
* Revert "Revert "New resource quota integration (#27643 )" (#28014 )"
This reverts commit 0ea2c37263
.
* clang-format
* fix-path
* fix
3 years ago
Craig Tiller
0ea2c37263
Revert "New resource quota integration ( #27643 )" ( #28014 )
...
This reverts commit 39f0877d25
.
3 years ago
Craig Tiller
39f0877d25
New resource quota integration ( #27643 )
...
* new resource quota integration
* Automated change: Fix sanity tests
* fix
* fix
* fixes
* fixes
* fixes
* Automated change: Fix sanity tests
* fixes
* fixes
* Automated change: Fix sanity tests
* fixes
* fix
* fixes
* windows-fix
* fixes
* fixes
* fix
* fix-asan
* banned
* banned
* fixes
* clang-tidy-fix
* Automated change: Fix sanity tests
* fix-cronet
* review feedback
* review feedback
* Automated change: Fix sanity tests
* fixes
* bug fix
* fixes
* compile fix
* exclude megabyte size payloads from 1byte tests
* windows fix
* start moving ios
* keep moving windows
* Get windows compilation working.
* Automated change: Fix sanity tests
* better
* fixes
* remove slice buffer from memory_allocator.h
* Revert "remove slice buffer from memory_allocator.h"
This reverts commit 234a63b6e3
.
* ugh
* #fixtests
* pthread tls fixes
* Automated change: Fix sanity tests
* fixfixfix
* xxx
* add reset
* review feedback
* fix
* fix
* fixes
* fix
* mac progress
* cpp-impl-of
* rename ptr
* Automated change: Fix sanity tests
* memory-owner-is-a-memory-allocator
* fixes
* fix
* fix from prod
* fix
* Fix issue leading to bad pointers being returned on Windows.
* Automated change: Fix sanity tests
* fix multislice bug
* argh
* hyrums law fixes
* hyrums law fixes
* clang-format
* hyrums law fixes
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Richard Belleville
468768865b
Make Buildifier Sanity Test Strict ( #27807 )
...
* Fix all lint errors in repo.
* Use strict buildifier by default
* Whoops. That file does not exist
* Attempt fix to buildifier invocation
* Add missing copyright
3 years ago
Craig Tiller
b2d9ebcfbe
memory_quota_stress_test requires 64-bit ( #27824 )
...
* memory_quota_stress_test requires 64-bit
* clang-fmt
3 years ago
Craig Tiller
3a78db6cdf
Fix bug in memory quota fuzzer ( #27670 )
...
* flush more thoroughly
* add reproducer
* fixes
3 years ago
Craig Tiller
3dc5528c50
Fix fuzzer found null-deref in memory_quota ( #27648 )
3 years ago
Craig Tiller
016ef6cede
Change reclaimer function signature ( #27649 )
...
* Fix fuzzer found leak in memory_quota
* Make reclamation functions know about cancellation
* fixes
* fix race
* Automated change: Fix sanity tests
* fixes
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Esun Kim
ec4c61a3ae
Various fixes on absl::Status migration ( #27557 )
3 years ago
Craig Tiller
79ef60f079
Integrate new resource quota, event engine ( #27522 )
...
* Integrate new resource quota, event engine
* Automated change: Fix sanity tests
* windows fix
* Automated change: Fix sanity tests
* Update memory_allocator.h
* Automated change: Fix sanity tests
* first round review feedback
* review feedback
* Automated change: Fix sanity tests
* Update memory_quota.h
* get re-export formatted right
* Automated change: Fix sanity tests
* Update memory_allocator.cc
* Automated change: Fix sanity tests
* MemoryOwner has-a MemoryAllocator
* using fix
* review feedback
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
969f3d55ef
Check that grpc_package statements have the right name ( #27608 )
...
* named-right
* Update check_package_name.py
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
ef5c269241
Fix fuzzer found bugs ( #27562 )
3 years ago
Craig Tiller
82c99362b5
Rewrite memory quota management in C++ with Promises library ( #27327 )
...
* first pass new memory quota
* forget the ee stuff - it should be a wrapper on top
* beginning to finalize
* compiles
* basic tests pass
* fixes
* Automated change: Fix sanity tests
* merge
* Automated change: Fix sanity tests
* add rebind test
* flesh out the rest
* Automated change: Fix sanity tests
* add increase
* prog
* Automated change: Fix sanity tests
* allow cancellation during run
* fixes
* clang-format
* better allocation strategy
* better allocation strategy
* Automated change: Fix sanity tests
* Update memory_quota.cc
* format
* better comment
* remove block size - this is probably unnecessary complexity
* fmt
* cleanup
* size_t
* Automated change: Fix sanity tests
* fixes
* move makeslice into memoryallocator
* move makeslice into memoryallocator
* add container allocator, tests
* Automated change: Fix sanity tests
* fixes
* Automated change: Fix sanity tests
* add some docs
* Automated change: Fix sanity tests
* fix doc
* comment vector
* Automated change: Fix sanity tests
* fixes
* ditch the thread
* exec_ctx integration
* Automated change: Fix sanity tests
* progress!
* fuzzer
* initial_corpora
* Automated change: Fix sanity tests
* bigger_objects
* better-fuzzer
* add stress test
* Automated change: Fix sanity tests
* Remove unused header
* Iwyu
* Automated change: Fix sanity tests
* Portability fix, comment
* Fix unused arg
* Remove unused names
* Removed unused name
* Automated change: Fix sanity tests
* windows
* Automated change: Fix sanity tests
* cleanup
* fix-mac
* cleanup, eliminate atomicbarrier
* exclude some platforms
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago