Alexey Serbin has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/24329 )
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 hasn't changed per reports from the RpcBench.BenchmarkCalls scenario. Change-Id: Ia5b8771f4092d5e566e91b7c7fdbf560c5fd3851 Reviewed-on: http://gerrit.cloudera.org:8080/24329 Tested-by: Alexey Serbin <[email protected]> Reviewed-by: Michael Smith <[email protected]> Reviewed-by: Abhishek Chennaka <[email protected]> --- 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(-) Approvals: Alexey Serbin: Verified Michael Smith: Looks good to me, but someone else must approve Abhishek Chennaka: Looks good to me, approved -- 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: merged Gerrit-Change-Id: Ia5b8771f4092d5e566e91b7c7fdbf560c5fd3851 Gerrit-Change-Number: 24329 Gerrit-PatchSet: 5 Gerrit-Owner: Alexey Serbin <[email protected]> Gerrit-Reviewer: Abhishek Chennaka <[email protected]> Gerrit-Reviewer: Alexey Serbin <[email protected]> Gerrit-Reviewer: Joe McDonnell <[email protected]> Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Reviewer: Michael Smith <[email protected]> Gerrit-Reviewer: Zoltan Martonka <[email protected]>
