Commit 7f6e4a78 authored by heikki@donna.mysql.fi's avatar heikki@donna.mysql.fi
Browse files

univ.i Added a new debug define option

sync0sync.ic	Do not use GCC in-line assembly
srv0start.h	Eliminate a deadlock of threads at startup
buf0buf.h	Add some debug functions
srv0start.c	Remove a printf
parent 91873163
Loading
Loading
Loading
Loading
+29 −0
Original line number Diff line number Diff line
@@ -293,6 +293,32 @@ buf_page_peek_block(
	ulint	space,	/* in: space id */
	ulint	offset);/* in: page number */
/************************************************************************
Sets file_page_was_freed TRUE if the page is found in the buffer pool.
This function should be called when we free a file page and want the
debug version to check that it is not accessed any more unless
reallocated. */

buf_block_t*
buf_page_set_file_page_was_freed(
/*=============================*/
			/* out: control block if found from page hash table,
			otherwise NULL */
	ulint	space,	/* in: space id */
	ulint	offset);	/* in: page number */
/************************************************************************
Sets file_page_was_freed FALSE if the page is found in the buffer pool.
This function should be called when we free a file page and want the
debug version to check that it is not accessed any more unless
reallocated. */

buf_block_t*
buf_page_reset_file_page_was_freed(
/*===============================*/
			/* out: control block if found from page hash table,
			otherwise NULL */
	ulint	space,	/* in: space id */
	ulint	offset);	/* in: page number */
/************************************************************************
Recommends a move of a block to the start of the LRU list if there is danger
of dropping from the buffer pool. NOTE: does not reserve the buffer pool
mutex. */
@@ -706,6 +732,9 @@ struct buf_block_struct{
					which bufferfixes the block acquires
					an s-latch here; so we can use the
					debug utilities in sync0rw */
        ibool           file_page_was_freed;
                                        /* this is set to TRUE when fsp
                                        frees a page in buffer pool */
};

/* The buffer pool structure. NOTE! The definition appears here only for
+3 −0
Original line number Diff line number Diff line
@@ -28,4 +28,7 @@ int
innobase_shutdown_for_mysql(void);
/*=============================*/
				/* out: DB_SUCCESS or error code */

extern     ibool     srv_startup_is_before_trx_rollback_phase;

#endif
+2 −2
Original line number Diff line number Diff line
@@ -86,7 +86,7 @@ mutex_test_and_set(
	/* mutex_fence(); */

	return(res);
#elif defined(__GNUC__) && defined(UNIV_INTEL_X86)
#elif defined(not_defined) && defined(__GNUC__) && defined(UNIV_INTEL_X86)
	ulint*	lw;
	ulint	res;

@@ -134,7 +134,7 @@ mutex_reset_lock_word(
	__asm   MOV     EDX, 0
        __asm   MOV     ECX, lw
        __asm   XCHG    EDX, DWORD PTR [ECX]                    
#elif defined(__GNUC__) && defined(UNIV_INTEL_X86)
#elif defined(not_defined) && defined(__GNUC__) && defined(UNIV_INTEL_X86)
	ulint*	lw;

	lw = &(mutex->lock_word);
+2 −0
Original line number Diff line number Diff line
@@ -74,6 +74,8 @@ subdirectory of 'mysql'. */

#define UNIV_SYNC_PERF_STAT
#define UNIV_SEARCH_PERF_STAT

#define UNIV_DEBUG_FILE_ACCESSES
*/
#define UNIV_LIGHT_MEM_DEBUG

+2 −1
Original line number Diff line number Diff line
@@ -550,8 +550,9 @@ innobase_start_or_create_for_mysql(void)
	  return(DB_ERROR);
	}

	/*
	printf("srv_unix set to %lu\n", srv_unix_file_flush_method);

	*/
	os_aio_use_native_aio = srv_use_native_aio;

	err = srv_boot();