Merge pull request #12343 from sreecha/enable-epoll1

Enable epoll1 polling engine
pull/12321/merge
Sree Kuchibhotla 8 years ago committed by GitHub
commit b2170fe91f
  1. 4
      src/core/lib/iomgr/ev_epoll1_linux.c
  2. 4
      src/core/lib/iomgr/ev_epollsig_linux.c
  3. 2
      src/core/lib/iomgr/ev_posix.c
  4. 280
      tools/run_tests/generated/tests.json
  5. 4
      tools/run_tests/performance/scenario_config.py

@ -1192,10 +1192,6 @@ static const grpc_event_engine_vtable vtable = {
* Create epoll_fd (epoll_set_init() takes care of that) to make sure epoll
* support is available */
const grpc_event_engine_vtable *grpc_init_epoll1_linux(bool explicit_request) {
if (!explicit_request) {
return NULL;
}
if (!grpc_has_wakeup_fd()) {
return NULL;
}

@ -1728,9 +1728,7 @@ const grpc_event_engine_vtable *grpc_init_epollsig_linux(
}
if (!is_grpc_wakeup_signal_initialized) {
/* TODO(ctiller): when other epoll engines are ready, remove the true || to
* force this to be explitly chosen if needed */
if (true || explicit_request) {
if (explicit_request) {
grpc_use_signal(SIGRTMIN + 6);
} else {
return NULL;

@ -64,8 +64,8 @@ typedef struct {
} event_engine_factory;
static const event_engine_factory g_factories[] = {
{"epollsig", grpc_init_epollsig_linux},
{"epoll1", grpc_init_epoll1_linux},
{"epollsig", grpc_init_epollsig_linux},
{"epoll-threadpool", grpc_init_epoll_thread_pool_linux},
{"epoll-limited", grpc_init_epoll_limited_pollers_linux},
{"poll", grpc_init_poll_posix},

File diff suppressed because it is too large Load Diff

@ -154,6 +154,8 @@ def _ping_pong_scenario(name, rpc_type,
scenario['client_config']['payload_config'] = _payload_type(use_generic_payload, req_size, resp_size)
# Optimization target of 'throughput' does not work well with epoll1 polling
# engine. Use the default value of 'blend'
optimization_target = 'blend'
if unconstrained_client:
@ -169,12 +171,10 @@ def _ping_pong_scenario(name, rpc_type,
scenario['client_config']['outstanding_rpcs_per_channel'] = deep
scenario['client_config']['client_channels'] = wide
scenario['client_config']['async_client_threads'] = 0
optimization_target = 'throughput'
else:
scenario['client_config']['outstanding_rpcs_per_channel'] = 1
scenario['client_config']['client_channels'] = 1
scenario['client_config']['async_client_threads'] = 1
optimization_target = 'latency'
optimization_channel_arg = {
'name': 'grpc.optimization_target',

Loading…
Cancel
Save