On Wed, 2024-07-24 at 15:18 +0200, Petr Vorel wrote: > Hi all, > > > [ Cc Peter and Mike ] > > Hi! > > > On Fri 19-07-24 19:43:25, Petr Vorel wrote: > > > LTP AIO DIO tests aiodio_sparse.c [1] and dio_sparse.c [2] (using [3]) > > > slowed down on kernel 6.6 on Btrfs and XFS, when run with default > > > parameters. These tests create 100 MB sparse file and write zeros (using > > > libaio or O_DIRECT) while 16 other processes reads the buffer and check > > > only zero is there. > > > So the performance of this test is irrelevant because combining buffered > > reads with direct IO writes was always in "better don't do it" territory. > > Definitely not if you care about perfomance. > > > > Runtime of this particular setup (i.e. 100 MB file) on Btrfs and XFS on the > > > same system slowed down 9x (6.5: ~1 min 6.6: ~9 min). Ext4 is not affected. > > > (Non default parameter creates much smaller file, thus the change is not that > > > obvious). > > > But still it's kind of curious what caused the 9x slow down. So I'd be > > curious to know the result of the bisection :). Thanks for report! > > It looks to be the slowdown was introduced by commit 63304558ba5d > ("sched/eevdf: Curb wakeup-preemption") [1] from v6.6-rc1. That's not good, I'd rather not have over-zealous preemption back, my box doesn't miss that one tiny bit. Hrm... have you tried Peter's eevdf queue? The DELAY_DEQUEUE feature therein does good things for tbench, restoring pre-eevdf throughput. -Mike