lkml.org 
[lkml]   [2005]   [Aug]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Subjectvery weired random io behavior
From
Date
I ran a small test program on a 400GB SATA disk connected to Marvel
chip. Using 2.6.11.12 kernel and get this strange behavior.


# iostat -k -p /dev/sdj
Linux 2.6.11.12 (bakstor2u.localdomain) 08/26/2005

avg-cpu: %user %nice %sys %iowait %idle
0.11 0.00 6.63 54.75 38.51

Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sdj 0.00 0.01 0.00 36 0

start with no io. run program with /dev/sdj and count 10240. i supposed
it should only write 40MB data and no read should be generated. but
result is quite weired. there are almost same amount of read and total
size is around 80MB.


# iostat -k -p /dev/sdj
Linux 2.6.11.12 (bakstor2u.localdomain) 08/26/2005

avg-cpu: %user %nice %sys %iowait %idle
0.11 0.00 6.48 55.65 37.77

Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sdj 4.26 11.31 11.47 80476 81640


pls cc to me.

Thanks!

Ming

---------------------------------------------------
#define _LARGEFILE64_SOURCE

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

int main(int argc, char *argv[])
{
int n;
int i, count;
char *name;
char buf[4096];
int fd;

if (argc != 3) {
printf("%s name count\n", argv[0]);
exit(1);
}
name = argv[1];
count = atoi(argv[2]);

fd = open(name, O_CREAT|O_WRONLY, S_IRWXU);
for (i = 0; i < count; i++) {
unsigned long x;

x = (rand() >> 1) << 1;
lseek64(fd, x, SEEK_SET);
write(fd, buf, 4096);
}
printf("done\n");
close(fd);
return 0;
}


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

\
 
 \ /
  Last update: 2005-08-26 22:11    [W:0.038 / U:72.468 seconds]
©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site