-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
os/bluestore: Make OpSequencer has own deferred_lock.
For 4k randwrite workload & Using perf script futex-contention in 60second, i found: >bstore_mempool[69278] lock 7fdc0131f3b8 contended 5 times, 2043 avg ns >bstore_kv_final[69277] lock 7fdc0131f3b8 contended 41835 times, 1285 avg ns >bstore_aio[69226] lock 7fdc0131f3b8 contended 62294 times, 1217 avg ns deferred_lock has serious contented. This becasue deferred_lock is a globla lock. So i add defferred_lock in OpSequencer and make global deferred_lock only protect deferred_queue. After this change: >bstore_kv_final[75810] lock 7f72f931f3b8 contended 1074 times, 1692 avg ns >bstore_aio[75759] lock 7f72f931f3b8 contended 1491 times, 1133 avg ns Signed-off-by: Jianpeng Ma <[email protected]>
- Loading branch information
1 parent
3519603
commit abda218
Showing
2 changed files
with
65 additions
and
34 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters