summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Momjian2011-01-26 03:18:24 +0000
committerBruce Momjian2011-01-26 03:18:24 +0000
commit64bc872761bc9bf730307957f09f44a3eabbe3af (patch)
treecdfd24144e7b811d8e307c50e8d83f55fc4a2643
parenta91c950658016162020258574fb98aba182a5eac (diff)
Adjust pg_test_fsync to always do XLOG_BLCKSZ-sized writes, rather than
always 8k writes, per suggestion from Tom. Also adjust open_sync output layout.
-rw-r--r--contrib/pg_test_fsync/pg_test_fsync.c24
1 files changed, 11 insertions, 13 deletions
diff --git a/contrib/pg_test_fsync/pg_test_fsync.c b/contrib/pg_test_fsync/pg_test_fsync.c
index 5e6406a1e3..a3a49a1fa7 100644
--- a/contrib/pg_test_fsync/pg_test_fsync.c
+++ b/contrib/pg_test_fsync/pg_test_fsync.c
@@ -20,9 +20,7 @@
*/
#define FSYNC_FILENAME "./pg_test_fsync.out"
-#if XLOG_BLCKSZ != 8 * 1024 /* 8k */
-#error Unknown block size for test.
-#endif
+#define XLOG_BLCKSZ_K (XLOG_BLCKSZ / 1024)
#define LABEL_FORMAT " %-32s"
#define NA_FORMAT LABEL_FORMAT "%18s"
@@ -61,10 +59,10 @@ main(int argc, char *argv[])
test_open();
- /* Test using 1 8k write */
+ /* Test using 1 XLOG_BLCKSZ write */
test_sync(1);
- /* Test using 2 8k writes */
+ /* Test using 2 XLOG_BLCKSZ writes */
test_sync(2);
test_open_syncs();
@@ -177,9 +175,9 @@ test_sync(int writes_per_op)
bool fs_warning = false;
if (writes_per_op == 1)
- printf("\nCompare file sync methods using one 8k write:\n");
+ printf("\nCompare file sync methods using one %dk write:\n", XLOG_BLCKSZ_K);
else
- printf("\nCompare file sync methods using two 8k writes:\n");
+ printf("\nCompare file sync methods using two %dk writes:\n", XLOG_BLCKSZ_K);
printf("(in wal_sync_method preference order, except fdatasync\n");
printf("is Linux's default)\n");
@@ -396,11 +394,11 @@ test_open_syncs(void)
printf("(This is designed to compare the cost of writing 16k\n");
printf("in different write open_sync sizes.)\n");
- test_open_sync(" 1 16k open_sync write", 16);
- test_open_sync(" 2 8k open_sync writes", 8);
- test_open_sync(" 4 4k open_sync writes", 4);
- test_open_sync(" 8 2k open_sync writes", 2);
- test_open_sync("16 1k open_sync writes", 1);
+ test_open_sync("16k open_sync write", 16);
+ test_open_sync(" 8k open_sync writes", 8);
+ test_open_sync(" 4k open_sync writes", 4);
+ test_open_sync(" 2k open_sync writes", 2);
+ test_open_sync(" 1k open_sync writes", 1);
}
/*
@@ -519,7 +517,7 @@ test_non_sync(void)
/*
* Test a simple write without fsync
*/
- printf("\nNon-sync'ed 8k writes:\n");
+ printf("\nNon-sync'ed %dk writes:\n", XLOG_BLCKSZ_K);
printf(LABEL_FORMAT, "write");
fflush(stdout);