Arjun Roy
b2cda1e185
Reduced ops for grpc_chttp2_stream_map_find().
...
Several asserts in grpc_chttp2_stream_map_find() can be converted to debug
asserts. This PR also templatizes the internal find() method to have it be
strict in the delete case (which saves some branches).
5 years ago
Yash Tibrewal
2d498d2b6c
Add a few tests for ContextList and BufferList. Also, check that
...
timestamps is non-null before modifying it.
5 years ago
Arjun Roy
b1d73a01f1
Removed duplicate static table from hpack table. Removed an or instruction for
...
every usage of static grpc metadata. Inlined hpack table lookups for static
metadata.
This leads to faster hpack parser creation:
BM_HpackParserInitDestroy 5.32µs ± 1% 0.06µs ± 1% -98.91% (p=0.000 n=18+19)
And slightly faster parsing:
BM_HpackParserParseHeader<RepresentativeClientInitialMetadata, OnInitialHeader>
456ns ± 1% 435ns ± 1% -4.74% (p=0.000 n=18+19)
BM_HpackParserParseHeader<MoreRepresentativeClientInitialMetadata,
OnInitialHeader>
1.06µs ± 2% 1.04µs ± 2% -1.82% (p=0.000 n=19+20)
It also yields a slight (0.5 - 1.0 microsecond) reduction in CPU time for
fullstack unary pingpong:
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/0/512
[polls/iter:3.0001 ] 23.9µs ± 2%
23.0µs ± 1% -3.63% (p=0.002 n=6+6)
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/0/32768
[polls/iter:3.00015 ] 35.1µs ± 1%
34.2µs ± 1% -2.57% (p=0.036 n=5+3)
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/8/0
[polls/iter:3.00011 ] 21.7µs ± 3%
21.2µs ± 2% -2.44% (p=0.017 n=6+5)
5 years ago
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
Yash Tibrewal
30e1991bf9
Update context list test
6 years ago
yang-g
67742ef63f
Fix BUILD files. Manually edit bzl files
6 years ago
yang-g
e75fc243da
change tests to use the new class instead of grpc_test_init
6 years ago
Yash Tibrewal
77ba25ab72
s/int/uint32_t
6 years ago
Yash Tibrewal
9506d35674
Add a byte counter to chttp2_stream and use that for timestamps
6 years ago
Yash Tibrewal
c7e92f26eb
Reviewer comments
6 years ago
Yash Tibrewal
bab043e865
Cleanup
6 years ago
Guantao Liu
0c18293e55
Fix the test failure with callback-based polling.
6 years ago
Hope Casey-Allen
327c514fe7
Some reorganizing to respond to code review comments
6 years ago
Hope Casey-Allen
fbe594beeb
Much cleaner approach that should address code review comments as well
6 years ago
Hope Casey-Allen
97cbec1c98
WIP. Setting md_index to 0 on grpc_linked_mdelem creation
6 years ago
Hope Casey-Allen
4181c8cd37
Zero out linked_mdelem when created in test
6 years ago
Yash Tibrewal
9c5bde5e4e
More commits
6 years ago
Juanli Shen
3c3f3ad75a
Decrease GRPC_CHTTP2_HPACKC_NUM_VALUES
7 years ago
Yash Tibrewal
c0cd82faed
Remove unnecessary includes of exec_ctx.h
7 years ago
Muxi Yan
6c9a87c174
Polish infer_length_after_decode and add test cases
7 years ago
Noah Eisen
be82e64b3d
Autofix c casts to c++ casts
7 years ago
Jan Tattermusch
8376749faa
fix EventState::done() data race
7 years ago
Mark D. Roth
dbdf495f61
Split lib/support into lib/gpr and lib/gpr++.
7 years ago
Vijay Pai
9423c274cd
Need to include functional to use std::bind
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
Mark D. Roth
ca014e4d5e
Clean up semantics of test code.
7 years ago
Yash Tibrewal
81fc8c9c33
Fix tests to call grpc_init and grpc_shutdown before using exec_ctx
7 years ago
ncteisen
fe354eb807
Fix the fuzzers
7 years ago
Mark D. Roth
39dd9aa439
Fix BUILD file.
7 years ago
Mark D. Roth
d0f56a9997
Fix sanity problem.
7 years ago
Mark D. Roth
aaad0c2e5a
clang-format
7 years ago
Mark D. Roth
b9f34acfe5
Add test for handshake timeout.
7 years ago
ncteisen
0e6b5b3ba3
Un extern the fuzzers
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
Craig Tiller
baa14a975e
Update clang-format to 5.0
7 years ago
Yash Tibrewal
11a518995e
LLVMfuzzer extern C
7 years ago
Yash Tibrewal
77532036b6
BUILD changes. test languauge to C++
7 years ago
Yash Tibrewal
4d71636fcc
some BUILD changes and designated initializers
7 years ago
Yash Tibrewal
e586324627
BUILD files changes for bazel
7 years ago
Yash Tibrewal
34a57d0346
rename all test core files to cc and a lot of C++ style conversions
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
yang-g
fd42ceb1ff
Use key in dynamic table if available
7 years ago
Nicolas "Pixel" Noble
2bc5e3ac40
Moving visibility and package creation to the build system.
7 years ago
Noah Eisen
7e4c1dd4c9
Add fuzzer repro
7 years ago