Re: [rfc] direct IO submission and completion scalability issues

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Siddha, Suresh B <suresh.b.siddha@...>
Cc: Christoph Lameter <clameter@...>, <linux-kernel@...>, <arjan@...>, <mingo@...>, <ak@...>, <jens.axboe@...>, <James.Bottomley@...>, <andrea@...>, <akpm@...>, <andrew.vasquez@...>
Date: Tuesday, July 31, 2007 - 12:19 am

On Mon, Jul 30, 2007 at 01:35:19PM -0700, Suresh B wrote:

It is obviously a good idea to hand over the IO at the point which
requires the least number of cachelines to be moved, and I think doing
it in the block layer is right. Mostly you have to convince the block
and driver maintainers I guess.

The scheduler really should be made interrupt-load aware anyway, so I
don't have a problem with changing that; or scheduling kblockd at a
higher priority, but I don't know if SCHED_FIFO is a good idea. Couldn't
it be done in a softirq instead?

Latency for IO migration could be the most difficult problem to solve
really. You don't give much details of the workload, profiles, etc... I
hope this is for a real world test? Can the locking be improved in simpler
ways first?

Just some random questions...

It looks like the main source of cacheline bouncing you're eliminating
is from the initial starting of IO from an empty queue (ie. unplug).

Why is the queue allowed to go empty in the first place in an IO critical
workload?

Are you loading up each CPU with as many disks as it can possibly handle
plus a few more? If so, is that realistic? (I honestly don't know).

You say that you'd like to do this for direct IO only, but if it is more
efficient, why not for buffered IO as well? (or is it not more efficient
for buffered IO? if not, why?)

AFAIKS, you'd still have significant queue_lock contention from other
CPUs inserting requests into the list? What IO scheduler are you using?
I assume noop... as a crazy experiment, what happens if you create per-cpu
request queues?

-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[rfc] direct IO submission and completion scalability issues, Siddha, Suresh B, (Fri Jul 27, 9:21 pm)
Re: [rfc] direct IO submission and completion scalability is..., Christoph Lameter, (Mon Jul 30, 2:20 pm)
Re: [rfc] direct IO submission and completion scalability is..., Nick Piggin, (Tue Jul 31, 12:19 am)