public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Gui Jianfeng <guijianfeng@cn.fujitsu.com>
To: Shaohua Li <shli@kernel.org>
Cc: Vivek Goyal <vgoyal@redhat.com>, Jens Axboe <jaxboe@fusionio.com>,
	linux-kernel@vger.kernel.org
Subject: Re: fio posixaio performance problem
Date: Thu, 04 Aug 2011 10:00:33 +0800	[thread overview]
Message-ID: <4E39FD41.4090103@cn.fujitsu.com> (raw)
In-Reply-To: <CANejiEXAtzExExqmTXA=hmpGh8DVVo9ncbRMdkB+avq+G3LuqQ@mail.gmail.com>

On 2011-8-4 8:53, Shaohua Li wrote:
> 2011/8/4 Vivek Goyal <vgoyal@redhat.com>:
>> On Wed, Aug 03, 2011 at 11:45:33AM -0400, Vivek Goyal wrote:
>>> On Wed, Aug 03, 2011 at 05:48:54PM +0800, Gui Jianfeng wrote:
>>>> On 2011-8-3 16:22, Shaohua Li wrote:
>>>>> 2011/8/3 Gui Jianfeng <guijianfeng@cn.fujitsu.com>:
>>>>>> On 2011-8-3 15:38, Shaohua Li wrote:
>>>>>>> 2011/8/3 Gui Jianfeng <guijianfeng@cn.fujitsu.com>:
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> I ran a fio test to simulate qemu-kvm io behaviour.
>>>>>>>> When job number is greater than 2, IO performance is
>>>>>>>> really bad.
>>>>>>>>
>>>>>>>> 1 thread: aggrb=15,129KB/s
>>>>>>>> 4 thread: aggrb=1,049KB/s
>>>>>>>>
>>>>>>>> Kernel: lastest upstream
>>>>>>>>
>>>>>>>> Any idea?
>>>>>>>>
>>>>>>>> ---
>>>>>>>> [global]
>>>>>>>> runtime=30
>>>>>>>> time_based=1
>>>>>>>> size=1G
>>>>>>>> group_reporting=1
>>>>>>>> ioengine=posixaio
>>>>>>>> exec_prerun='echo 3 > /proc/sys/vm/drop_caches'
>>>>>>>> thread=1
>>>>>>>>
>>>>>>>> [kvmio-1]
>>>>>>>> description=kvmio-1
>>>>>>>> numjobs=4
>>>>>>>> rw=write
>>>>>>>> bs=4k
>>>>>>>> direct=1
>>>>>>>> filename=/mnt/sda4/1G.img
>>>>>>> Hmm, the test runs always about 15M/s at my side regardless how many threads.
>>>>>>
>>>>>> CFQ?
>>>>> yes.
>>>>>
>>>>>> what's the slice_idle value?
>>>>> default value. I didn't change it.
>>>>
>>>> Hmm, I use a sata disk, and can reproduce this bug every time...
>>>
>>> Do you have blktrace of run with 4 jobs?
>>
>> I can't reproduce it too. On my sata disk single thread is getting around
>> 23-24MB/s and 4 threads get around 19-20MB/sec. Some of the throughput
>> is gone into seeking so that is expected.
>>
>> I think what you are trying to point out is idling issue. In your workload
>> every thread is doing sync-idle IO. So idling is enabled on each thread.
>> On my system I see that next thread preempts the current idle thread
>> because they all are doing IO in nearby area of file and rq_close() is
>> true hence preemption is allowed.
>>
>> On your system, I think somehow rq_close() is not true hence preemption
>> does not take place and we continue to idle on that thread. That also
>> is not necessarily too bad but it might be happening that we are waiting
>> for completion of IO from some other thread before this thread (we are
>> idling on) can do more writes due to some filesystem rescrition and
>> that can lead to sudden throughput drop. blktrace will give some idea.
> with idle, the workload fallbacks like the one thread case, I don't
> expect so big reduction.
> I saw some back seek in the workload because we have rq_close() preempt here.
> is it possible back seek penality in the disk is big?

Shaohua,

what do you mean "back seek penality" here. AFAIK, back seek penality only happens
when choosing next request to serve. Is there anything to do with preemption logic?

Gui

> 
> 



  reply	other threads:[~2011-08-04  2:00 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-03  3:40 fio posixaio performance problem Gui Jianfeng
2011-08-03  4:06 ` Dave Chinner
2011-08-03  4:47   ` Gui Jianfeng
2011-08-03  5:12     ` Gui Jianfeng
2011-08-03  7:38 ` Shaohua Li
2011-08-03  8:11   ` Gui Jianfeng
2011-08-03  8:22     ` Shaohua Li
2011-08-03  9:48       ` Gui Jianfeng
2011-08-03 15:45         ` Vivek Goyal
2011-08-03 17:51           ` Vivek Goyal
2011-08-04  0:53             ` Shaohua Li
2011-08-04  2:00               ` Gui Jianfeng [this message]
2011-08-04  3:14                 ` Shaohua Li
     [not found]                   ` <4E3A4DF7.3020605@cn.fujitsu.com>
2011-08-04  8:25                     ` Shaohua Li
2011-08-04  8:35                       ` Gui Jianfeng
2011-08-04  9:01                         ` Jens Axboe
2011-08-04 14:12                     ` Vivek Goyal
2011-08-05  0:56                       ` Gui Jianfeng
2011-08-05  1:31                         ` Gui Jianfeng
2011-08-04  1:55             ` Gui Jianfeng

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4E39FD41.4090103@cn.fujitsu.com \
    --to=guijianfeng@cn.fujitsu.com \
    --cc=jaxboe@fusionio.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=shli@kernel.org \
    --cc=vgoyal@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox