mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
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 innobase/srv/srv0start.c: Remove a printf innobase/include/buf0buf.h: Add some debug functions innobase/include/srv0start.h: Eliminate a deadlock of threads at startup innobase/include/sync0sync.ic: Do not use GCC in-line assembly innobase/include/univ.i: Added a new debug define option
This commit is contained in:
@ -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
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
|
||||
|
@ -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();
|
||||
|
Reference in New Issue
Block a user