[lkml]   [2009]   [May]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: madvise failure
On Thu, 7 May 2009 14:10:17 +0200
"Andries E. Brouwer" <> 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 ?


 \ /
  Last update: 2009-05-08 03:13    [W:0.036 / U:20.688 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site