[LTP] [RFC] Slow down of LTP tests aiodio_sparse.c and dio_sparse.c in kernel 6.6

Mike Galbraith efault@gmx.de
Wed Jul 24 18:29:12 CEST 2024


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



More information about the ltp mailing list