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

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: David Chinner <dgc@...>
Cc: Arjan van de Ven <arjan@...>, Siddha, Suresh B <suresh.b.siddha@...>, <linux-kernel@...>, <mingo@...>, <ak@...>, <jens.axboe@...>, <James.Bottomley@...>, <andrea@...>, <clameter@...>, <akpm@...>, <andrew.vasquez@...>, <willy@...>, Zach Brown <zach.brown@...>
Date: Monday, February 4, 2008 - 6:09 am

On Mon, Feb 04, 2008 at 03:40:20PM +1100, David Chinner wrote:

Hi Dave,

Thanks for taking a look at the patch... yes it would be easy to turn
this bit of state into a more flexible cookie (eg. complete on submitter;
complete on interrupt; complete on CPUx/nodex etc.). Maybe we'll need
something that complex... I'm not sure, it would probably need more
fine tuning. That said, I just wanted to get this approach out there
early for rfc.

I guess both you and Arjan have points. For a _lot_ of things, completing
on the same CPU as submitter (whether that is migrating submission as in
the original patch in the thread, or migrating completion like I do).

You get better behaviour in the slab and page allocators and locality
and cache hotness of memory. For example, I guess in a filesystem /
pagecache heavy workload, you have to touch each struct page, buffer head,
fs private state, and also often have to wake the thread for completion.
Much of this data has just been touched at submit time, so doin this on
the same CPU is nice...

I'm surprised that the xfs global state bouncing would outweigh the
bouncing of all the per-page/block/bio/request/etc data that gets touched
during completion. We'll see.

--
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..., Nick Piggin, (Mon Feb 4, 6:09 am)
Re: [rfc] direct IO submission and completion scalability is..., Christoph Lameter, (Mon Jul 30, 2:20 pm)