Bug 185119

Summary: WordLock doesn't need per-thread data
Product: WebKit Reporter: Geoffrey Garen <ggaren>
Component: New BugsAssignee: Geoffrey Garen <ggaren>
Status: RESOLVED FIXED    
Severity: Normal CC: benjamin, cdumez, cmarcelo, commit-queue, dbates, ews-watchlist, fpizlo, saam, webkit-bug-importer, ysuzuki
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch none

Description Geoffrey Garen 2018-04-29 08:33:23 PDT
WordLock doesn't need per-thread data
Comment 1 Geoffrey Garen 2018-04-29 08:41:46 PDT
Created attachment 339092 [details]
Patch
Comment 2 Geoffrey Garen 2018-04-29 08:44:21 PDT
Benchmark results look neutral to me:

~/OpenSource> ./LockSpeedTest-baseline wordlock 1 4 1 0 40 2
WTFWordLock: 40014.319 KHz
WTFWordLock = {40014.319};
=====
~/OpenSource> ./LockSpeedTest wordlock 1 4 1 0 40 2
WTFWordLock: 41667.624 KHz
WTFWordLock = {41667.624};
=====
~/OpenSource> ./LockSpeedTest-baseline wordlock 1 4 10 20 40 2
WTFWordLock: 15257.590 KHz
WTFWordLock = {15257.590};
=====
~/OpenSource> ./LockSpeedTest wordlock 1 4 10 20 40 2
WTFWordLock: 15336.106 KHz
WTFWordLock = {15336.106};
=====
~/OpenSource> ./LockSpeedTest-baseline wordlock 1 4 128 1024 40 2
WTFWordLock: 1505.244 KHz
WTFWordLock = {1505.244};
=====
~/OpenSource> ./LockSpeedTest wordlock 1 4 128 1024 40 2
WTFWordLock: 1506.206 KHz
WTFWordLock = {1506.206};
Comment 3 Yusuke Suzuki 2018-04-29 10:02:17 PDT
Comment on attachment 339092 [details]
Patch

r=me if it does not cause perf regression. I think it should be perf-neutral since basically constructing ThreadData is cheap.
I think we can use this approach in ParkingLot to remove ThreadSpecific.
Comment 4 WebKit Commit Bot 2018-04-29 10:29:18 PDT
Comment on attachment 339092 [details]
Patch

Clearing flags on attachment: 339092

Committed r231151: <https://trac.webkit.org/changeset/231151>
Comment 5 WebKit Commit Bot 2018-04-29 10:29:20 PDT
All reviewed patches have been landed.  Closing bug.
Comment 6 Radar WebKit Bug Importer 2018-04-29 10:30:56 PDT
<rdar://problem/39825097>
Comment 7 Geoffrey Garen 2018-04-29 16:06:20 PDT
> I think we can use this approach in ParkingLot to remove ThreadSpecific.

That would be cool!