Todd Lipcon has submitted this change and it was merged. Change subject: diskrowset: stop using percpu_rwlock ......................................................................
diskrowset: stop using percpu_rwlock In a heap analysis of a server with 34K rowsets, I see percpu_rwlocks inside DiskRowSet taking ~105MB of memory. Each percpu_rwlock is using 48 cache lines (3072 bytes) so the multiplication works out to around the same value as I see in practice. Although switching to a normal rwlock might increase contention marginally, it's probably worth it for the 100MB memory win. If we start to see contention here in a workload we can figure out other ways to avoid taking the locks, but my guess is that the improved cache locality of the lock being stored inline in the DRS class will outweigh any contention-related issue. Change-Id: I9e210eb3e8fc13d807f6630e68c68d64902b1cc4 Reviewed-on: http://gerrit.cloudera.org:8080/6472 Tested-by: Kudu Jenkins Reviewed-by: Mike Percy <[email protected]> --- M src/kudu/tablet/diskrowset.cc M src/kudu/tablet/diskrowset.h 2 files changed, 11 insertions(+), 11 deletions(-) Approvals: Mike Percy: Looks good to me, approved Kudu Jenkins: Verified -- To view, visit http://gerrit.cloudera.org:8080/6472 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: I9e210eb3e8fc13d807f6630e68c68d64902b1cc4 Gerrit-PatchSet: 3 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Todd Lipcon <[email protected]> Gerrit-Reviewer: Adar Dembo <[email protected]> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Mike Percy <[email protected]> Gerrit-Reviewer: Todd Lipcon <[email protected]>
