Commit Graph

834 Commits

Author SHA1 Message Date
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
murgatroid99 dc1bcf8762 Consolidate helper function from windows and libuv 2019-04-22 17:31:55 -07:00
Muxi Yan 9e593f721f build system fix for default CFStream 2019-04-19 14:14:48 -07:00
murgatroid99 41871bf7de Add cares glue for libuv event loop 2019-04-18 17:08:51 -07:00
Soheil Hassas Yeganeh 2b9448a71c Revert "Revert "Introduce C++ wrappers for gpr_mu and gpr_cv.""
This reverts commit d09c9f8e20.
2019-04-17 14:35:29 -04:00
Alexander Polcyn d09c9f8e20 Revert "Introduce C++ wrappers for gpr_mu and gpr_cv."
This reverts commit a26c09dd25.
2019-04-11 16:52:54 -07:00
Soheil Hassas Yeganeh a26c09dd25 Introduce C++ wrappers for gpr_mu and gpr_cv.
Introduce RAII wrappers in the grpc::internal and grpc_core
namespaces, and use them in place of std::mutex and
std::condition_variable.

Note that, since std::mutex is also used by the public
C++ headers we cannot introduce these wrappers in grpc_core.

Also, note that in grpcpp we cannot use gRPC core and vice versa.
So we had to duplicate the code, once using core_codegen_interface
and once using direct calls.
2019-04-08 18:27:07 -04:00
Mark D. Roth eccfecd6a6 Move functions for individual args out of channel_args.{h,cc}. 2019-04-03 13:15:40 -07:00
Muxi Yan 71727d1efb Merge remote-tracking branch 'upstream/master' into default-cfstream-2 2019-04-01 15:34:07 -07:00
Lidi Zheng 1e8ddd7cda
Merge pull request #18584 from lidizheng/bump-version
Bump version to v1.21.0-dev
2019-03-29 17:50:13 -07:00
Lidi Zheng 0231bf3b01 Regenerate projects 2019-03-29 16:24:50 -07:00
Moiz Haidry ba00d3c914 Added a locality map class that maintains a child policy per locality. This is used by the xds lb policy to manage multiple localities. Also added a grpc_core::Map which is a templatized map, that is used by the locality map to maintain this info 2019-03-29 12:50:54 -07:00
Muxi Yan d771bcab2c Merge remote-tracking branch 'upstream/master' into default-cfstream-2 2019-03-28 14:49:15 -07:00
Mark D. Roth 934e31d7d1
Merge pull request #18357 from markdroth/address_list_not_in_channel_args
Restructure how addresses and service config are passed from resolver to LB policy
2019-03-27 11:40:44 -07:00
Mark D. Roth 206592ce9c Restructure how addresses and service config are passed from resolver to LB policy. 2019-03-26 11:57:21 -07:00
Lidi Zheng 450ec5a340 Merge branch 'v1.19.x' 2019-03-26 09:50:18 -07:00
Yihua Zhang b017c801b6 Add SPIFFE security stack to gRPC core 2019-03-14 15:24:48 -07:00
Srini Polavarapu 9e9cc11d2b Regenerate projects 2019-03-07 16:48:38 -08:00
Yash Tibrewal abcd5861eb Nuking the poll-cv polling engine 2019-03-07 14:49:24 -08:00
Mark D. Roth a04b0646de Don't use a separate call context for subchannel calls. 2019-03-04 14:38:02 -08:00
Muxi Yan 44a646bc39 more commits for v1.19.0 2019-02-25 23:25:56 -08:00
Srini Polavarapu d63f008767 Regenerate projects 2019-02-25 09:40:44 -08:00
Mark D. Roth 5f00cfd3bd
Merge pull request #18096 from markdroth/lb_policy_api
Second attempt: LB policy picker API
2019-02-22 10:10:43 -08:00
Soheil Hassas Yeganeh 2bb92f6a98
Merge pull request #18059 from soheilhy/worktree-cpp-atomic
Introduce more helper methods in gprpp/atomic.h
2019-02-20 22:28:17 -05:00
Mark D. Roth aa149fedbb Revert "Merge pull request #18093 from grpc/revert-17770-lb_policy_picker_api"
This reverts commit f327b83706, reversing
changes made to b3b5d63423.
2019-02-19 13:19:24 -08:00
hcaseyal 275296c594
Revert "LB policy picker API" 2019-02-19 11:05:52 -08:00
Soheil Hassas Yeganeh 508c8d805a Introduce more helper methods in gprpp/atomic.h
Retire the old atomic_with_atm.h and atomic_with_std.h as they are not
needed anymore.

Introduce helper methods which call GPR_ATM_INC_ADD_THEN and
GPR_ATM_INC_CAS_THEN, and use them everywhere.

Also introduce AtomicIncrementIfNonzero, originally authored by
vjpai@. This is going to be used for completion queues.
2019-02-15 10:31:12 -05:00
Srini Polavarapu f7f6861720
Merge pull request #18033 from srini100/master
Bump master to v1.20.x and pick "godric" for that release
2019-02-13 12:17:12 -08:00
Mark D. Roth bab8123763 LB policy picker API 2019-02-13 08:30:04 -08:00
Srini Polavarapu 8d237ea703 Regenerate projects 2019-02-12 21:29:53 -08:00
Srini Polavarapu b0efc103e3 Regenerate projects 2019-02-12 21:07:42 -08:00
Arjun Roy 195a30bb8b Grpc: Change grpc_handshake and grpc_handshake_mgr to use CPP implementations.
grpc_handshake is renamed to GrpcHandshake, using C++ class definitions
instead of C-style vtable classes. Update callers to use new interfaces.
We use RefCountedPtr to simplify reference tracking.
2019-02-11 11:35:08 -08:00
Yihua Zhang a3d997cbdc Add a TLS credential surface API (experimental) 2019-01-29 10:04:28 -08:00
Muxi Yan d0f8049548
Merge pull request #17731 from bimawa/feature/supportTVOS
Added support tvos
2019-01-25 10:24:21 -08:00
Muxi Yan 7d959465f2 Update podspec version 2019-01-24 10:27:12 -08:00
Yash Tibrewal ca90fd501d
Merge pull request #17757 from yashykt/optstats
Collect OPT_STATS along with tx timestamps
2019-01-21 19:22:08 -08:00
Muxi Yan c3e1c72194
Merge branch 'master' into feature/supportTVOS 2019-01-18 15:53:04 -08:00
Yash Tibrewal 9df6023dca Move Optional to gprpp, and reviewer comments 2019-01-18 14:48:12 -08:00
Muxi Yan d9beacbfd9 generate projects 2019-01-17 13:37:33 -08:00
Mark D. Roth 10fa278660
Merge pull request #17577 from markdroth/lb_trailing_metadata
Allow LB policies to intercept recv_trailing_metadata
2019-01-17 13:26:29 -08:00
Maxim Bunkov 736985cba1 Merge master into feature/supportTVOS 2019-01-17 10:24:45 +05:00
Juanli Shen bbe2587c39 Enable per-channel subchannel pool 2019-01-15 14:15:18 -08:00
Muxi Yan 0ed65db5d2
Merge branch 'master' into default-cfstream-2 2019-01-11 16:31:34 -08:00
Prashant Jaikumar 95965f71d3 Remove network_status_tracker
Remove network_status_tracker and its unit test as it does nothing. We
can add tests for network status change in another commit.
2019-01-11 12:15:37 -08:00
Mark D. Roth d6e2b33670 Move InterceptRecvTrailingMetadataLoadBalancingPolicy to a separate file.
This fixes a link error when building with make.
2019-01-10 10:31:16 -08:00
apolcyn 26dddbb10d
Merge pull request #16187 from apolcyn/ipv6_resolver_scope_ids
Support named scope id's in grpc_parse_ipv6 on posix platforms
2019-01-08 14:36:20 -08:00
Mark D. Roth 21446eb35a Fix build.yaml. 2019-01-08 14:19:43 -08:00
Sanjay Pujare 94d5587643 Regenerate projects 2019-01-03 15:35:20 -08:00
Muxi Yan e761e56630
Merge pull request #17249 from muxi/16-to-32
Use 32 bit nanopb fields
2019-01-03 10:10:13 -08:00
Muxi Yan a7643b1f42 build projects 2018-12-27 11:40:17 -08:00
Alexander Polcyn 00763bc3ea Support named scope id's with ipv6 resolver on posix 2018-12-26 11:03:43 -08:00
Mark D. Roth 09f57c17ee Refactor request routing code out of client_channel. 2018-12-20 10:10:19 -08:00
yang-g a303a28895 Merge with head and resolve conflict. 2018-12-17 11:54:10 -08:00
yang-g 038a71d826 Merge remote-tracking branch 'upstream/master' into gpr_test_util_to_grpc_test_util 2018-12-17 08:52:20 -08:00
Yihua Zhang 0531d3d3ad extend local credentials to support tcp loopback 2018-12-16 14:50:26 -08:00
Mark D. Roth c5f344deaf
Revert "Revert "Allow encoding arbitrary channel args on a per-address basis."" 2018-12-11 07:48:14 -08:00
Maxim Bunkov b6ac1cb5b4 added support tvos 2018-12-11 14:11:00 +05:00
hcaseyal 27e2ba31bf
Revert "Allow encoding arbitrary channel args on a per-address basis." 2018-12-07 16:13:37 -08:00
Mark D. Roth dedff37b4f Allow encoding arbitrary channel args on a per-address basis. 2018-12-07 12:41:51 -08:00
yang-g e00ca0371a Promote gpr_test_util to part of grpc_test_util, add a sample to show it works, build.yaml change first 2018-12-06 13:40:12 -08:00
Soheil Hassas Yeganeh 2f55f4f85a Add TSAN annotations to gRPC. 2018-12-04 15:34:30 -05:00
Muxi Yan 97ec5c1d68 Bump version to v1.17.0 2018-12-03 11:53:33 -08:00
Stanley Cheung 698cf221d8 Regenerate projects 2018-11-28 09:24:31 -08:00
Yash Tibrewal 248e304671 Merge branch 'master' into httpplumbing 2018-11-21 11:48:41 -08:00
Stanley Cheung 42e3ae7309 Re-generate projects 2018-11-20 23:36:04 -08:00
Muxi Yan 195c042d32 Replace PB_FIELD_16BIT with PB_FIELD_32BIT 2018-11-19 17:35:21 -08:00
Muxi Yan da14743f1a Generate projects 2018-11-19 15:32:20 -08:00
Muxi Yan f3e4ae633e Regenerate projects 2018-11-19 15:24:53 -08:00
Yash Tibrewal fc332d2c92 Merge master 2018-11-16 11:11:04 -08:00
Juanli Shen 8a880801ae Add support for LB config in service config 2018-11-15 13:31:27 -08:00
Yihua Zhang 3fefdde3cc remove ALTS shared resources 2018-11-13 09:44:28 -08:00
yihuaz 5e9c9792b5
Merge pull request #16773 from yihuazhang/alts_tsi_handshaker_use_pollset_set
Use gRPC thread model (i.e., pollset_set) in ALTS TSI implementation
2018-11-02 11:05:54 -07:00
Yihua Zhang cd768ec12a use gRPC thread model 2018-11-01 16:26:46 -07:00
ncteisen 44b262c361 fix build and sanity 2018-10-31 21:11:28 -07:00
ncteisen 1a3c2d3e3a Move uri_parser to lib 2018-10-31 14:14:09 -07:00
ncteisen 3cb8b0b8cb Move uri_parser to common spot 2018-10-30 11:39:26 -07:00
Mark D. Roth 496d0676c8
Merge pull request #16507 from markdroth/health_checking_client
Health checking client
2018-10-24 13:17:01 -07:00
Mark D. Roth f85fd026e3 Client-side health checking support. 2018-10-24 12:29:04 -07:00
Yihua Zhang 81bc942cd8 security connector refactor 2018-10-22 09:37:48 -07:00
Vishal Powar a33e796575 Changes to register xds plugin init and shutdown.
Also,
 - Changes to extract grpclb_proto into its own build target
 - Remove client_load_reporting_filter from xds plugin.
2018-10-18 12:43:42 -07:00
Stanley Cheung e5ce1e36e6 Regenerate projects 2018-10-08 15:50:50 -07:00
hcaseyal a46ac13db3
Merge pull request #16735 from hcaseyal/delete_lookup_table
Delete hpack lookup table
2018-10-01 15:22:05 -07:00
Hope Casey-Allen 4772a743e8 Delete hpack lookup table 2018-09-28 13:47:04 -07:00
Vijay Pai be18cedf90 Delete epollsig poller and tests using it 2018-09-22 08:07:47 -07:00
Muxi Yan a6d8972a07
Merge pull request #16660 from muxi/rename-boringssl-grpc
Rename the BoringSSL framework to openssl_grpc to avoid conflict with OpenSSL
2018-09-21 16:05:32 -07:00
Muxi Yan f511f247dd bug fix 2018-09-20 16:13:16 -07:00
Muxi Yan 37b9b9e8fd Rename the openssl framework to openssl_grpc to avoid conflict 2018-09-19 18:03:17 -07:00
Hope Casey-Allen 327c514fe7 Some reorganizing to respond to code review comments 2018-09-19 13:50:25 -07:00
Juanli Shen 35501ad1df
Merge pull request #16467 from AspirinSJL/bump_master
Bump version to 1.16.0-dev
2018-08-27 18:34:38 -07:00
Yash Tibrewal 8d47cd4992
Revert "Revert "Fathom tcp changes"" 2018-08-27 14:56:01 -07:00
Juanli Shen 8ceb27a324 Regenerate projects 2018-08-27 14:27:55 -07:00
Jan Tattermusch 97ba943f17
Revert "Fathom tcp changes" 2018-08-27 12:43:20 +02:00
Yash Tibrewal f71fd84e42 more stuff 2018-08-24 17:05:30 -07:00
Yash Tibrewal aab47cbdf2
Merge pull request #15941 from yashykt/fathomtcpchanges
Fathom tcp changes
2018-08-24 12:27:56 -07:00
Muxi Yan 35479b8a80
Merge pull request #16358 from muxi/privatize-boringssl
Make symbols of BoringSSL private
2018-08-24 09:34:58 -07:00
Muxi Yan b24b212ee5 Make symbols of BoringSSL private to gRPC 2018-08-23 09:42:24 -07:00
Vijay Pai 472b9327c0
Merge pull request #16374 from vjpai/census
Move a census file from src/cpp to src/core since core depends on it
2018-08-17 16:38:33 -07:00
Mark D. Roth 8ba4563629
Merge pull request #16373 from markdroth/mu_guard_cleanup
Move C++ mu_guard class out of C-core public headers and fix style.
2018-08-17 11:56:24 -07:00
Vijay Pai 381bcab8bd Move a file from src/cpp to src/core since core depends on it 2018-08-16 15:44:19 -07:00
Mark D. Roth 7a7e4f5652 Move C++ mu_guard class out of C-core public headers and fix style. 2018-08-16 13:19:01 -07:00