Make use of flush end events in the sync preflush backoff
Bug #1235379 reported by
Laurynas Biveinis
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Percona Server moved to https://jira.percona.com/projects/PS |
Fix Released
|
Medium
|
Laurynas Biveinis | ||
5.6 |
Fix Released
|
Medium
|
Laurynas Biveinis |
Bug Description
Current sync preflush backoff algorithm should be improved by making use of flush end events. These events reduce the backoff spinning and consequently flush order mutex contention without increasing latency.
Related branches
lp:~laurynas-biveinis/percona-server/bug1235379
- Vadim Tkachenko: Approve
-
Diff: 255 lines (+69/-21)6 files modifiedPercona-Server/mysql-test/suite/innodb/t/percona_changed_page_bmp.test (+9/-9)
Percona-Server/storage/innobase/buf/buf0flu.cc (+11/-3)
Percona-Server/storage/innobase/buf/buf0lru.cc (+5/-2)
Percona-Server/storage/innobase/include/buf0flu.h (+10/-0)
Percona-Server/storage/innobase/include/buf0flu.ic (+21/-0)
Percona-Server/storage/innobase/log/log0log.cc (+13/-7)
To post a comment you must log in.
Piggybacking other flush list flush improvements (which are relevant in sync preflush scenario) here as well.
- AF heuristics should not throttle flushing using avg_page_rate if the server is in async flush zone.
- buf_flush_common() calls were made more frequent by the page cleaner tuning. Reduce their frequency to roughly match that of Oracle MySQL 5.6.