Re: tiobench read 50% regression with 2.6.30-rc1

From: Jeff Moyer
Date: Wed Apr 15 2009 - 08:01:05 EST


Jens Axboe <jens.axboe@xxxxxxxxxx> writes:

> On Wed, Apr 15 2009, Jeff Moyer wrote:
>> Jens Axboe <jens.axboe@xxxxxxxxxx> writes:
>>
>> > On Wed, Apr 15 2009, Jeff Moyer wrote:
>> >> I tested this using iozone to read a file from an NFS client. The
>> >> iozone command line was:
>> >> iozone -s 2000000 -r 64 -f /mnt/test/testfile -i 1 -w
>> >>
>> >> The numbers in the nfsd's row represent the number of nfsd threads. I
>> >> included numbers for the deadline scheduler as well for comparison.
>> >>
>> >> v2.6.29
>> >>
>> >> nfsd's | 1 | 2 | 4 | 8
>> >> --------+---------------+-------+------
>> >> cfq | 91356 | 66391 | 61942 | 51674
>> >> deadline| 43207 | 67436 | 96289 | 107784
>> >>
>> >> 2.6.30-rc1
>> >>
>> >> nfsd's | 1 | 2 | 4 | 8
>> >> --------+---------------+-------+------
>> >> cfq | 43127 | 22354 | 20858 | 21179
>> >> deadline| 43732 | 68059 | 76659 | 83231
>> >>
>> >> 2.6.30-rc1 + cfq fix
>> >>
>> >> nfsd's | 1 | 2 | 4 | 8
>> >> --------+-----------------+-------+------
>> >> cfq | 114602 | 102280 | 43479 | 43160
>> >>
>> >> As you can see, for 1 and 2 threads, the patch *really* helps out. We
>> >> still don't get back the performance for 4 and 8 nfsd threads, though.
>> >> It's interesting to note that the deadline scheduler regresses for 4 and
>> >> 8 threads, as well. I think we've still got some digging to do.
>> >
>> > Wow, that does indeed look pretty good!
>>
>> Please don't lose the later part of the message, which is that both CFQ
>> and deadline regress for 4 and 8 threads when moving from 2.6.29 to
>> 2.6.30-rc1! There have been way too many changes to keep track of in
>> this area recently, and I'd like to get some confidence that we
>> understand the performance implications of them.
>
> I'm definitely not, in fact pending patches should make it better! For

OK, I'll look through the changelog of your for-linus branch.

> the nfs case, I'm still a big proponent of explicitly getting the io
> context sharing in place, instead of adding code at the other end to
> try and fix things up.

OK, I have an ugly patch that wires that up. I guess it's time to
clean that up and test it.

>> >> I'll try the cfq close cooperator patches next.
>> >
>> > I have a pending update on the coop patch that isn't pushed out yet, I
>> > hope to have it finalized and tested later today. Hopefully, with that,
>> > we should be able to maintain > 100Mb/sec for 4 and 8 threads.
>>
>> OK, please let me know when and where this is available and I'll give it
>> a try.
>
> I sent you email about ~10 minutes ago or so about that very patch.

Yep, got it. Thanks!

-Jeff
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/