Tom Lane wrote:
> Bruce Momjian <[email protected]> writes:
> > Sure I am willing to fix it. Should I have it always use the value of
> > XLOG_BLCKSZ for its tests, and adjust the output text accordingly?
>
> Makes sense to me.
OK, done with attached patch. I also cleaned up the open_sync size test
output. The patch was easy. Thanks for the ideas.
--
Bruce Momjian <[email protected]> http://momjian.us
EnterpriseDB http://enterprisedb.com
+ It's impossible for everything to be true. +
diff --git a/contrib/pg_test_fsync/pg_test_fsync.c b/contrib/pg_test_fsync/pg_test_fsync.c
index 5e6406a..a3a49a1 100644
*** a/contrib/pg_test_fsync/pg_test_fsync.c
--- b/contrib/pg_test_fsync/pg_test_fsync.c
***************
*** 20,28 ****
*/
#define FSYNC_FILENAME "./pg_test_fsync.out"
! #if XLOG_BLCKSZ != 8 * 1024 /* 8k */
! #error Unknown block size for test.
! #endif
#define LABEL_FORMAT " %-32s"
#define NA_FORMAT LABEL_FORMAT "%18s"
--- 20,26 ----
*/
#define FSYNC_FILENAME "./pg_test_fsync.out"
! #define XLOG_BLCKSZ_K (XLOG_BLCKSZ / 1024)
#define LABEL_FORMAT " %-32s"
#define NA_FORMAT LABEL_FORMAT "%18s"
*************** main(int argc, char *argv[])
*** 61,70 ****
test_open();
! /* Test using 1 8k write */
test_sync(1);
! /* Test using 2 8k writes */
test_sync(2);
test_open_syncs();
--- 59,68 ----
test_open();
! /* Test using 1 XLOG_BLCKSZ write */
test_sync(1);
! /* Test using 2 XLOG_BLCKSZ writes */
test_sync(2);
test_open_syncs();
*************** test_sync(int writes_per_op)
*** 177,185 ****
bool fs_warning = false;
if (writes_per_op == 1)
! printf("\nCompare file sync methods using one 8k write:\n");
else
! printf("\nCompare file sync methods using two 8k writes:\n");
printf("(in wal_sync_method preference order, except fdatasync\n");
printf("is Linux's default)\n");
--- 175,183 ----
bool fs_warning = false;
if (writes_per_op == 1)
! printf("\nCompare file sync methods using one %dk write:\n", XLOG_BLCKSZ_K);
else
! 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");
*************** test_open_syncs(void)
*** 396,406 ****
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);
}
/*
--- 394,404 ----
printf("(This is designed to compare the cost of writing 16k\n");
printf("in different write open_sync sizes.)\n");
! 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);
}
/*
*************** test_non_sync(void)
*** 519,525 ****
/*
* Test a simple write without fsync
*/
! printf("\nNon-sync'ed 8k writes:\n");
printf(LABEL_FORMAT, "write");
fflush(stdout);
--- 517,523 ----
/*
* Test a simple write without fsync
*/
! printf("\nNon-sync'ed %dk writes:\n", XLOG_BLCKSZ_K);
printf(LABEL_FORMAT, "write");
fflush(stdout);
--
Sent via pgsql-committers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers