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%)
2019-03-06 22:15:53 -05:00
Mark D. Roth
a04b0646de
Don't use a separate call context for subchannel calls.
2019-03-04 14:38:02 -08:00
Yash Tibrewal
0c7eb8daf8
Merge branch 'master' into fathom
2018-12-20 16:16:39 -08:00
Yash Tibrewal
30e1991bf9
Update context list test
2018-12-20 13:22:48 -08:00
yang-g
67742ef63f
Fix BUILD files. Manually edit bzl files
2018-12-06 14:37:52 -08:00
yang-g
e75fc243da
change tests to use the new class instead of grpc_test_init
2018-11-30 08:57:38 -08:00
Yash Tibrewal
77ba25ab72
s/int/uint32_t
2018-11-29 02:21:19 -08:00
Yash Tibrewal
9506d35674
Add a byte counter to chttp2_stream and use that for timestamps
2018-11-29 01:26:45 -08:00
Yash Tibrewal
c7e92f26eb
Reviewer comments
2018-11-20 15:03:12 -08:00
Yash Tibrewal
bab043e865
Cleanup
2018-11-16 18:11:42 -08:00
Yash Tibrewal
fc332d2c92
Merge master
2018-11-16 11:11:04 -08:00
Guantao Liu
0c18293e55
Fix the test failure with callback-based polling.
2018-10-05 13:57:33 -07:00
Hope Casey-Allen
4cc1cd7baa
Add needed include
2018-09-19 14:12:24 -07:00
Hope Casey-Allen
327c514fe7
Some reorganizing to respond to code review comments
2018-09-19 13:50:25 -07:00
Hope Casey-Allen
5b27941372
Even cleaner implementation that does not modify the grpc_mdelem struct.
2018-09-12 16:34:38 -07:00
Hope Casey-Allen
fbe594beeb
Much cleaner approach that should address code review comments as well
2018-09-10 22:19:40 -07:00
Hope Casey-Allen
97cbec1c98
WIP. Setting md_index to 0 on grpc_linked_mdelem creation
2018-09-08 17:48:42 -07:00
Hope Casey-Allen
4181c8cd37
Zero out linked_mdelem when created in test
2018-09-06 20:41:06 -07:00
Yash Tibrewal
9c5bde5e4e
More commits
2018-08-26 03:50:39 -07:00
adelez
5bdd9a8cb9
Revert "Revert "Add suppressions to sanitizers for bazel builds""
2018-06-15 16:31:21 -07:00
Nicolas Noble
43557fee0b
Revert "Add suppressions to sanitizers for bazel builds"
2018-06-14 10:49:11 -07:00
Adele Zhou
4cd659505c
Add data param to grpc_cc_library
2018-06-13 15:36:28 -07:00
ncteisen
eb2aa9cb3b
Tighten the bar and refactor and offender:
2018-06-07 22:28:16 -07:00
Juanli Shen
7b50c5533b
Merge pull request #15418 from AspirinSJL/smaller_hpack
...
Decrease GRPC_CHTTP2_HPACKC_NUM_VALUES
2018-06-01 20:03:08 -07:00
Juanli Shen
3c3f3ad75a
Decrease GRPC_CHTTP2_HPACKC_NUM_VALUES
2018-06-01 10:21:14 -07:00
Sree Kuchibhotla
1dd12c084a
Fix some more formatting issues
2018-04-16 12:09:37 -07:00
Yash Tibrewal
c0cd82faed
Remove unnecessary includes of exec_ctx.h
2018-03-14 15:33:57 -07:00
Mark D. Roth
3d8b32d8b3
Convert byte_stream API to C++.
2018-03-09 13:25:40 -08:00
Mark D. Roth
718c8341ca
Retry support.
2018-02-28 13:00:04 -08:00
Muxi Yan
6c9a87c174
Polish infer_length_after_decode and add test cases
2018-02-21 16:06:25 -08:00
Noah Eisen
4d20a66685
Run clang fmt
2018-02-09 09:34:04 -08:00
Noah Eisen
be82e64b3d
Autofix c casts to c++ casts
2018-02-09 09:16:55 -08:00
Vijay Pai
d4d0a30c6f
Privatize useful.h and avl.h
2018-02-02 09:16:44 -08:00
Jan Tattermusch
8376749faa
fix EventState::done() data race
2018-01-30 12:17:44 +01:00
Mark D. Roth
dbdf495f61
Split lib/support into lib/gpr and lib/gpr++.
2018-01-18 11:21:12 -08:00
Vijay Pai
9423c274cd
Need to include functional to use std::bind
2018-01-08 14:22:47 -08:00
Yash Tibrewal
8cf1470a51
Revert "Revert "All instances of exec_ctx being passed around in src/core removed""
2017-12-06 09:47:54 -08:00
Yash Tibrewal
ad4d2dde00
Revert "All instances of exec_ctx being passed around in src/core removed"
2017-12-06 09:05:05 -08:00
Yash Tibrewal
73bb67d054
Merge master into execctx
2017-12-05 17:49:11 -08:00
Mark D. Roth
e109ddf89f
Merge remote-tracking branch 'upstream/master' into server_connection_timeout
2017-12-01 08:56:25 -08:00
Yash Tibrewal
36522e9f80
Merge master after no Extern C changes
2017-11-30 17:47:36 -08:00
Yash Tibrewal
c354269ba7
Remove _ prefixed variable names
2017-11-29 19:07:44 -08:00
Mark D. Roth
ca014e4d5e
Clean up semantics of test code.
2017-11-29 11:34:58 -08:00
Yash Tibrewal
81fc8c9c33
Fix tests to call grpc_init and grpc_shutdown before using exec_ctx
2017-11-28 13:23:36 -08:00
ncteisen
fe354eb807
Fix the fuzzers
2017-11-28 12:05:14 -08:00
Mark D. Roth
39dd9aa439
Fix BUILD file.
2017-11-27 13:50:33 -08:00
Mark D. Roth
d0f56a9997
Fix sanity problem.
2017-11-27 09:38:55 -08:00
Mark D. Roth
aaad0c2e5a
clang-format
2017-11-27 08:31:50 -08:00
Yash Tibrewal
a13a8c0f3e
A few src/core fixes due to missing exec_ctx_finish
2017-11-21 19:38:09 -08:00
Yash Tibrewal
7486144de0
Merge master
2017-11-21 16:52:06 -08:00