The upstream fix for the Bug #30875956
"PURGE ACTIVITY IS TOO MUCH AT CPU% BOUND AND CAUSES IDLE OVERDRIVE"
coming from 5.7.31 and 8.0.21
helped to reveal a problem with Percona improvement
"Server activity check fixes for page cleaner thread"
In Oracle patch we now call "srv_wake_purge_thread_if_not_active()" from "srv_master_do_active_tasks()" which wakes up purge coordinator and because of the Percona improvement updates activity counter as a side effect. The combination of these two does not let flusher to do its job because activity counter is constantly changing and 'innodb_buffer_pool_pages_dirty' never goes to 0.
PS-3411 part of the "innodb.percona_doublewrite" to fail with "Timeout in wait_condition.inc"