From: James Bottomley <James.Bottomley@suse.de>
To: "Martin K. Petersen" <martin.petersen@oracle.com>
Cc: Robert Hancock <hancockrwd@gmail.com>,
"Gao, Yunpeng" <yunpeng.gao@intel.com>,
"linux-ide@vger.kernel.org" <linux-ide@vger.kernel.org>,
"linux-mmc@vger.kernel.org" <linux-mmc@vger.kernel.org>
Subject: Re: How to make kernel block layer generate bigger request in the request queue?
Date: Mon, 12 Apr 2010 14:58:29 -0500 [thread overview]
Message-ID: <1271102309.4428.85.camel@mulgrave.site> (raw)
In-Reply-To: <yq1d3y4msri.fsf@sermon.lab.mkp.net>
On Mon, 2010-04-12 at 14:26 -0400, Martin K. Petersen wrote:
> >>>>> "James" == James Bottomley <James.Bottomley@suse.de> writes:
>
> >> Correct. It's quite unlikely for pages to be contiguous so this is
> >> the best we can do.
>
> James> Actually, average servers do about 50% contiguous on average
> James> since we changed the mm layer to allocate in ascending physical
> James> page order ... this figure is highly sensitive to mm changes
> James> though, and can vary from release to release.
>
> Interesting. When did this happen?
The initial work was done by Bill Irwin, years ago. For a while it was
good, but then after Mel Gorman did the page reclaim code, we became
highly sensitive to the reclaim algorithms for this, so it's fluctuated
a bit ever since. Even with all this, the efficiency is highly
dependent on the amount of free memory: once the machine starts running
to exhaustion (excluding page cache, since that usually allocates
correctly to begin with) the contiguity really drops.
> Last time I gathered data on segment merge efficiency (1 year+ ago) I
> found that adjacent pages were quite rare for a normal fs type workload.
> Certainly not in the 50% ballpark. I'll take another look when I have a
> moment...
I got 60% with an I/O bound test with about a gigabyte of free memory a
while ago (2.6.31, I think). Even for machines approaching memory
starvation, 30% seems achievable.
James
next prev parent reply other threads:[~2010-04-12 19:58 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-09 14:07 How to make kernel block layer generate bigger request in the request queue? Gao, Yunpeng
2010-04-09 23:54 ` Robert Hancock
2010-04-10 2:05 ` Martin K. Petersen
2010-04-10 14:58 ` James Bottomley
2010-04-12 18:26 ` Martin K. Petersen
2010-04-12 19:58 ` James Bottomley [this message]
2010-04-13 15:06 ` Gao, Yunpeng
2010-04-13 15:20 ` Alan Cox
2010-04-19 6:42 ` Gao, Yunpeng
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=1271102309.4428.85.camel@mulgrave.site \
--to=james.bottomley@suse.de \
--cc=hancockrwd@gmail.com \
--cc=linux-ide@vger.kernel.org \
--cc=linux-mmc@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=yunpeng.gao@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox