Re: madvise failure

From: KAMEZAWA Hiroyuki
Date: Thu May 07 2009 - 21:09:29 EST


On Thu, 7 May 2009 14:10:17 +0200
"Andries E. Brouwer" <Andries.Brouwer@xxxxxx> 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 ?

> 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 ? or
Sequential but (may) skip some pages in each access ?

Thanks,
-Kame

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/