Commit Graph

950 Commits

Author SHA1 Message Date
Craig Tiller 91a2db9bc2
Make deadline the first metadata trait (#27468) 2021-09-28 10:09:04 -07:00
Mark D. Roth dbade1f5e7
Revert "Revert "pass subchannel address separately instead of as a channel arg (#27443)" (#27489)" (#27491)
This reverts commit 20cc6e7414.
2021-09-28 09:54:07 -07:00
Craig Tiller 9b41852a5e
channel_init --> core configuration system (#27347)
* channel_init --> core configuration system

* Automated change: Fix sanity tests

* fixes

* Automated change: Fix sanity tests

* fixes

* fixes

* eliminate grpc_base_c

* fixes

* fix merge

* fix

* update visibility

* fixes

* feedback

* fix comment

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-09-27 15:51:39 -07:00
Vignesh Babu 20cc6e7414
Revert "pass subchannel address separately instead of as a channel arg (#27443)" (#27489)
This reverts commit 57982f0ec6.
2021-09-27 10:42:16 -07:00
Mark D. Roth 57982f0ec6
pass subchannel address separately instead of as a channel arg (#27443)
* pass subchannel address separately instead of as a channel arg

* fix bug

* fix passing address to connector

* clang-format

* fix build of bm_call_create

* revert to C-style semantics for grpc_resolved_address

* fix msan bugs
2021-09-25 07:59:47 -07:00
Craig Tiller d4407b7e59
Revert "Remove dead code (#27445)" (#27461)
This reverts commit 693f36f91c.
2021-09-23 12:56:40 -07:00
Craig Tiller 693f36f91c
Remove dead code (#27445)
* Remove dead code

* Automated change: Fix sanity tests

* build

* remove benchmark

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-09-22 19:31:00 -07:00
Esun Kim 47586fb36e
Revert "Revert "Added absl::Status support to error_utils (#27358)" (#27418)" (#27429)
This reverts commit 933676c56c.
2021-09-21 14:42:57 -07:00
Craig Tiller 933676c56c
Revert "Added absl::Status support to error_utils (#27358)" (#27418)
This reverts commit 9b3f75d322.
2021-09-21 09:48:57 -07:00
Craig Tiller b669a3c521
Revert "Revert "a useful change (#27381)" (#27411)" (#27412)
This reverts commit 5db17f7350.
2021-09-20 19:46:11 -07:00
Esun Kim 9b3f75d322
Added absl::Status support to error_utils (#27358) 2021-09-20 18:03:17 -07:00
Craig Tiller 9872da79a1
Eliminate grpc_metadata_batch_{init,destroy,move} (#27349)
* Eliminate grpc_metadata_batch_{init,destroy,move}

* fixes

* fixes

* fixes

* fixes

* portability fixes

* fixes

* fix

* fix

* fix

* be explicit about being explicit
2021-09-20 17:25:26 -07:00
Craig Tiller 5db17f7350
Revert "a useful change (#27381)" (#27411)
This reverts commit 11eb70bbed.
2021-09-20 10:30:59 -07:00
Craig Tiller 11eb70bbed
a useful change (#27381)
* a useful change

* Automated change: Fix sanity tests

* fix

* fix

* QsortCompare it is!

* Automated change: Fix sanity tests

* add missing header

* clang-tidy fixes, tweak clamp to only use <

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-09-20 09:13:27 -07:00
Craig Tiller fd233193ec
Encapsulate metadata aggregates (#27262)
* Encapsulate metadata aggregates

* Automated change: Fix sanity tests

* add const

* Automated change: Fix sanity tests

* add a comment about an awful api

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-09-14 09:45:38 -07:00
Craig Tiller ea389c00c2
Adjust include order per style guide (#27175)
Introduce clang-format configuration to sort includes closer to our rules.
2021-09-08 12:14:44 -07:00
Craig Tiller dc701787e2
Convert HPACK encoder to C++ (#27226)
* Rebuild HPACK encoder table as C++

* move comment

* incguards

* build

* Automated change: Fix sanity tests

* c++ initialization ftw

* Automated change: Fix sanity tests

* Add missing header

* Add missing header

* Begin converting HPACK encoder to c++

* First pass conversion to c++

* fixes

* Automated change: Fix sanity tests

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-09-07 14:28:06 -07:00
Craig Tiller b062fcd5c6
Ensure consistency of include style for <grpc.* headers (#27233)
* Add a tool to ensure consistency in how grpc public headers are included

* Apply tool

* add to test suite

* isort
2021-09-02 11:42:33 -07:00
AJ Heller d10617edb5
Move resource_user ownership into chttp2 transport/server/connector v2 (#27032)
Reintroducing PR #26643, which was reverted in #27029

Fixed a memory leak and added a test that would have caught it (ASAN build): ca0c8c4
2021-08-18 17:04:00 -07:00
Craig Tiller f5d3ed2db1
Revert "Move resource_user ownership into chttp2 transport/server/connector (#26643)" (#27029)
This reverts commit d1935a65a1. Will be rolled forward with a fix.
2021-08-16 19:07:39 -07:00
AJ Heller d1935a65a1
Move resource_user ownership into chttp2 transport/server/connector (#26643) 2021-08-16 13:50:56 -07:00
Craig Tiller bbea27de46
Reland HPACK parsing changes (#26997)
* Revert "Revert "HPACK Table --> C++ (#26851)" (#26995)"

This reverts commit 840bcce9c4.

* fix bad parsing of trailing === in binary metadata
2021-08-13 10:57:42 -07:00
Craig Tiller 840bcce9c4
Revert "HPACK Table --> C++ (#26851)" (#26995)
This reverts commit 83bcb0cf2e.
2021-08-12 11:20:19 -07:00
Craig Tiller 83bcb0cf2e
HPACK Table --> C++ (#26851)
* Buffer HPACK parsing until the end of a header boundary

HTTP2 headers are sent in (potentially) many frames, but all must be
sent sequentially with no traffic intervening.

This was not clear when I wrote the HPACK parser, and still indeed quite
contentious on the HTTP2 mailing lists.

Now that matter is well settled (years ago!) take advantage of the fact
by delaying parsing until all bytes are available.

A future change will leverage this to avoid having to store and verify
partial parse state, completely eliminating indirect calls within the
parser.

* maybe fixes

* xx

* fix boundary detection

* clang-format

* Revert "xx"

This reverts commit 258d712ed3.

* fix tests

* add missed check

* fixes

* fix

* update tests

* fix benchmark

* properly unref

* optimize final slice refcounting

* cleanup bm_chttp2_hpack

* start

* new parser progress

* refinement

* get it compiling

* bug-fix

* build files

* clang-tidy

* fixes

* fixes

* fixes

* fix-leaks

* clang-tidy

* comments

* fix merge error

* Revert "Buffer HPACK parsing until the end of a header boundary (#26700)"

This reverts commit 8bab3e4bf4.

* streaming hpack parser start

* streaming parser

* clang-format

* Rework HPackTable into C++

* clang-tidy

* fix merge

* actually set the size of the entries array

* better
2021-08-09 16:07:41 -07:00
Craig Tiller 613b90ba93
Revert "Buffer HPACK parsing until the end of a header boundary (#26700)" (#26825)
This reverts commit 8bab3e4bf4.
2021-07-29 11:22:47 -07:00
Craig Tiller 8bab3e4bf4
Buffer HPACK parsing until the end of a header boundary (#26700)
HTTP2 headers are sent in (potentially) many frames, but all must be
sent sequentially with no traffic intervening.

This was not clear when I wrote the HPACK parser, and still indeed quite
contentious on the HTTP2 mailing lists.

Now that matter is well settled (years ago!) take advantage of the fact
by delaying parsing until all bytes are available.

A future change will leverage this to avoid having to store and verify
partial parse state, completely eliminating indirect calls within the
parser.
2021-07-28 15:36:51 -07:00
Craig Tiller d3e5803cb2
Move HPACK parser to C++ (#26689)
This is a fairly low effort migration of the current codebase into a C++ class, instead of free standing C code.
It builds upon #26657 as a necessary first step.
I've tried to minimize any changes to semantics or logic in this change, except where required to get a minimal amount of encapsulation - which is the major aim of this change.

A future change in this series will buffer slices until all HPACK headers are in memory for a stream prior to decoding -- it's important to have an encapsulated API to the parser before doing so however (hence this CL).

The next change after that will be an almost complete rewrite of the parsing functionality -- since we'll have the total set of header bytes, we'll no longer need to support suspending decoding at arbitrary points. This will allow us to move to a simple recursive descent parser, eliminate a bunch of indirection in this code, and end up in a much more malleable place for when we start doing metadata API changes.

(we likely also end up with some good performance wins!)
2021-07-15 13:51:23 -07:00
Vijay Pai ea4b68e7a1
Drop experimental tags from core callback API (#26535) 2021-06-24 17:20:43 -07:00
Vijay Pai 8aff94558c
De-experimentalize C++ callback API (#25728)
* De-experimentalize callback API

* Make FromServerContext based on ServerContextBase

* Fix lambda

* Fix headers

* De-experimentalize tests

* clang-format

* Fix consistency checks

* wip

* Fix const-ness of callback client read RPC requests

* Fix golden file

* Give full route_guide callback client example with Hold etc

* Complete example route-guide server

* De-experimentalize test services

* Omit unneeded using

* Remove some uses of non-experimental macro from test

* clang-format examples

* De-experimentalize async stub calls

* Remove experimental namespace use in qps, ubms

* De-experimentalize alarms, generic stubs, and context allocator

* De-experimentalize SetContextAllocator

* clang-format

* Fix conflicts

* Leave obsolete API in place until users can be migrated
2021-05-27 14:55:25 -07:00
Vijay Pai 0f80378a21
Resolve race between OnReadDone(ok=false) and IsCancelled (#26245)
* Resolve and test race between OnReadDone(ok=false) and IsCancelled

* Fix retry case

* Fix health check case

* Address reviewer comments.

* ADD TODO requested by markdroth
2021-05-19 14:05:46 -07:00
Esun Kim ca945a58e9
Introduced grpc_error_handle (#25902)
- Define grpc_error_handle
- Replace grpc_error* with grpc_error_handle
2021-04-22 12:00:28 -07:00
Mark D. Roth 3f19333ced
Move retry code into its own filter in the DynamicFilter stack (#25820)
* rename ChannelData to ClientChannel

* make ClientChannel class definition public

* move retry code to its own filter

* move LB call factory method to ClientChannel class

* move dynamic termination filter out of ClientChannel class

* update comments

* remove retry parsing from client channel service config parser

* fix clang-tidy

* fix service_config_test

* clang-format
2021-03-31 15:39:14 -07:00
Yash Tibrewal 7021b72d1f
Revert Revert Xds Status Notifier (#25718)
* Revert "Revert "xDS status notifier (#25321)" (#25702)"

This reverts commit 3c9f3972e3.

* Remove connection from map when OnClose is not registered

* Reviewer comments
2021-03-15 14:29:06 -07:00
Yash Tibrewal 3c9f3972e3
Revert "xDS status notifier (#25321)" (#25702)
This reverts commit 81e90432e1.
2021-03-12 08:54:34 -08:00
Yash Tibrewal 81e90432e1
xDS status notifier (#25321)
* Serving status notification for xds enabled servers
2021-03-08 21:47:13 -08:00
apolcyn 0901c9914b
Remove CAS loops in global subchannel pool and simplify subchannel refcounting (#25485) 2021-03-04 20:29:34 -08:00
AJ Heller 0e3a02e903
Revert "Remove the `urgent` argument from iomgr tcp read API (#25494)" (#25592)
This reverts commit a3398f9. Justification: see b/181367644. tl;dr: assuming urgent==false does not hold in all situations.
2021-03-01 22:04:22 -08:00
AJ Heller a3398f924c
Remove the `urgent` argument from iomgr tcp read API (#25494)
The urgent argument is a platform-specific flag that leaked into the (ideally) platform-independent HTTP/2 transport layer. In an effort to clean up the cross-platform API surface, it would be helpful if we can remove this argument from the TCP Read api without losing the performance optimization that was introduced along with it (see #18240).
2021-02-24 12:30:14 -08:00
Vijay Pai af76d0321a
Restore callback microbenchmarks but make them manual for now (#25491) 2021-02-19 13:36:11 -08:00
Vijay Pai 0e6db8fbec
Reduce max size of bm_callback_streaming_ping_pong messages to match unary 2021-02-17 09:55:45 -08:00
Vijay Pai dba8bb59a0 Implement callback CQ at C++ layer using shared thread pool if non-background iomgr 2021-02-16 16:02:23 -08:00
Yash Tibrewal f4e55b85bc Replace disrespectful term 2021-02-08 15:29:53 -08:00
Esun Kim 9bd7c4917a Fix unused-parameter warning 2021-01-19 18:18:09 -08:00
Esun Kim 53ab235fb8 Fix google-explicit-constructor 2020-12-03 15:03:39 -08:00
Esun Kim e0d8c498a6 C++ cast for others 2020-11-30 17:36:21 -08:00
Esun Kim 2ff84ed8c2 C++ cast for void* 2020-11-30 17:29:15 -08:00
Esun Kim ec0b88a5d7 Fix google-readability-casting 2020-11-30 17:27:51 -08:00
Esun Kim 75e3e660fd Fix google-readability-todo 2020-11-25 10:09:42 -08:00
capstan 131579d52d Roll forward of commit 7883b51: Use abseil's flags in tests.
This replaces gflags. Added TODOs where use of `absl::Duration` or `absl::FlagSaver` might be preferred in follow-up cleanup. Fixes #24493.

This reverts commit da66b7d14e.

NEW:
* Adds references to `absl/flags/declare.h`, new to LTS 2020923.2 imported in commit 5b43440.
* Works around MSVC 2017 compiler error with large help text on flags by reducing the help text.
2020-11-06 16:07:19 +01:00
Nathan Herring da66b7d14e
Revert "Abseil Flags" 2020-10-24 15:19:55 -07:00
capstan 7883b5133d Use abseil's flags in tests.
This replaces gflags. Added TODOs where use of `absl::Duration` or `absl::FlagSaver` might be preferred in follow-up cleanup. Fixes #24493.
2020-10-23 19:36:33 +02:00
Esun Kim 5b375a3728 Fix by misc-definitions-in-headers 2020-10-19 21:56:17 -07:00
Esun Kim a62a70207c
Merge pull request #24448 from veblush/clang-format-8
Upgrade clang-format 8
2020-10-19 09:29:35 -07:00
Esun Kim 84df61b31a
Merge pull request #24453 from veblush/tidy-modernize-make-unique
[Clang-Tidy] Enable modernize-make-unique
2020-10-16 16:35:08 -07:00
Esun Kim e7434d385e Fix by tidy-modernize-use-override 2020-10-16 14:01:06 -07:00
Esun Kim 6ae8463500 Fix by modernize-make-unique 2020-10-16 13:30:56 -07:00
Esun Kim 34789b2d83 Fix by clang-format-8. 2020-10-16 11:37:18 -07:00
Esun Kim ece76ee1e8 Fix code by readability-container-size-empty 2020-10-16 09:48:20 -07:00
Esun Kim 91ca04cf6f Add TestGrpcScope 2020-09-17 12:41:14 -07:00
Mark D. Roth 7f7a6916f6
Merge pull request #23581 from markdroth/server_c++
Convert grpc_server to idiomatic C++.
2020-08-03 14:45:53 -07:00
Mark D. Roth 0b61aea1c5 Convert grpc_server to idiomatic C++. 2020-08-03 12:56:29 -07:00
Vijay Pai cd20a80a1e
Merge pull request #23653 from vjpai/bm_cq
Properly follow callback CQ API guarantees rather than existing behavior in ubm
2020-08-03 12:39:17 -07:00
Vijay Pai 94a85b051d Expand comment to address reviewer feedback 2020-07-31 14:26:17 -07:00
Michael Wang c6586f087f implemented get_local_address accessor for grpc_endpoint 2020-07-29 19:39:22 +00:00
Vijay Pai 968e1b40a5 Properly follow callback API guarantees rather than existing behavior 2020-07-28 12:42:20 -07:00
Vijay Pai 9c5a39c6db Revert "Merge pull request #23361 from vjpai/em_agnostic_core_callback_cq"
This reverts commit a46cb5e86a, reversing
changes made to b5d42e75fb.
2020-07-28 09:55:43 -07:00
Vijay Pai 9d79ca6058 C++ify core server 2020-07-20 03:15:18 -07:00
Vijay Pai 7ee2bc6db5 EM-agnostic callback completion queue 2020-07-08 16:12:23 -07:00
Vijay Pai b92ca15356
Increase size of a test to match internal guidance 2020-07-06 09:51:05 -07:00
Esun Kim c736cf073c Added call to grpc::testing::TestEnvironment in more tests 2020-07-01 13:27:08 -07:00
Esun Kim 62ac3f075a Added call to grpc::testing::TestEnvironment in tests 2020-07-01 11:37:57 -07:00
Esun Kim 165ee5007a Replaced grpc::string with std::string 2020-06-29 17:56:36 -07:00
Yash Tibrewal e98eaa5052
Revert "Revert "Add message-size check before message decompression"" 2020-06-23 12:19:07 -07:00
Karthik Ravi Shankar 70465c92ec
Merge pull request #23180 from karthikravis/opencensus
Move OpenCensus back to ::grpc from ::grpc_impl
2020-06-23 11:31:43 -07:00
Karthik Ravi Shankar f0d2aff3c7 Merge branch 'master' into opencensus 2020-06-22 17:24:05 -07:00
Vijay Pai c7f2956b67
Revert "Add message-size check before message decompression" 2020-06-22 16:18:36 -07:00
Yash Tibrewal 0497ad8bb0 Add missing message-size check before decompressing
Add and fix tests for limit check before decompression

Code restructuring to allow easy reuse of service config call data

Regenerate projects

Reviewer comments
2020-06-19 14:49:18 -07:00
Karthik Ravi Shankar 7fa6826134 Merge branch 'master' into opencensus 2020-06-10 17:47:16 -07:00
Karthik Ravi Shankar 89763a96fd Move OpenCensus back to ::grpc from ::grpc_impl
Revert - Revert "Revert "Fold opencensus into grpc_impl namespace"" #18396
2020-06-10 17:36:58 -07:00
Esun Kim 92d31d6f99 Remove the flaky flag from bm_opencensus_plugin 2020-05-04 11:41:09 -07:00
Esun Kim 234b356e2f Fix the flaky bm_opencensus_plugin 2020-04-29 09:35:57 -07:00
Vijay Pai 527509abc4 Unmark flaky on streaming_pump 2020-04-08 10:31:47 -07:00
Vijay Pai f1979cece2 Disable SockPair fixture 2020-04-08 08:41:54 -07:00
Jan Tattermusch a791e16983 mark more tests as flaky 2020-03-17 05:32:17 -04:00
Jan Tattermusch 880111fe47
Merge pull request #22355 from jtattermusch/bm_metadata_not_flaky
bm_metadata is not flaky anymore
2020-03-16 18:14:25 +01:00
Vijay Pai b4f0cad4bd
bm_arena needs more time
Internal tests show that it needs a large timeout. This has passed 100x without timeout.
2020-03-16 08:12:15 -07:00
Jan Tattermusch 29528fc026 bm_metadata is not flaky anymore 2020-03-16 03:07:25 -04:00
Yash Tibrewal b40b162cc9 Add missing grpc_slice_unref to bm_metadata 2020-03-13 18:28:16 -07:00
Jan Tattermusch cbb0ef2717 try marking some offenders as flaky 2020-02-27 22:37:32 -05:00
Jan Tattermusch 543d8796f0 dont build some microbenchmarks on windows 2020-02-26 19:56:49 -05:00
Esun Kim b92c3a2879 Changed Closure to TestClosure to avoid name conflict 2020-02-18 17:25:55 -08:00
Yash Tibrewal b18ae4b784 Add notap tag to tests that cause issues timeout issues internally 2020-02-18 12:31:46 -08:00
Jan Tattermusch 5e19408ef5 disable bm_chttp2_transport on msan 2020-02-18 03:20:18 -08:00
Jan Tattermusch cb6d09ac21 add missing bm_pollset and bm_chttp2_transport targets to bazel build 2020-02-18 02:34:42 -08:00
Vijay Pai f7d857a8e4 Make threadpool and trickle tests manual only (excessive time/resources) 2020-02-13 10:12:12 -08:00
Vijay Pai 1513f3a7b4 Reduce unneeded sizes and disable tests on mac for resource limits 2020-02-13 09:34:15 -08:00
Vijay Pai 0c0f3f0556 Declare microbenchmarks as tests rather than binaries, fix issues 2020-02-13 09:34:15 -08:00
Vijay Pai 2678afe310 Stop using core server shutdown in microbenchmarks 2020-01-21 14:24:42 -08:00
Lidi Zheng d5d6914751 Make buildifier sanity test fail-able 2019-12-18 16:16:49 -08:00
Jan Tattermusch 5d352ded8b disable a few macos bazel tests 2019-11-25 13:35:26 +01:00
Vijay Pai be6979202b Revamp server-side C++ callback API, message allocator, and mocking 2019-11-20 16:56:18 -08:00
Yash Tibrewal 79aa21fa71 Reviewer comments 2019-11-13 14:14:02 -08:00
Yash Tibrewal 61020b55f9 Remove GRPC_CLOSURE_LIST_SCHED and remove scheduler field from grpc_closure 2019-11-12 18:23:29 -08:00
Yash Tibrewal d60b60a837 Reviewer comments 2019-11-08 10:45:50 -08:00
Yash Tibrewal fe88f14410 Merge branch 'master' into removrun 2019-11-07 15:13:03 -08:00
Esun Kim 3a519a0b64 Replaced grpc_core New & Delete with C++ new & delete 2019-11-06 17:52:26 -08:00
Lidi Zheng c34bef4ca4 Format all Bazel files with buildifier 2019-11-05 14:03:52 -08:00
Yash Tibrewal 08ba7246c0 Remove GRPC_CLOSURE_RUN and replace with grpc_core::Closure::Run 2019-11-01 16:21:16 -07:00
Yash Tibrewal 3a189d7e08 test changes 2019-10-31 17:09:38 -07:00
Vijay Pai e35c869aaf Remove unused-parameter warnings, round 2 (19 of 19) 2019-10-21 09:16:35 -07:00
Yash Tibrewal 780d41224c Squashed commit of the following:
commit 1547cb209a
Author: Yash Tibrewal <yashkt@google.com>
Date:   Fri Oct 18 13:12:55 2019 -0700

    Revert some other GRPC_CLOSURE_RUN till other issues are fixed

commit 3edeee7ce9
Merge: 22b343e4fb e8f78e7a5d
Author: Yash Tibrewal <yashkt@google.com>
Date:   Fri Oct 18 12:26:26 2019 -0700

    Merge branch 'master' into combinernew

commit 22b343e4fb
Author: Yash Tibrewal <yashkt@google.com>
Date:   Fri Oct 18 12:22:34 2019 -0700

    Change some TCP posix closures to GRPC_CLOSURE_RUN

commit 19e60dfe8f
Merge: 153bdcbc97 feae38d3ab
Author: Yash Tibrewal <yashkt@google.com>
Date:   Thu Oct 17 11:56:46 2019 -0700

    Merge branch 'master' into combinernew

commit 153bdcbc97
Author: Yash Tibrewal <yashkt@google.com>
Date:   Thu Oct 17 11:41:14 2019 -0700

    Proxy fixture fix

commit c6da80bcce
Merge: 6a32264cdf 98abc22f4c
Author: Yash Tibrewal <yashkt@google.com>
Date:   Fri Oct 11 17:05:18 2019 -0700

    Merge branch 'master' into combinernew

commit 6a32264cdf
Author: Yash Tibrewal <yashkt@google.com>
Date:   Fri Oct 11 17:01:55 2019 -0700

    Reviewer comments

commit 6bbd3a1c3c
Author: Yash Tibrewal <yashkt@google.com>
Date:   Thu Oct 10 11:55:43 2019 -0700

    Fallback cleanup

commit aaa04526a2
Author: Yash Tibrewal <yashkt@google.com>
Date:   Thu Oct 10 11:24:18 2019 -0700

    Clean up

commit 4266be13d5
Author: Yash Tibrewal <yashkt@google.com>
Date:   Thu Oct 10 11:20:05 2019 -0700

    Make sure start_ping is called before finish_ping for bdp and keepalive

commit 14107957aa
Author: Yash Tibrewal <yashkt@google.com>
Date:   Wed Oct 9 18:56:07 2019 -0700

    chttp2 fixes

commit 5643aa6cb3
Author: Yash Tibrewal <yashkt@google.com>
Date:   Wed Oct 9 18:25:19 2019 -0700

    Remove closure list scheduling from combiners

commit c596449430
Author: Yash Tibrewal <yashkt@google.com>
Date:   Wed Oct 9 17:35:54 2019 -0700

    ares windows fix

commit 9f933903b9
Author: Yash Tibrewal <yashkt@google.com>
Date:   Wed Oct 9 17:23:11 2019 -0700

    More fixes

commit 3c3a7d0e9b
Author: Yash Tibrewal <yashkt@google.com>
Date:   Wed Oct 9 16:08:07 2019 -0700

    Fix errors

commit 56539cc448
Author: Yash Tibrewal <yashkt@google.com>
Date:   Wed Oct 9 15:22:28 2019 -0700

    Everything compiles

commit 714ec01e4b
Author: Yash Tibrewal <yashkt@google.com>
Date:   Wed Oct 9 13:44:18 2019 -0700

    src compiles

commit 54dcbd170d
Author: Yash Tibrewal <yashkt@google.com>
Date:   Wed Oct 9 13:16:08 2019 -0700

    chttp2_transport changes

commit 7a3388b077
Author: Yash Tibrewal <yashkt@google.com>
Date:   Tue Oct 8 18:33:55 2019 -0700

    resource quota and lb policy

commit 714e4c849f
Author: Yash Tibrewal <yashkt@google.com>
Date:   Tue Oct 8 17:23:04 2019 -0700

    Further

commit 1d17ad7d44
Author: Yash Tibrewal <yashkt@google.com>
Date:   Tue Oct 8 13:34:52 2019 -0700

    ares ev driver windows changes

commit 3110c062c5
Author: Yash Tibrewal <yashkt@google.com>
Date:   Tue Oct 8 12:47:37 2019 -0700

    ares dns changes

commit 0e10bc17ea
Author: Yash Tibrewal <yashkt@google.com>
Date:   Tue Oct 8 12:24:45 2019 -0700

    Add dns_resolver changes

commit 4a71a911e8
Author: Yash Tibrewal <yashkt@google.com>
Date:   Tue Oct 8 12:08:10 2019 -0700

    Add fake_resolver changes

commit 8610a64ec9
Author: Yash Tibrewal <yashkt@google.com>
Date:   Mon Oct 7 19:31:13 2019 -0700

    Remaning one from xds_client

commit 5f22055d0d
Author: Yash Tibrewal <yashkt@google.com>
Date:   Mon Oct 7 18:47:28 2019 -0700

    One left from xds_client.cc

commit 4b1223f875
Author: Yash Tibrewal <yashkt@google.com>
Date:   Mon Oct 7 17:17:12 2019 -0700

    modifications for xds.cc

commit a17bbbd840
Author: Yash Tibrewal <yashkt@google.com>
Date:   Mon Oct 7 13:06:25 2019 -0700

    grpclb.cc changes

commit 3a33ed4762
Merge: 11058748fd 3d363368ca
Author: Yash Tibrewal <yashkt@google.com>
Date:   Mon Oct 7 11:24:11 2019 -0700

    Merge branch 'combinernew' of github.com:yashykt/grpc into combinernew

commit 3d363368ca
Author: Yash Tibrewal <yashkt@google.com>
Date:   Mon Oct 7 11:18:00 2019 -0700

    New combiner
2019-10-18 15:07:54 -07:00
Vijay Pai e8f78e7a5d
Merge pull request #20644 from vjpai/remove_warn_17
Remove unused parameter warnings (17 of 20)
2019-10-18 10:32:48 -07:00
Vijay Pai 82e185399d clang-format 2019-10-17 09:08:21 -07:00
Vijay Pai 0cab2084e6 clang-format 2019-10-17 09:08:04 -07:00
Vijay Pai 6ca827a008 Remove unused parameter warning (18 of 20) 2019-10-17 08:52:05 -07:00
Vijay Pai 406b70629a Remove unused parameter warning (17 of 20) 2019-10-17 08:52:00 -07:00
Yash Tibrewal 0a57e9cc69 Fix bm chttp2 transport 2019-10-02 16:14:43 -07:00
Soheil Hassas Yeganeh c9376b4e0b Use cycle clock instead of clock monotonic to measure call latency.
This removes two more getttime syscalls from the hot path, when cycle
clock is enabled.
2019-09-09 10:37:48 -04:00
Arjun Roy 0b06676c9e hpack encoder optimizations.
Removed some cycles and branches from hpack_enc for CH2.
Specifically:
1. Pushed certain metadata key/value length checks to
prepare_application_metadata() in src/core/lib/surface/call.cc.
This means that rather than check all key/val lengths for all metadata, we only
do so for custom added user metadata. Inside CH2, we change the length checks to
debug checks so we can catch if core/filter metadata fails to pass the check.

2. Changed various asserts to debug asserts when able.

3. Refactored some of the header emission code to remove duplicated code.

4. Un-inlined some logging methods.

This results in somewhat faster hpack_encoder performance:

BM_HpackEncoderInitDestroy
222ns ± 0%              221ns ± 0%   -0.29%        (p=0.000 n=34+34)
BM_HpackEncoderEncodeDeadline
[framing_bytes/iter:9 header_bytes/iter:6       ]               135ns ± 1%
124ns ± 0%   -8.05%        (p=0.000 n=39+38)
BM_HpackEncoderEncodeHeader<EmptyBatch>/0/16384
[framing_bytes/iter:9 header_bytes/iter:0       ]              34.2ns ± 0%
34.2ns ± 0%   -0.01%        (p=0.014 n=34+38)
BM_HpackEncoderEncodeHeader<EmptyBatch>/1/16384
[framing_bytes/iter:9 header_bytes/iter:0       ]              34.2ns ± 0%
34.2ns ± 0%   -0.04%        (p=0.004 n=34+37)
BM_HpackEncoderEncodeHeader<SingleStaticElem>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1       ]              47.5ns ± 0%
45.9ns ± 0%   -3.28%        (p=0.000 n=28+38)
BM_HpackEncoderEncodeHeader<SingleInternedKeyElem>/0/16384
[framing_bytes/iter:9 header_bytes/iter:6       ]              77.0ns ± 1%
68.3ns ± 1%  -11.33%        (p=0.000 n=39+40)
BM_HpackEncoderEncodeHeader<SingleInternedElem>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1       ]              47.7ns ± 1%
45.5ns ± 0%   -4.63%        (p=0.000 n=39+33)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<1, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1       ]              47.2ns ± 0%
45.3ns ± 0%   -3.96%        (p=0.000 n=33+34)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<3, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1       ]              47.7ns ± 0%
45.6ns ± 0%   -4.54%        (p=0.000 n=38+40)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<10, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1       ]              47.7ns ± 0%
45.5ns ± 0%   -4.63%        (p=0.000 n=39+32)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<31, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1       ]              47.8ns ± 0%
45.6ns ± 1%   -4.59%        (p=0.000 n=38+39)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<100, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1       ]              47.8ns ± 0%
45.5ns ± 0%   -4.64%        (p=0.000 n=39+36)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<1, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1       ]              47.3ns ± 0%
45.3ns ± 0%   -4.09%        (p=0.000 n=38+36)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<3, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1       ]              47.8ns ± 1%
45.6ns ± 0%   -4.71%        (p=0.000 n=37+40)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<10, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1       ]              47.7ns ± 0%
45.5ns ± 0%   -4.66%        (p=0.000 n=39+32)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<31, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1       ]              47.8ns ± 1%
45.6ns ± 1%   -4.62%        (p=0.000 n=37+39)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<100, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1       ]              47.7ns ± 0%
45.5ns ± 0%   -4.67%        (p=0.000 n=38+32)
BM_HpackEncoderEncodeHeader<SingleNonInternedElem>/0/16384
[framing_bytes/iter:9 header_bytes/iter:9       ]              80.5ns ± 1%
74.7ns ± 0%   -7.16%        (p=0.000 n=38+35)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<1, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:12      ]               105ns ± 1%
99ns ± 0%   -5.91%        (p=0.000 n=38+34)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<3, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:14      ]               111ns ± 1%
106ns ± 1%   -4.86%         (p=0.020 n=39+2)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<10, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:23      ]               135ns ± 0%
130ns ± 0%   -3.45%         (p=0.020 n=35+2)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<31, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:46      ]               225ns ± 1%
223ns ± 0%   -0.91%         (p=0.003 n=37+2)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<100, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:120     ]               467ns ± 0%
472ns ± 0%   +1.09%         (p=0.003 n=38+2)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<1, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:12      ]              81.6ns ± 1%
74.8ns ± 0%   -8.40%        (p=0.000 n=37+33)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<3, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:14      ]              82.0ns ± 1%
74.8ns ± 0%   -8.80%        (p=0.000 n=37+32)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<10, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:21      ]              82.1ns ± 1%
74.9ns ± 0%   -8.86%        (p=0.000 n=35+34)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<31, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:42      ]              97.6ns ± 2%
91.8ns ± 0%   -5.95%        (p=0.000 n=35+27)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<100, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:111     ]              97.2ns ± 1%
91.2ns ± 2%   -6.19%        (p=0.000 n=37+38)
BM_HpackEncoderEncodeHeader<SingleNonInternedElem>/0/1
[framing_bytes/iter:54 header_bytes/iter:9      ]               230ns ± 0%
221ns ± 0%   -3.91%        (p=0.000 n=38+37)
BM_HpackEncoderEncodeHeader<MoreRepresentativeClientInitialMetadata>/0/16384
[framing_bytes/iter:9 header_bytes/iter:16      ]               206ns ± 2%
170ns ± 1%  -17.51%        (p=0.000 n=39+39)
BM_HpackEncoderEncodeHeader<RepresentativeServerInitialMetadata>/0/16384
[framing_bytes/iter:9 header_bytes/iter:3       ]              66.4ns ± 2%
62.5ns ± 1%   -5.85%        (p=0.000 n=34+39)
BM_HpackEncoderEncodeHeader<RepresentativeServerTrailingMetadata>/1/16384
[framing_bytes/iter:9 header_bytes/iter:1       ]              47.5ns ± 0%
45.9ns ± 1%   -3.29%        (p=0.000 n=26+38)
2019-09-06 13:43:29 -07:00
Vijay Pai 9bb1247bdb
Merge pull request #16327 from vjpai/keep_running
C++ microbenchmarks: update from KeepRunning to range-based for
2019-09-05 11:07:53 -07:00
Arjun Roy 6175294416
Merge pull request #20014 from arjunroy/on_hdr_nobranch
s/branch/tail_call/ for CH2 on_hdr().
2019-09-03 12:44:56 -07:00
Hope Casey-Allen 32801fb5eb Remove build target for microbenchmark 2019-08-29 14:11:05 -07:00
Vijay Pai 1077b3435c Use range-based for on state rather than state.KeepRunning when possible 2019-08-29 11:27:00 -07:00
Arjun Roy b46e3668d3 s/branch/tail_call/ for CH2 on_hdr().
on_hdr() checks if a void-return function pointer is null before jumping to it.
If it is null, it returns an error; else it executes that function and returns
success.

This change converts the void-returning function to one that returns a
grpc_error* and thus saves a branch in on_hdr() (since we're branching once by
following the function pointer anyways, we're effectively coalescing these two
branches).
2019-08-28 13:06:11 -07:00
Hope Casey-Allen 6dfe27ab08 Fix race in bm_chttp2_transport 2019-08-28 10:07:38 -07:00
Mark D. Roth 0bdeca47b6
Merge pull request #19038 from markdroth/lb_policy_create_channel_api_improvement
Remove CreateChannel() method from LB helper API.
2019-08-27 10:54:52 -07:00
Hope Casey-Allen 59564ebd96 Fix warnings to unblock gcc8 support 2019-08-20 16:02:53 -07:00
Mark D. Roth a23e7ab188 Merge remote-tracking branch 'upstream/master' into lb_policy_create_channel_api_improvement 2019-08-20 07:58:38 -07:00
Arjun Roy 557446a11e Added specializations for grpc_mdelem_create.
In several cases, we create grpc mdelem structures using known-static
metadata inputs. Furthermore, in several cases we create a slice on
the heap (e.g. grpc_slice_from_copied_buffer) where we know we are
transferring refcount ownership. In several cases, then, we can:

1) Avoid unnecessary ref/unref operations that are no-ops (for static
   slices) or superfluous (if we're transferring ownership).
2) Avoid unnecessarily comprehensive calls to grpc_slice_eq (since
   they'd only be called with static or interned slice arguments,
   which by construction would have equal refcounts if they were
   in fact equal.
3) Avoid unnecessary checks to see if a slice is interned (when we
   know that they are).

To avoid polluting the internal API, we introduce the notion of
strongly-typed grpc_slice objects. We draw a distinction between
Internal (interned and static-storage) slices and Extern (inline and
non-statically allocated). We introduce overloads to
grpc_mdelem_create() and grpc_mdelem_from_slices() for the fastpath
cases identified above based on these slice types.

From the programmer's point of view, though, nothing changes - they
need only use grpc_mdelem_create() and grpc_mdelem_from_slices() as
before, and the appropriate fastpath will be picked based on type
inference. If no special knowledge exists for the slice type (i.e. we
pass in generic grpc_slice objects), the slowpath method will still
always return correct behaviour.

This is good for:
- Roughly 1-3% reduction in CPU time for several unary/streaming
  ping pong fullstack microbenchmarks.
- Reduction of about 15-20% in CPU time for some hpack parser
  microbenchmarks.
- 10-12% reduction of CPU time for metadata microbenchmarks involving
  interned slice comparisons.
2019-07-30 17:07:44 -07:00
yunjiaw26 f14f1dd61d
Merge pull request #19695 from yunjiaw26/bm_threadpool
Add threadpool benchmark and build files
2019-07-29 18:38:22 -07:00
Yunjia Wang 8318e578db SpikyLoad: construct outside 2019-07-29 10:52:32 -07:00
Yunjia Wang c3c24d089d Use Template 2019-07-29 10:30:09 -07:00
Yunjia Wang d87b5285ca Fix comment 2019-07-24 13:33:24 -07:00
Yunjia Wang efd6946d21 Reformat 2019-07-23 15:35:50 -07:00
Yunjia Wang 9242fe122d AddSelf more scenarios 2019-07-23 09:47:26 -07:00
Mark D. Roth 46f706c99b Revert "Merge pull request #19686 from gnossen/revert_breakage"
This reverts commit 1f2398b0d5, reversing
changes made to 99169d811c.
2019-07-23 07:50:27 -07:00
Yunjia Wang 8278d3e6a5 Resolving comments 2019-07-22 17:24:09 -07:00
Yunjia Wang 847faf407f Removes unused variable error 2019-07-19 12:10:52 -07:00
Yunjia Wang 85314b3fcc Re-format 2019-07-19 10:49:35 -07:00
Yunjia Wang c6bc2b1875 Add threadpool benchmark and build files 2019-07-19 10:23:22 -07:00
Richard Belleville 63b4f3d819 Revert "Merge pull request #19673 from markdroth/channel_grpc_init"
This reverts commit 4e21980716, reversing
changes made to 62b8a783fa.
2019-07-18 13:00:24 -07:00
Mark D. Roth 8cc5b8f680 Defer grpc shutdown until after channel destruction. 2019-07-17 16:35:14 -07:00
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)
2019-07-15 15:39:31 -07:00
Yash Tibrewal 56a0153f16 Heap allocate the stream object for other benchmark cases too 2019-06-14 14:44:49 -07:00
Yash Tibrewal cceca10a8a Fix data race, heap use-after-free issue in bm_chttp2_transport 2019-06-13 17:05:51 -07:00
Mark D. Roth 4f3a55b73d Merge remote-tracking branch 'upstream/master' into lb_policy_create_channel_api_improvement 2019-06-05 13:56:06 -07:00
Mark D. Roth 0f5834b88d Merge remote-tracking branch 'upstream/master' into lb_policy_create_channel_api_improvement 2019-05-29 15:40:24 -07:00
Karthik Ravi Shankar 196b0aa3a3
Revert "Revert "Start supporting a callback-based RPC under lock"" 2019-05-29 13:15:47 -07:00
Karthik Ravi Shankar b790c24e5c
Revert "Start supporting a callback-based RPC under lock" 2019-05-29 11:20:36 -07:00
Mark D. Roth 477ebef532 Remove CreateChannel() method from LB helper API. 2019-05-28 14:18:15 -07:00
Karthik Ravi Shankar b18faa6c95 Fix tsan error 2019-05-23 20:08:45 -07:00
Karthik Ravi Shankar d2c8eb94c9 Fix microbenchmark failures 2019-05-23 18:09:12 -07:00
Karthik Ravi Shankar 3f05ac9584 Merge branch 'master' into callback-rpc-lock 2019-05-22 17:39:08 -07:00
Karthik Ravi Shankar e1f62278e3 Fix clang error 2019-05-22 13:53:10 -07:00
Karthik Ravi Shankar 4f7f561564 Add synchronization to bm test
- since we made the callback run on another thread, add synchronization
in bm tests as well
2019-05-22 10:42:50 -07:00
Karthik Ravi Shankar 40210d3b8a Move Channel to grpc_impl 2019-05-17 09:12:33 -07:00
Karthik Ravi Shankar 772a74aced Revert changes to Channel 2019-05-15 14:24:17 -07:00
Na-Na Pang a02c76dfb9 Cancel predefine number of streaming 2019-05-13 13:29:06 -07:00
Na-Na Pang 87d75d2a88 Add explicit and fix error 2019-05-10 11:23:24 -07:00
Na-Na Pang 7a464a3bc9 Merge remote-tracking branch 'upstream/master' 2019-05-10 11:16:14 -07:00
Karthik Ravi Shankar 476f7cd81f
Merge pull request #18730 from karthikravis/grpc_namespace_channel_new
Fold Channel into grpc_impl from grpc namespace
2019-05-09 14:09:21 -07:00
Na-Na Pang a2daa4ff08 Clean format' 2019-05-09 12:29:05 -07:00
Na-Na Pang 1ea651aee3 Add assertion 2019-05-09 12:22:55 -07:00
Na-Na Pang 9b50fbcaac Solve conflict 2019-05-08 18:50:06 -07:00
Na-Na Pang 762e58b574 Change client context allocation 2019-05-08 17:34:27 -07:00
Na-Na Pang 070902b871 Merge bm_callback_cq to bm_cq 2019-05-08 15:51:58 -07:00
Na-Na Pang 3fc702510f Reuse reactor to send new RPC 2019-05-08 10:15:43 -07:00
Na-Na Pang 2d5a9750a0 Manually add echo.proto to pass Portability build test 2019-05-06 16:20:59 -07:00
Na-Na Pang 1ba5f5c701 Modify build file 2019-05-06 14:55:00 -07:00
Na-Na Pang 32e10e618a address the reference arguments 2019-05-06 10:41:37 -07:00
Na-Na Pang 714e13b426 Delete log 2019-05-06 09:25:46 -07:00
Na-Na Pang c905f76a5b Clang format 2019-05-06 09:18:29 -07:00
Na-Na Pang 4198c4fcc6 Merge remote-tracking branch 'upstream/master' 2019-05-03 10:41:12 -07:00
Na-Na Pang 2787dedd70 Modify dependency of callback_test_service 2019-05-03 10:40:49 -07:00
Na-Na Pang 927c2f2c61 Change format 2019-05-02 17:24:54 -07:00
Na-Na Pang 5748665bc5 Add callback completion queue and modify callback streaming ping pong 2019-05-02 17:21:55 -07:00
Esun Kim e18ed03c04 Made gRPC inialized after entering main function in microbenchmarks. 2019-05-02 16:58:37 -07:00
Na-Na Pang 25128d18c1 Modify unary ping pong to send next rpc in callback function 2019-05-02 15:14:44 -07:00
Na-Na Pang 7d3fdec445 Add microbenchmark for callback completion queue 2019-05-01 11:29:28 -07:00
Na-Na Pang e70d507abe Changes based on comment 2019-04-30 16:32:31 -07:00
Karthik Ravi Shankar e3a0c85960 Merge branch 'master' into grpc_namespace_channel_new 2019-04-30 14:30:03 -07:00
Na-Na Pang b028141f01 Change streaming ping pong args and add comment 2019-04-30 14:24:40 -07:00
Karthik Ravi Shankar bc09c70799
Merge pull request #18454 from grpc/grpc_namespace_channel_arguments
Bring ChannelArguments to grpc_impl from grpc
2019-04-30 10:16:45 -07:00
Na-Na Pang 8bf138d799 Add copyright 2019-04-26 14:29:57 -07:00
Na-Na Pang 57bc124d3f Merge remote-tracking branch 'upstream/master' 2019-04-26 12:03:01 -07:00
Na-Na Pang 875d2df399 Modify build file 2019-04-26 10:52:21 -07:00
Na-Na Pang bbd4eb5028 Add microbenchmark for callback unary ping pong and bidistreaming ping pong 2019-04-26 09:52:12 -07:00
Yash Tibrewal 9345b7e276 s/atleast/at\ least 2019-04-25 17:15:30 -07:00
Arjun Roy 8ce42f67b2 Shrink arena size by 40 bytes and add additional
alignment options (for cache-alignment).

We shrink by:
1) Removing an unnecessary zone pointer.
2) Replacing gpr_mu (40 bytes when using pthread_mutex_t) with
std::atomic_flag.

We also header-inline the fastpath alloc (ie. when not doing a zone
alloc) and move the malloc() for a zone alloc outside of the mutex
critical zone, which allows us to replace the mutex with a spinlock.

We also cache-align created arenas.
2019-04-24 16:39:03 -07:00
Mark D. Roth ce3ff86763 Convert call_combiner to C++. 2019-04-23 15:27:06 -07:00
Karthik Ravi Shankar 858b5cca20 Fix clang_format_code.sh issues and move the internal calls to new name 2019-04-23 11:45:11 -07:00
Nicolas "Pixel" Noble b9a279c030 Resolving ambiguous call to CreateCustomChannel. 2019-04-22 23:53:53 +02:00
Karthik Ravi Shankar 973fa6950e Fold Channel into grpc_impl from grpc namespace 2019-04-11 12:04:23 -07:00
Karthik Ravi Shankar dad3f34207
Revert "Revert "Revert "Folding the Channel class into the grpc_impl namespace.""" 2019-04-10 12:14:04 -07:00
Karthik Ravi Shankar 9875fabdd4 Merge branch 'master' into revert-18076-revert-17797-channel 2019-04-08 12:55:07 -07:00
Karthik Ravi Shankar dcc199048f
Merge pull request #18396 from grpc/revert-18392-revert-18223-grpc_namespace_opencensus
Revert "Revert "Fold opencensus into grpc_impl namespace""
2019-03-29 10:09:01 -07:00
Bill Feng c1b03b68da Merge remote-tracking branch 'upstream/master' into feature/reinstate-rbe-windows 2019-03-28 16:45:41 -07:00
Guantao Liu 872d2787a0 Avoid using grpc_core::Executor when the background poller is available.
Instead, run closures in the background poller. This will generally
avoid the thread hop in the gRPC runtime.
2019-03-25 16:19:08 -07:00
Karthik Ravi Shankar 4e0923e802 Fix errors from clang_format_code.sh 2019-03-25 15:49:22 -07:00
Bill Feng d49cdbd01f Merge remote-tracking branch 'upstream/master' into feature/reinstate-rbe-windows 2019-03-25 14:09:00 -07:00