public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Andries E. Brouwer" <Andries.Brouwer@cwi.nl>
To: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: "Andries E. Brouwer" <Andries.Brouwer@cwi.nl>,
	linux-kernel@vger.kernel.org
Subject: Re: madvise failure
Date: Fri, 8 May 2009 05:23:20 +0200	[thread overview]
Message-ID: <20090508032315.GA19186@ub> (raw)
In-Reply-To: <20090508100745.6ef9fe3c.kamezawa.hiroyu@jp.fujitsu.com>

On Fri, May 08, 2009 at 10:07:45AM +0900, KAMEZAWA Hiroyuki wrote:
> "Andries E. Brouwer" <Andries.Brouwer@cwi.nl> wrote:
> 
>> In an application something like
>> 	p = mmap(0, sz, PROT_READ, MAP_PRIVATE, fd, 0);
>> 	madvise(p, sz, MADV_SEQUENTIAL);
>> is done for a small number of files, each with a size of a few GB.
>> A single sequential pass is done over these files - essentially a merge.
>> 
>> On an old machine the madvise is useful, and decreases total time.

> With the same kernel (Ubuntu/2.6.27) ? old one ?

Both Ubuntu/2.6.27: 2.6.27-11-generic (new) vs 2.6.27-11-server (old)

>> But on a more recent machine, with more memory, the madvise makes
>> things worse. There, it seems better not to reveal to the kernel
>> that the data will be read sequentially.
>> 
>> Timing (six files of 4GB each, quadcore Intel Q9550, 16GB memory,
>> kernel 2.6.27 [Ubuntu], two other processes active):
>> with madvise, 7 runs: real time varying 9m10s - 37m29s,
>> without madvise, 6 runs: real time fairly constant 5m45s - 5m54s.

> Accessing each page one by one sequentially ?

Yes. Essentially a merge.

> or Sequential but (may) skip some pages in each access ?

No.

Andries


      reply	other threads:[~2009-05-08  3:25 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-07 12:10 madvise failure Andries E. Brouwer
2009-05-08  1:07 ` KAMEZAWA Hiroyuki
2009-05-08  3:23   ` Andries E. Brouwer [this message]

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=20090508032315.GA19186@ub \
    --to=andries.brouwer@cwi.nl \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    /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