Re: Asynch I/O overloaded 2.2.15/2.3.99

From: Andrea Arcangeli (andrea@suse.de)
Date: Wed Apr 12 2000 - 12:15:46 EST


On Wed, 12 Apr 2000, Rik van Riel wrote:

>On Wed, 12 Apr 2000, Andrea Arcangeli wrote:
>> On Wed, 12 Apr 2000, Jeff V. Merkey wrote:
>>
>> >I have added calls to run_task_queue(&tq_disk) to the code, and it makes
>> >the AIO performance go way up. I noticed that the current task is
> ^^^^^^^^^^^^^^^^^^^^^
>
>> That's normal. Running run_task_queue(&tq_disk) when not
>> necessary can _only_ harm performance since it doesn't allow the
>> plugging code and the elevator to do their work.
>
>Running it when it's not needed will indeed lower performance,
>but not running it when it's needed will be a big loss. Maybe

If you don't run it when it's needed you'll hang indefinitely (there was
such a bug in ext2 for example).

>we should do a run_task_queue(&tq_disk) whenever we're (almost)
>running out of request slots?

We do that when we run out of request slots, that's how the plugging
works. Doing that before we run out of requests slots make no sense.

>Jeff saw a definate improvement in the performance of his system
>when running tq_disk...

He should reduce NR_REQUEST instead of adding suprious
run_task_queue(&tq_disk) until the complexity problem of get_request gets
fixed.

Andrea

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



This archive was generated by hypermail 2b29 : Sat Apr 15 2000 - 21:00:19 EST