Todd Lipcon has submitted this change and it was merged.

Change subject: locks: allow use of TSAN on many-core machines
......................................................................


locks: allow use of TSAN on many-core machines

On an 88-core machine, I found that TSAN builds would crash due to trying to
acquire more than 64 locks (a built-in maximum). Since percpu-rwlocks are an
optimization that isn't really relevant in TSAN, and in fact can make the
results a little harder to read, this changes percpu_rwlock in TSAN builds
to just use a simple lock.

I also fixed the OSX path to only use a single lock as well, rather than
allocate an array of locks. It was already just using a single one of
those locks (based on the address of the percpu_rwlock object), so
changing to only allocate a single one is simpler.

Change-Id: I08b41a5bbdbef9046b07d2908b2b824bb9dd2b76
Reviewed-on: http://gerrit.cloudera.org:8080/6905
Reviewed-by: Adar Dembo <[email protected]>
Tested-by: Kudu Jenkins
---
M src/kudu/util/locks.h
1 file changed, 12 insertions(+), 3 deletions(-)

Approvals:
  Adar Dembo: Looks good to me, approved
  Kudu Jenkins: Verified



-- 
To view, visit http://gerrit.cloudera.org:8080/6905
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I08b41a5bbdbef9046b07d2908b2b824bb9dd2b76
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]>

Reply via email to