Yes, I am using the iozone -i 0 -i 1. Let me try the most simple test as you mentioned. Best wishes, -- Ning Qu On Fri, Feb 28, 2014 at 5:41 PM, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote: > On Fri, 28 Feb 2014 16:35:16 -0800 Ning Qu <quning@xxxxxxxxx> 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! -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html