Fix Bug #12941439 - WITH UNIV_SYNC_DEBUG, PERF SCHEMA, INITIALIZATION
OF 16G BUFFER POOL TAKES HOURS rb://787 approved by Sunny
This commit is contained in:
parent
ffd0c80914
commit
b7786a3902
@ -839,6 +839,16 @@ pfs_register_buffer_block(
|
|||||||
rwlock->pfs_psi = (PSI_server)
|
rwlock->pfs_psi = (PSI_server)
|
||||||
? PSI_server->init_rwlock(buf_block_lock_key, rwlock)
|
? PSI_server->init_rwlock(buf_block_lock_key, rwlock)
|
||||||
: NULL;
|
: NULL;
|
||||||
|
|
||||||
|
# ifdef UNIV_SYNC_DEBUG
|
||||||
|
rwlock = &block->debug_latch;
|
||||||
|
ut_a(!rwlock->pfs_psi);
|
||||||
|
rwlock->pfs_psi = (PSI_server)
|
||||||
|
? PSI_server->init_rwlock(buf_block_debug_latch_key,
|
||||||
|
rwlock)
|
||||||
|
: NULL;
|
||||||
|
# endif /* UNIV_SYNC_DEBUG */
|
||||||
|
|
||||||
# endif /* UNIV_PFS_RWLOCK */
|
# endif /* UNIV_PFS_RWLOCK */
|
||||||
block++;
|
block++;
|
||||||
}
|
}
|
||||||
@ -895,17 +905,24 @@ buf_block_init(
|
|||||||
|
|
||||||
mutex_create(PFS_NOT_INSTRUMENTED, &block->mutex, SYNC_BUF_BLOCK);
|
mutex_create(PFS_NOT_INSTRUMENTED, &block->mutex, SYNC_BUF_BLOCK);
|
||||||
rw_lock_create(PFS_NOT_INSTRUMENTED, &block->lock, SYNC_LEVEL_VARYING);
|
rw_lock_create(PFS_NOT_INSTRUMENTED, &block->lock, SYNC_LEVEL_VARYING);
|
||||||
|
|
||||||
|
# ifdef UNIV_SYNC_DEBUG
|
||||||
|
rw_lock_create(PFS_NOT_INSTRUMENTED,
|
||||||
|
&block->debug_latch, SYNC_NO_ORDER_CHECK);
|
||||||
|
# endif /* UNIV_SYNC_DEBUG */
|
||||||
|
|
||||||
#else /* PFS_SKIP_BUFFER_MUTEX_RWLOCK || PFS_GROUP_BUFFER_SYNC */
|
#else /* PFS_SKIP_BUFFER_MUTEX_RWLOCK || PFS_GROUP_BUFFER_SYNC */
|
||||||
mutex_create(buffer_block_mutex_key, &block->mutex, SYNC_BUF_BLOCK);
|
mutex_create(buffer_block_mutex_key, &block->mutex, SYNC_BUF_BLOCK);
|
||||||
rw_lock_create(buf_block_lock_key, &block->lock, SYNC_LEVEL_VARYING);
|
rw_lock_create(buf_block_lock_key, &block->lock, SYNC_LEVEL_VARYING);
|
||||||
|
|
||||||
|
# ifdef UNIV_SYNC_DEBUG
|
||||||
|
rw_lock_create(buf_block_debug_latch_key,
|
||||||
|
&block->debug_latch, SYNC_NO_ORDER_CHECK);
|
||||||
|
# endif /* UNIV_SYNC_DEBUG */
|
||||||
#endif /* PFS_SKIP_BUFFER_MUTEX_RWLOCK || PFS_GROUP_BUFFER_SYNC */
|
#endif /* PFS_SKIP_BUFFER_MUTEX_RWLOCK || PFS_GROUP_BUFFER_SYNC */
|
||||||
|
|
||||||
ut_ad(rw_lock_validate(&(block->lock)));
|
ut_ad(rw_lock_validate(&(block->lock)));
|
||||||
|
|
||||||
#ifdef UNIV_SYNC_DEBUG
|
|
||||||
rw_lock_create(buf_block_debug_latch_key,
|
|
||||||
&block->debug_latch, SYNC_NO_ORDER_CHECK);
|
|
||||||
#endif /* UNIV_SYNC_DEBUG */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/********************************************************************//**
|
/********************************************************************//**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user