Bug 211633 - bmalloc should have per-cpu locking mechanism
Summary: bmalloc should have per-cpu locking mechanism
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: bmalloc (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Yusuke Suzuki
URL:
Keywords:
Depends on: 211809
Blocks:
  Show dependency treegraph
 
Reported: 2020-05-08 11:06 PDT by Yusuke Suzuki
Modified: 2020-06-02 06:57 PDT (History)
7 users (show)

See Also:


Attachments
Patch (39.35 KB, patch)
2020-05-18 19:08 PDT, Yusuke Suzuki
no flags Details | Formatted Diff | Diff
Patch (39.49 KB, patch)
2020-05-18 19:35 PDT, Yusuke Suzuki
no flags Details | Formatted Diff | Diff
Patch (58.34 KB, patch)
2020-05-19 00:25 PDT, Yusuke Suzuki
no flags Details | Formatted Diff | Diff
Patch (49.68 KB, patch)
2020-05-20 16:10 PDT, Yusuke Suzuki
no flags Details | Formatted Diff | Diff
Patch (62.31 KB, patch)
2020-05-20 17:36 PDT, Yusuke Suzuki
no flags Details | Formatted Diff | Diff
Patch (83.47 KB, patch)
2020-05-20 18:15 PDT, Yusuke Suzuki
no flags Details | Formatted Diff | Diff
Patch (83.82 KB, patch)
2020-05-20 18:26 PDT, Yusuke Suzuki
no flags Details | Formatted Diff | Diff
Patch (83.46 KB, patch)
2020-05-26 12:00 PDT, Yusuke Suzuki
no flags Details | Formatted Diff | Diff
Patch (92.37 KB, patch)
2020-06-02 06:57 PDT, Yusuke Suzuki
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Yusuke Suzuki 2020-05-08 11:06:15 PDT
We are taking a global lock easily. We should not.
Talked with Phil, and current plan is introducing per-cpu locking mechanism.
Each SmallPage have Mutex*, which could point to per-cpu lock or SmallPage's fine-grained lock.
We switch them based on contention and keep deallocation fast without taking a global lock.
Comment 1 Saam Barati 2020-05-08 12:00:36 PDT
This is awesome. I think this will help wasm compile times a lot
Comment 2 Yusuke Suzuki 2020-05-18 19:08:45 PDT
Created attachment 399696 [details]
Patch

WIP
Comment 3 Yusuke Suzuki 2020-05-18 19:35:34 PDT
Created attachment 399698 [details]
Patch

WIP
Comment 4 Yusuke Suzuki 2020-05-19 00:25:33 PDT
Created attachment 399717 [details]
Patch

WIP
Comment 5 Yusuke Suzuki 2020-05-20 16:10:59 PDT
Created attachment 399906 [details]
Patch

WIP
Comment 6 Yusuke Suzuki 2020-05-20 17:36:59 PDT
Created attachment 399919 [details]
Patch

WIP
Comment 7 Yusuke Suzuki 2020-05-20 18:15:12 PDT
Created attachment 399920 [details]
Patch

WIP
Comment 8 Yusuke Suzuki 2020-05-20 18:26:26 PDT
Created attachment 399921 [details]
Patch

WIP
Comment 9 Yusuke Suzuki 2020-05-26 12:00:04 PDT
Created attachment 400264 [details]
Patch

WIP
Comment 10 Yusuke Suzuki 2020-06-02 06:57:12 PDT
Created attachment 400814 [details]
Patch

WIP