Hello Zoltan Martonka, Kudu Jenkins, Abhishek Chennaka,
I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/24329
to look at the new patch set (#3).
Change subject: KUDU-1865 reduce cross-thread allocations in RPC (part 2)
......................................................................
KUDU-1865 reduce cross-thread allocations in RPC (part 2)
With this update, the OutboundCall::call_response_ member field
of the CallResponse type is no longer allocated on the heap. Instead,
it's allocated on the stack and the move semantics is used to pass
the object around.
I ran the same test scenario as in the 'part 1' to trace the asymmetry
in tcmalloc's cross-thread allocations/deallocations and confirmed
that the entries related to CallResponse were gone.
I also ran the test scenario to account for the total number of updates
in tcmalloc's central free lists. This patch results in ~1.07x times
reduction in the total number of updates in the central free lists with
the default setting of TCMALLOC_MAX_TOTAL_THREAD_CACHE_BYTES:
before: 367
after: 341
The requests-per-second performance reported by the
RpcBench.BenchmarkCalls scenario hasn't changed.
Change-Id: Ia5b8771f4092d5e566e91b7c7fdbf560c5fd3851
---
M src/kudu/rpc/connection.cc
M src/kudu/rpc/outbound_call.cc
M src/kudu/rpc/outbound_call.h
M src/kudu/rpc/rpc_controller.cc
4 files changed, 77 insertions(+), 78 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/29/24329/3
--
To view, visit http://gerrit.cloudera.org:8080/24329
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ia5b8771f4092d5e566e91b7c7fdbf560c5fd3851
Gerrit-Change-Number: 24329
Gerrit-PatchSet: 3
Gerrit-Owner: Alexey Serbin <[email protected]>
Gerrit-Reviewer: Abhishek Chennaka <[email protected]>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Zoltan Martonka <[email protected]>