aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2009-08-10 18:19:06 +0000
committerBruce Momjian <bruce@momjian.us>2009-08-10 18:19:06 +0000
commit933b17b663f06bd5bbe24e8e12044a844fd79bbf (patch)
treea57219affbe2b8ef7107d2bfba2273159530a721 /src
parentf3f6737af9ef1f5dc96faed3ba564137f3bc4dc3 (diff)
downloadpostgresql-933b17b663f06bd5bbe24e8e12044a844fd79bbf.tar.gz
postgresql-933b17b663f06bd5bbe24e8e12044a844fd79bbf.zip
Adjust test_fsync code to be more sane.
Backpatch to 8.4.X.
Diffstat (limited to 'src')
-rw-r--r--src/tools/fsync/test_fsync.c41
1 files changed, 29 insertions, 12 deletions
diff --git a/src/tools/fsync/test_fsync.c b/src/tools/fsync/test_fsync.c
index b87237a689d..6b3e939cd4e 100644
--- a/src/tools/fsync/test_fsync.c
+++ b/src/tools/fsync/test_fsync.c
@@ -1,5 +1,5 @@
/*
- * $PostgreSQL: pgsql/src/tools/fsync/test_fsync.c,v 1.23 2009/06/11 14:49:15 momjian Exp $
+ * $PostgreSQL: pgsql/src/tools/fsync/test_fsync.c,v 1.24 2009/08/10 18:19:06 momjian Exp $
*
*
* test_fsync.c
@@ -30,7 +30,7 @@
#define FSYNC_FILENAME "/var/tmp/test_fsync.out"
#endif
-#define WRITE_SIZE (16 * 1024)
+#define WRITE_SIZE (16 * 1024) /* 16k */
void die(char *str);
void print_elapse(struct timeval start_t, struct timeval elapse_t);
@@ -71,6 +71,9 @@ main(int argc, char *argv[])
buf = (char *) TYPEALIGN(ALIGNOF_XLOG_BUFFER, full_buf);
+ /*
+ * Simple write
+ */
printf("Simple write timing:\n");
/* write only */
gettimeofday(&start_t, NULL);
@@ -87,8 +90,11 @@ main(int argc, char *argv[])
print_elapse(start_t, elapse_t);
printf("\n");
+ /*
+ * Fsync another file descriptor?
+ */
printf("\nCompare fsync times on write() and non-write() descriptor:\n");
- printf("(If the times are similar, fsync() can sync data written\n on a different descriptor.)\n");
+ printf("If the times are similar, fsync() can sync data written\non a different descriptor.\n");
/* write, fsync, close */
gettimeofday(&start_t, NULL);
@@ -132,6 +138,9 @@ main(int argc, char *argv[])
print_elapse(start_t, elapse_t);
printf("\n");
+ /*
+ * Compare 1 to 2 writes
+ */
printf("\nCompare one o_sync write to two:\n");
#ifdef OPEN_SYNC_FLAG
@@ -148,7 +157,7 @@ main(int argc, char *argv[])
print_elapse(start_t, elapse_t);
printf("\n");
- /* 2*8k o_sync writes */
+ /* Two 8k o_sync writes */
if ((tmpfile = open(filename, O_RDWR | OPEN_SYNC_FLAG, 0)) == -1)
die("Cannot open output file.");
gettimeofday(&start_t, NULL);
@@ -163,14 +172,16 @@ main(int argc, char *argv[])
close(tmpfile);
printf("\ttwo 8k o_sync writes ");
print_elapse(start_t, elapse_t);
- printf("\n");
-
- printf("\nCompare file sync methods with one 8k write:\n");
#else
printf("\t(o_sync unavailable) ");
#endif
printf("\n");
+ /*
+ * Compare file sync methods with one 8k write
+ */
+ printf("\nCompare file sync methods with one 8k write:\n");
+
#ifdef OPEN_DATASYNC_FLAG
/* open_dsync, write */
if ((tmpfile = open(filename, O_RDWR | O_DSYNC, 0)) == -1)
@@ -183,7 +194,11 @@ main(int argc, char *argv[])
close(tmpfile);
printf("\topen o_dsync, write ");
print_elapse(start_t, elapse_t);
+#else
+ printf("\t(o_dsync unavailable) ");
+#endif
printf("\n");
+
#ifdef OPEN_SYNC_FLAG
/* open_fsync, write */
if ((tmpfile = open(filename, O_RDWR | OPEN_SYNC_FLAG, 0)) == -1)
@@ -196,9 +211,8 @@ main(int argc, char *argv[])
close(tmpfile);
printf("\topen o_sync, write ");
print_elapse(start_t, elapse_t);
-#endif
#else
- printf("\t(o_dsync unavailable) ");
+ printf("\t(o_sync unavailable) ");
#endif
printf("\n");
@@ -235,11 +249,14 @@ main(int argc, char *argv[])
}
gettimeofday(&elapse_t, NULL);
close(tmpfile);
- printf("\twrite, fsync, ");
+ printf("\twrite, fsync ");
print_elapse(start_t, elapse_t);
printf("\n");
- printf("\nCompare file sync methods with 2 8k writes:\n");
+ /*
+ * Compare file sync methods with two 8k write
+ */
+ printf("\nCompare file sync methods with two 8k writes:\n");
#ifdef OPEN_DATASYNC_FLAG
/* open_dsync, write */
@@ -318,7 +335,7 @@ main(int argc, char *argv[])
}
gettimeofday(&elapse_t, NULL);
close(tmpfile);
- printf("\twrite, fsync, ");
+ printf("\twrite, fsync ");
print_elapse(start_t, elapse_t);
printf("\n");