lkml.org 
[lkml]   [1998]   [Mar]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Patch for block write clustering
>    ... (I can post the benchmark program I used if anyone wants to try it
> themselves)
>
> time ( du ~squid/cache/ >/dev/null ; sync )
>
>
>(with atime updates enabled) - Perhaps a bit contrived?
>
>

Heres mine. Just adjust MAX_LOOPS so that the files are several times
as big as your physical memory and bdflush will get a good workout.


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


#define BLOCK_SIZE 1024
#define MAX_LOOPS 32000


char tbuf1[4*BLOCK_SIZE];
char tbuf2[4*BLOCK_SIZE];

int main()
{

int fd1, fd2, count, retval;
char val;


if(-1 == (fd1 = open("/tmp/test1", O_RDWR|O_CREAT|O_TRUNC))) {

printf("Can't open test1.\n");
exit(0);

}


if(-1 == (fd2 = open("/tmp/test2", O_RDWR|O_CREAT|O_TRUNC))) {

printf("Can't open test2.\n");
exit(0);

}

for(count = 0;count < MAX_LOOPS;count++) {

memset(tbuf1, count % 255, 2*BLOCK_SIZE);
if( -1 == write(fd1, tbuf1, 2*BLOCK_SIZE)) {

printf("Write failed\n");
exit(0);

}

memset(tbuf2, count % 255, 2*BLOCK_SIZE);
if( -1 == (retval = write(fd2, tbuf2, 2*BLOCK_SIZE))) {

printf("Write failed\n");
exit(0);

}
}

close(fd1);
close(fd2);
}

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu

\
 
 \ /
  Last update: 2005-03-22 13:41    [W:0.068 / U:0.052 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site