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

Reply via email to