Craig Tiller
b9ea84ac9d
Promise pipe redux ( #28319 )
...
The original pipe implementation made a few assumptions:
* it should be used outside of arenas, implying allocation was expensive
* pipes would be fairly deep
With our expected implementation of the filter stack, pipes will max out at one to three stages, and so optimizations enabled by Filter seem to be actual pessimizations for our usual case.
Additionally we'll be operating inside of arenas and consequently memory allocation can be trivially cheap - and in doing so we can enable a far simpler implementation.
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
dc6060fbfd
Make promise arena part of the context ( #28313 )
...
* Make promise arena part of the context
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
4283b7d644
Remove competetion benchmark ( #28316 )
3 years ago
Craig Tiller
b95ed96b96
Revert "Revert "Move arena into resource quota ( #28008 )" ( #28292 )" ( #28293 )
...
This reverts commit 91edf92ce0
.
3 years ago
Craig Tiller
91edf92ce0
Revert "Move arena into resource quota ( #28008 )" ( #28292 )
...
This reverts commit ad424a2ebf
.
3 years ago
Craig Tiller
ad424a2ebf
Move arena into resource quota ( #28008 )
...
* 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
* Move arena into resource quota
* Remove redundant constant
* fixup the tests
* Automated change: Fix sanity tests
* fiiixes
* Automated change: Fix sanity tests
* fixes
* Automated change: Fix sanity tests
* fixes
* fix
* fix
* Automated change: Fix sanity tests
* fixes
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
888a10d8a6
Reland arena based promises ( #28174 )
...
* Revert "Revert "Arena allocated promise (#28023 )" (#28171 )"
This reverts commit 9b07a81b1a
.
* fix
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
9b07a81b1a
Revert "Arena allocated promise ( #28023 )" ( #28171 )
...
This reverts commit 77b4ade1a7
.
3 years ago
Craig Tiller
77b4ade1a7
Arena allocated promise ( #28023 )
...
* Arena allocated promise
* finish
* Automated change: Fix sanity tests
* test
* Remove unused names
* fix
* older compiler fix
* fiiixes
* windows fixes?
* clangfmt
* fix windows?
* Document more
* fix destructors
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
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
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
7d2f9c842c
Revert "Reland moving promises build config out of root ( #27561 )" ( #27610 )
...
This reverts commit 391f2fc2c7
.
3 years ago
Craig Tiller
391f2fc2c7
Reland moving promises build config out of root ( #27561 )
...
* Revert "Revert "Try moving promises build config out of root (#27400 )" (#27504 )"
This reverts commit f0fc72f2a4
.
* Automated change: Fix sanity tests
* fix
* Automated change: Fix sanity tests
* merge with other changes
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
84d9e7e9fa
Speed up microbenchmark tests ( #27584 )
...
* Speed up microbenchmark tests
* Automated change: Fix sanity tests
* Update grpc_benchmark_config.bzl
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
1619945281
Promises fuzzer ( #27406 )
...
* Add a dependency on libprotobuf-mutator
* Changes for structured fuzzing
* fuzznificent
* add a config that will build fuzzers
* bazel run --config=fuzzer_asan //path/to:fuzzer fuzzes!
* fixes
* promise fuzzer
* progress
* Automated change: Fix sanity tests
* Initial promise fuzzer
* better factoring
* misc improvements
* Initial promise fuzzer
* Automated change: Fix sanity tests
* enhancements
* fix
* Automated change: Fix sanity tests
* clang-tidy fix
* bad merge
* Update BUILD
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
60a5e474b8
Reland promise benchmarks ( #27551 ) ( #27560 )
...
* Revert "Revert promise benchmarks (#27551 )"
This reverts commit ae96af3780
.
* fixes
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
ae96af3780
Revert promise benchmarks ( #27551 )
...
* Revert "Update BUILD"
This reverts commit 4472c81232
.
* Revert "Promises benchmarks (#27291 )"
This reverts commit 47921ba5e8
.
3 years ago
Craig Tiller
4472c81232
Update BUILD
3 years ago
Craig Tiller
47921ba5e8
Promises benchmarks ( #27291 )
...
* Promise benchmark
* Automated change: Fix sanity tests
* fix leak
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
f0fc72f2a4
Revert "Try moving promises build config out of root ( #27400 )" ( #27504 )
...
This reverts commit fd64bbebb5
.
3 years ago
Craig Tiller
fd64bbebb5
Try moving promises build config out of root ( #27400 )
...
* Try moving promises build config out of root
* buildifier
* fix copyright
3 years ago
Craig Tiller
e977ef0351
Fixup layering ( #27482 )
...
* fixup layering
* Automated change: Fix sanity tests
* fix test
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
65644a7bb6
Make a suite of wakeup schedulers for tests ( #27459 )
...
* Make a suite of wakeup schedulers for tests
* add missing file
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
d1cecad651
ExecCtx based Activity wakeup mechanism ( #27454 )
...
* wakeup scheduler
* wakeup scheduler
* Automated change: Fix sanity tests
* Update exec_ctx_wakeup_scheduler_test.cc
* Remove unused name
* fix_build
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
a419687f1b
Activities wakeup logic tweak ( #27453 )
...
* wakeup tweak
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
87a973f01d
Add structurally aware fuzzing support ( #27405 )
...
* Add a dependency on libprotobuf-mutator
* Changes for structured fuzzing
* fuzznificent
* add a config that will build fuzzers
* bazel run --config=fuzzer_asan //path/to:fuzzer fuzzes!
* fixes
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* fixes
* fix
* sanitizer fix
* fix directory
* regen stuff
* compile error
* remove fuzzers from cmake build
* Automated change: Fix sanity tests
* review feedback
* remove unnecessary load
* review feedback
* review feedback
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
4d7ad5271a
Handle cancellation inside polling an activity ( #27369 )
...
* allow cancellation during run
* add a test
* review feedback
3 years ago
Craig Tiller
fb73292270
Promises: Fix composition problems of loops of seq ( #27337 )
...
* Promises: Fix composition problems of loops of seq
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
c6a20601dc
Activities: Don't execute inline ( #27341 )
...
* Activities: Don't execute inline
* fix test
3 years ago
Craig Tiller
ac9e52181b
Activities: Add force wakeup API ( #27336 )
...
* Activities: Add force wakeup API
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
29948df4ba
Activities: allow empty wakers ( #27335 )
3 years ago
Craig Tiller
ce95fd2586
For-each loop for promises ( #27241 )
...
* For-each loop for promises
* Automated change: Fix sanity tests
* Fix older compilers
* Automated change: Fix sanity tests
* review feedback
* clang-tidy fixes
* clangfmt
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
ea389c00c2
Adjust include order per style guide ( #27175 )
...
Introduce clang-format configuration to sort includes closer to our rules.
3 years ago
Craig Tiller
3214be885d
Add initial pipe facility for promises ( #27202 )
...
* Add initial pipe facility for promises
* Automated change: Fix sanity tests
* fixes for windows?
* comment tests
* review feedback
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
1ce8bd7067
Observable primitive for promises ( #27082 )
...
* promise sequences
* Activities for promises
* Observable primitive - single writer/multiple reader
* Automated change: Fix sanity tests
* dedup some code
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
12cd59426b
Latch synchronization primitive ( #27080 )
...
* promise sequences
* Activities for promises
* Latch synchronization primitive
* Wakeups between actors in the same activity
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
764232fa13
Fixes for map ( #27079 )
...
* fixes for map
* fix bad merge
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
5cdaec9a4f
Promise Activities ( #26921 )
...
* promise sequences
* Activities for promises
* Automated change: Fix sanity tests
* review feedback
* review feedback
* review feedback
* review feedback
* review feedback
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
6a06f0cd4a
promise sequences ( #27058 )
3 years ago
Craig Tiller
f292f001ee
Promise join combinator ( #26918 )
...
* Add construct/destruct helper functions
Will be used in upcoming promise implementation
* Poll type for promises library
* Library to talk about things that look like promises if you squint
* Helper code for promises to deal with status types generically
* Library to talk about things that make promises
* build
* Join combinator for promise library
* Changes to sync required for promise activities
* sanitized
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* Update basic_join.h
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
724ad871d4
Promise loop ( #26913 )
...
* Poll type for promises library
* Library to talk about things that look like promises if you squint
* Library to talk about things that make promises
* Promises loop construct
* build
* Changes to sync required for promise activities
* sanitized
* add comments
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
aacd32c721
Promise library context management helpers ( #26912 )
...
* Promise library context management helpers
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* fixes
* Automated change: Fix sanity tests
* missing file
* Automated change: Fix sanity tests
* compatibility
* build
* Automated change: Fix sanity tests
* propagate
* Automated change: Fix sanity tests
* merge with head
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
4744aceb68
Promises race ( #26915 )
...
* Poll type for promises library
* Promises race construct
* Changes to sync required for promise activities
* Automated change: Fix sanity tests
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
7ea742f3d5
Promise if construct ( #26914 )
...
* Poll type for promises library
* Library to talk about things that look like promises if you squint
* Library to talk about things that make promises
* Promises if construct
* build
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
8ed20ae479
Promise map operator ( #26917 )
...
* Poll type for promises library
* Library to talk about things that look like promises if you squint
* Promise helpers, and basic type erasure
* Promise map operator - change return type via a function
* build
* Changes to sync required for promise activities
* sanitized
* Automated change: Fix sanity tests
* fixes
* fixes
* Automated change: Fix sanity tests
* fix build
* review feedback
* Automated change: Fix sanity tests
* comment
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
71b2042c56
Promise factories ( #26990 )
...
* Poll type for promises library
* Library to talk about things that look like promises if you squint
* Library to talk about things that make promises
* build
* Changes to sync required for promise activities
* sanitized
* remove bad comment
* possible windows fix?
* fix
* ugh
* comment fix
* fix build
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
2e56b42ada
Generic promise facilities ( #26916 )
...
* Poll type for promises library
* Library to talk about things that look like promises if you squint
* Promise helpers, and basic type erasure
* build
* Changes to sync required for promise activities
* sanitized
* Automated change: Fix sanity tests
* suppressions
* try to fix windows failure
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Yash Tibrewal
cb2d13fa73
Fix BUILD file for //test/core/promise ( #26949 )
3 years ago
Craig Tiller
3d26032736
Poll type for promises library ( #26907 )
...
* Poll type for promises library
* sanitized
* suppressions
* Add a comment
3 years ago