Soheil Hassas Yeganeh
18b19105f2
Implement TCP_INQ for gRPC in Linux
...
TCP_INQ is a socket option we added to Linux to report pending bytes
on the socket as a control message.
Using TCP_INQ we can accurately decide whether to continue read or not.
Add an urgent parameter, when we do not want to wait for EPOLLIN.
This commit improves the latency of 1 RPC unary (minimal benchmark)
significantly:
Before:
l_50: 61.3584984733
l_90: 94.8328711277
l_99: 126.211351174
l_999: 158.722406029
After:
l_50: 51.3546011488 (-16%)
l_90: 72.3420731581 (-23%)
l_99: 103.280218974 (-18%)
l_999: 130.905689996 (-17%)
6 years ago
Vijay Pai
fab05d336c
Dynamic callback requesting, graceful server shutdown, and separate ExecCtx for callbacks
6 years ago
Yash Tibrewal
bab043e865
Cleanup
6 years ago
Soheil Hassas Yeganeh
48e4a81b05
Remeve memset(0) from arena allocated memory.
...
Callers are updated to properly initialize the memory.
This behavior can be overridden using GRPC_ARENA_INIT_STRATEGY
environment variable.
6 years ago
Yash Tibrewal
8d47cd4992
Revert "Revert "Fathom tcp changes""
6 years ago
Jan Tattermusch
97ba943f17
Revert "Fathom tcp changes"
6 years ago
Yash Tibrewal
f0397933b0
Fathom TCP level changes. TracedBuffer for keeping track of all buffers
...
to be traced. Adding tests for Fathom and TracedBuffer. A lot more.
Please read PR description.
6 years ago
ncteisen
40ec89ff67
Support microbenchmarks internally
7 years ago
Mark D. Roth
3d8b32d8b3
Convert byte_stream API to C++.
7 years ago
Vijay Pai
c90a85649b
Change grpc++ references in names to grpcpp
7 years ago
Muxi Yan
38fcd0c6c3
clang-format
7 years ago
Yash Tibrewal
8cf1470a51
Revert "Revert "All instances of exec_ctx being passed around in src/core removed""
7 years ago
Yash Tibrewal
ad4d2dde00
Revert "All instances of exec_ctx being passed around in src/core removed"
7 years ago
Mark D. Roth
e204e5e497
Apply #13336 to v1.8.x branch.
7 years ago
Yash Tibrewal
c354269ba7
Remove _ prefixed variable names
7 years ago
Yash Tibrewal
6c26b16fe0
Move ExecCtx to grpc_core namespace. Make exec_ctx a private static in ExecCtx and some minor changes
7 years ago
Yash Tibrewal
75122c2357
Address some PR comments
7 years ago
Craig Tiller
4ac2b8e585
Enable clang-tidy as a sanity check, fix up all known failures
7 years ago
Yash Tibrewal
0032548674
Correction to closure.cc,bm_chttp2_hpack and few more
7 years ago
Yash Tibrewal
3150744c71
Removing more exec_ctx instances
7 years ago
Mark D. Roth
04c97d0e0d
Add notify_on_receive_settings closure to chttp2 transport.
7 years ago
Craig Tiller
baa14a975e
Update clang-format to 5.0
7 years ago
Yuchen Zeng
6a0874b405
Fix bm_chttp2_transport
7 years ago
Yash Tibrewal
0ee7574732
Removing instances of exec_ctx being passed around in functions in
...
src/core. exec_ctx is now a thread_local pointer of type ExecCtx instead of
grpc_exec_ctx which is initialized whenever ExecCtx is instantiated. ExecCtx
also keeps track of the previous exec_ctx so that nesting of exec_ctx is
allowed. This means that there is only one exec_ctx being used at any
time. Also, grpc_exec_ctx_finish is called in the destructor of the
object, and the previous exec_ctx is restored to avoid breaking current
functionality. The code still explicitly calls grpc_exec_ctx_finish
because removing all such instances causes the code to break.
7 years ago
Craig Tiller
3273648a87
flow control fixes
7 years ago
Craig Tiller
99fafa17a3
Fix compilation
7 years ago
Mark D. Roth
764cf04a13
Revert "Revert "Implement call combiner""
...
This reverts commit bf19961d0a
.
7 years ago
Mark D. Roth
bf19961d0a
Revert "Implement call combiner"
7 years ago
Mark D. Roth
76e264b8df
Implement call combiner.
7 years ago
jiangtaoli2016
3aaa5ea028
minor fix
7 years ago
Craig Tiller
4c0ac4a9f5
Fix fix fix chttp2_transport
7 years ago
Craig Tiller
cbb384007e
Fix bm_chttp2_transport
7 years ago
Craig Tiller
89c1428a60
Propagate grpc_millis further
7 years ago
ncteisen
3c909d55fd
Pull out flow control objects
7 years ago
ncteisen
06f052b35d
Get rid of local window, fix qps worker
7 years ago
ncteisen
268a82398c
Pull flow control into one module
7 years ago
ncteisen
969b46ef73
Add rich closure debug mode
8 years ago
ncteisen
274bbbe6a0
Add rich closure debug mode
8 years ago
Jan Tattermusch
7897ae9308
auto-fix most of licenses
8 years ago
Craig Tiller
d8e896ecd7
Remove function
8 years ago
Alexander Polcyn
f5521c33f9
Revert "Merge branch 'master' into v1.3.x"
...
This reverts commit 79759fea1a
, reversing
changes made to dc36f4df6a
.
8 years ago
Muxi Yan
29723ee1ba
Revert "Revert "Implement lazy deframe""
8 years ago
Craig Tiller
c71e6a6ad6
Revert "Implement lazy deframe"
8 years ago
Muxi Yan
848073f77d
Clean up unused variables and funcs
8 years ago
Muxi Yan
a3fda8fdc9
Fix bm_chttp2_transport memory leak
8 years ago
Muxi Yan
97a0ded7c5
Fix bm_chttp2_transport
8 years ago
Craig Tiller
a0f3abd925
Review feedback: bikeshedding round
8 years ago
Craig Tiller
e431b52f0b
Fix crashes
8 years ago
Craig Tiller
57178eff19
fixes
8 years ago
Muxi Yan
9e760da81a
Fix c++ test
8 years ago