From 64bc872761bc9bf730307957f09f44a3eabbe3af Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Tue, 25 Jan 2011 22:18:24 -0500 Subject: [PATCH] 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. --- contrib/pg_test_fsync/pg_test_fsync.c | 24 +++++++++++------------- 1 file 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); -- GitLab