I tested this patch [1] on top of the 2nd Mel's patch [2]. Test case: Running firefox with youtube tab (basic desktop workload) and starting $ for i in {1..10}; do tail /dev/zero; done -- 1. with noswap and 2. with SwapTotal > MemTotal and swappiness=0. - With noswap 2021-11-28 20:13:18,755: Stall times for the last 296.0s: 2021-11-28 20:13:18,755: ----------- 2021-11-28 20:13:18,755: some cpu 8.6s, avg 2.9% 2021-11-28 20:13:18,755: ----------- 2021-11-28 20:13:18,755: some io 253.7s, avg 85.7% 2021-11-28 20:13:18,755: full io 228.9s, avg 77.3% 2021-11-28 20:13:18,755: ----------- 2021-11-28 20:13:18,755: some memory 135.1s, avg 45.7% 2021-11-28 20:13:18,755: full memory 134.3s, avg 45.4% mem: https://raw.githubusercontent.com/hakavlad/cache-tests/main/516-reclaim-throttle/516-rc2/patch4/noswap/mem psi: https://raw.githubusercontent.com/hakavlad/cache-tests/main/516-reclaim-throttle/516-rc2/patch4/noswap/psi - With swappiness=0 2021-11-28 20:29:35,229: Stall times for the last 257.9s: 2021-11-28 20:29:35,229: ----------- 2021-11-28 20:29:35,229: some cpu 7.7s, avg 3.0% 2021-11-28 20:29:35,229: ----------- 2021-11-28 20:29:35,229: some io 223.1s, avg 86.5% 2021-11-28 20:29:35,230: full io 196.2s, avg 76.1% 2021-11-28 20:29:35,230: ----------- 2021-11-28 20:29:35,230: some memory 170.8s, avg 66.2% 2021-11-28 20:29:35,230: full memory 167.9s, avg 65.1% mem: https://raw.githubusercontent.com/hakavlad/cache-tests/main/516-reclaim-throttle/516-rc2/patch4/swappiness0/mem psi: https://raw.githubusercontent.com/hakavlad/cache-tests/main/516-reclaim-throttle/516-rc2/patch4/swappiness0/psi There are still some freezes, although in some cases there are no significant stalls. 13-17s average stall vs 0.4s with 5.15 [1] https://lore.kernel.org/lkml/252cd5acd9bf6588ec87ce02884925c737b6a8b7.camel@xxxxxx/ [2] https://lore.kernel.org/lkml/20211124143303.GH3366@xxxxxxxxxxxxxxxxxxx/