All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gui Jianfeng <guijianfeng@cn.fujitsu.com>
To: Shaohua Li <shaohua.li@intel.com>, Corrado Zoccolo <czoccolo@gmail.com>
Cc: Jens Axboe <jens.axboe@oracle.com>,
	Linux-Kernel <linux-kernel@vger.kernel.org>,
	Jeff Moyer <jmoyer@redhat.com>, Vivek Goyal <vgoyal@redhat.com>,
	Yanmin Zhang <yanmin_zhang@linux.intel.com>
Subject: Re: [PATCH] cfq-iosched: rework seeky detection
Date: Mon, 11 Jan 2010 10:53:59 +0800	[thread overview]
Message-ID: <4B4A92C7.10303@cn.fujitsu.com> (raw)
In-Reply-To: <20100111014730.GA22362@sli10-desk.sh.intel.com>

Shaohua Li wrote:
> On Sat, Jan 09, 2010 at 11:59:17PM +0800, Corrado Zoccolo wrote:
>> Current seeky detection is based on average seek lenght.
>> This is suboptimal, since the average will not distinguish between:
>> * a process doing medium sized seeks
>> * a process doing some sequential requests interleaved with larger seeks
>> and even a medium seek can take lot of time, if the requested sector
>> happens to be behind the disk head in the rotation (50% probability).
>>
>> Therefore, we change the seeky queue detection to work as follows:
>> * each request can be classified as sequential if it is very close to
>>   the current head position, i.e. it is likely in the disk cache (disks
>>   usually read more data than requested, and put it in cache for
>>   subsequent reads). Otherwise, the request is classified as seeky.
>> * an history window of the last 32 requests is kept, storing the
>>   classification result.
>> * A queue is marked as seeky if more than 1/8 of the last 32 requests
>>   were seeky.
>>
>> This patch fixes a regression reported by Yanmin, on mmap 64k random
>> reads.
> Can we not count a big request (say the request data is >= 32k) as seeky
> regardless the seek distance? In this way we can also make a 64k random sync
> read not as seeky.

  Or maybe we can rely on *dynamic* CFQQ_SEEK_THR in terms of data lenght to 
  determine whether a request should be a seeky one.

> 
> Thanks,
> Shaohua
> 
> 
> 

-- 
Regards
Gui Jianfeng


  reply	other threads:[~2010-01-11  2:58 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-09 15:59 [PATCH] cfq-iosched: rework seeky detection Corrado Zoccolo
2010-01-11  1:47 ` Shaohua Li
2010-01-11  2:53   ` Gui Jianfeng [this message]
2010-01-11 14:20     ` Jeff Moyer
2010-01-11 14:46   ` Corrado Zoccolo
2010-01-12  1:49     ` Shaohua Li
2010-01-12  8:52       ` Corrado Zoccolo
2010-01-13  3:45         ` Shaohua Li
2010-01-13  7:09           ` Corrado Zoccolo
2010-01-13  8:00             ` Shaohua Li
2010-01-13  8:09               ` Corrado Zoccolo
2010-01-11 16:29 ` Vivek Goyal
2010-01-11 16:52   ` Corrado Zoccolo
2010-01-12 19:12 ` Vivek Goyal
2010-01-12 20:05   ` Corrado Zoccolo
2010-01-12 22:36     ` Vivek Goyal
2010-01-12 23:17       ` Corrado Zoccolo
2010-01-13  8:05         ` Corrado Zoccolo
2010-01-13 20:19           ` Vivek Goyal
2010-01-13 20:10         ` Vivek Goyal
     [not found]           ` <4e5e476b1001131324t148d195cp7ad92e7edf8325fb@mail.gmail.com>
2010-01-13 22:21             ` Vivek Goyal

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=4B4A92C7.10303@cn.fujitsu.com \
    --to=guijianfeng@cn.fujitsu.com \
    --cc=czoccolo@gmail.com \
    --cc=jens.axboe@oracle.com \
    --cc=jmoyer@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=shaohua.li@intel.com \
    --cc=vgoyal@redhat.com \
    --cc=yanmin_zhang@linux.intel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.