Soheil Hassas Yeganeh
f95262b53f
Implement a lock-free fast path for queue_call_request()
...
For tiny RPCs, every single requests in almost the first item in the
list. Hence, it would try to lock the server to process pending
requests.
Instead of locking, simply set and check atomic values when there is a
possiblity of having pending requests.
This increases QPS by 10%, for the 62-channel/0B-RPC benchmark using the
callback API.
6 years ago
Soheil Hassas Yeganeh
0831996388
Remove memset from call_data from gRPC server.
...
This was missed due to an explicit memset(0) in init_call_elem.
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
ncteisen
679abd779a
Actually track listening address
7 years ago
ncteisen
08519d4472
Listen sockets track their port
7 years ago
Juanli Shen
2976ef129c
Fix OOM by expanding resource quota coverage
7 years ago
ncteisen
9b0223f1c5
Add skeleton listen socket support
7 years ago
ncteisen
c3a0a5bcb5
fix objc
7 years ago
ncteisen
e35f24da4d
reviewer feedback
7 years ago
ncteisen
8362e7042d
Undo adding new API to tranport
7 years ago
ncteisen
a139b44acc
Clenaer channelz default values
7 years ago
ncteisen
a64cb54de1
Channel trace is limited by memory
7 years ago
ncteisen
3545d754d5
Channelz get server sockets support
7 years ago
ncteisen
fd2fe1d5c4
Channelz server listening socket support
7 years ago
Yash Tibrewal
a12740f0ae
Revert the revert to server.cc
7 years ago
Yash Tibrewal
4e7ede8dd2
Set seen_recv_trailing_metadata to false
7 years ago
Yash Tibrewal
23ddadb7ca
Noob mistake
7 years ago
Yash Tibrewal
98048811a4
Reviewer comments
7 years ago
Yash Tibrewal
4009616b58
Reviewer comments
7 years ago
ncteisen
b9a174ab15
Add check on server for channelz accessor
7 years ago
Yash Tibrewal
85ff14dd16
Modify existing error child manipulation
7 years ago
ncteisen
3aa987a29a
Add channelz server support
7 years ago
kpayson64
1482d3f25c
PR Feedback Changes
7 years ago
Sree Kuchibhotla
1fd44337fc
Shutdown documentation
7 years ago
Alexander Polcyn
db3e898a98
Add a sanity check for inclusion of port_platform.h
7 years ago
Noah Eisen
4d20a66685
Run clang fmt
7 years ago
Noah Eisen
be82e64b3d
Autofix c casts to c++ casts
7 years ago
Vijay Pai
d4d0a30c6f
Privatize useful.h and avl.h
7 years ago
Mark D. Roth
dbdf495f61
Split lib/support into lib/gpr and lib/gpr++.
7 years ago
Vijay Pai
849bd73c4f
Wrap duplicated-name definitions in anonymous namespace
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
Sree Kuchibhotla
54961bb9e1
Change the code to use MONOTONIC clocks when calling gpr_cv_wait (condition varialbes in linux support MONOTONIC clock type)
7 years ago
Yash Tibrewal
c354269ba7
Remove _ prefixed variable names
7 years ago
ncteisen
0f2a719070
Add missing semicolons
7 years ago
Ken Payson
24908a61e4
Use lock when popping requests on server shutdown
...
Doing this without a lock causes TSAN failures for quic.
There isn't much need to be clever here because this only impacts
shutdown performance, which doesn't really matter.
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
be98d24841
clang-format after nullptr changes
7 years ago
Craig Tiller
4782d92b2d
s/NULL/nullptr
7 years ago
Ken Payson
e1533572d5
Add back mpscq request matcher
7 years ago
Craig Tiller
baa14a975e
Update clang-format to 5.0
8 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.
8 years ago
Craig Tiller
694580faee
Better name
8 years ago
Craig Tiller
cdaf6d8e06
clang-format
8 years ago
Craig Tiller
6014e8a945
C++ize tracing
8 years ago
Yash Tibrewal
83062842c3
Changes for C to C++. Adding extern C to header files for compatibility.
...
Also converting to .cc
8 years ago
Craig Tiller
b603489629
Use monotonic times (as we used to)
8 years ago
Yash Tibrewal
a495220f31
removing a completed TODO, removing forward declarations and rearranging code instead, removing _t suffixes with other recommendations
8 years ago