lkml.org 
[lkml]   [2014]   [Feb]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 0/1] mm, shmem: map few pages around fault address if they are in page cache
On Fri, 28 Feb 2014 16:35:16 -0800 Ning Qu <quning@gmail.com> wrote:

> Sorry about my fault about the experiments, here is the real one.
>
> Btw, apparently, there are still some questions about the results and
> I will sync with Kirill about his test command line.
>
> Below is just some simple experiment numbers from this patch, let me know if
> you would like more:
>
> Tested on Xeon machine with 64GiB of RAM, using the current default fault
> order 4.
>
> Sequential access 8GiB file
> Baseline with-patch
> 1 thread
> minor fault 8,389,052 4,456,530
> time, seconds 9.55 8.31

The numbers still seem wrong. I'd expect to see almost exactly 2M minor
faults with this test.

Looky:

#include <sys/mman.h>
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

#define G (1024 * 1024 * 1024)

int main(int argc, char *argv[])
{
char *p;
int fd;
unsigned long idx;
int sum = 0;

fd = open("foo", O_RDONLY);
if (fd < 0) {
perror("open");
exit(1);
}
p = mmap(NULL, 1 * G, PROT_READ, MAP_PRIVATE, fd, 0);
if (p == MAP_FAILED) {
perror("mmap");
exit(1);
}

for (idx = 0; idx < 1 * G; idx += 4096)
sum += p[idx];
printf("%d\n", sum);
exit(0);
}

z:/home/akpm> /usr/bin/time ./a.out
0
0.05user 0.33system 0:00.38elapsed 99%CPU (0avgtext+0avgdata 4195856maxresident)k
0inputs+0outputs (0major+262264minor)pagefaults 0swaps

z:/home/akpm> dc
16o
262264 4 * p
1001E0

That's close!


\
 
 \ /
  Last update: 2014-03-01 03:21    [W:0.138 / U:0.644 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site