[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20091126084548.GO8742@kernel.dk>
Date: Thu, 26 Nov 2009 09:45:48 +0100
From: Jens Axboe <jens.axboe@...cle.com>
To: Vivek Goyal <vgoyal@...hat.com>
Cc: Moyer Jeff Moyer <jmoyer@...hat.com>,
linux kernel mailing list <linux-kernel@...r.kernel.org>,
Corrado Zoccolo <czoccolo@...il.com>
Subject: Re: [PATCH] Fix regression in direct writes performance due to
WRITE_ODIRECT flag removal
On Tue, Nov 24 2009, Vivek Goyal wrote:
> Hi Jens,
>
> There seems to be a regression in direct write path due to following
> commit in for-2.6.33 branch of block tree.
>
> commit 1af60fbd759d31f565552fea315c2033947cfbe6
> Author: Jeff Moyer <jmoyer@...hat.com>
> Date: Fri Oct 2 18:56:53 2009 -0400
>
> block: get rid of the WRITE_ODIRECT flag
>
>
> Marking direct writes as WRITE_SYNC_PLUG instead of WRITE_ODIRECT, sets
> the NOIDLE flag in bio and hence in request. This tells CFQ to not expect
> more request from the queue and not idle on it (despite the fact that
> queue's think time is less and it is not seeky).
>
> So direct writers lose big time when competing with sequential readers.
>
> Using fio, I have run one direct writer and two sequential readers and
> following are the results with 2.6.32-rc7 kernel and with for-2.6.33
> branch.
>
> Test
> ====
> 1 direct writer and 2 sequential reader running simultaneously.
>
> [global]
> directory=/mnt/sdc/fio/
> runtime=10
>
> [seqwrite]
> rw=write
> size=4G
> direct=1
>
> [seqread]
> rw=read
> size=2G
> numjobs=2
>
> 2.6.32-rc7
> ==========
> direct writes: aggrb=2,968KB/s
> readers : aggrb=101MB/s
>
> for-2.6.33 branch
> =================
> direct write: aggrb=19KB/s
> readers aggrb=137MB/s
Thanks, that shows pretty well the impact that idling can have :-).
I have applied it.
--
Jens Axboe
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists