diff --git a/docs/leaf.svg b/docs/leaf.svg index 6185c74843a22..963e041d80a7e 100644 --- a/docs/leaf.svg +++ b/docs/leaf.svg @@ -1,6 +1 @@ - - - - - - + \ No newline at end of file diff --git a/src/third_party/boost/libs/multi_index/test_results.svg b/src/third_party/boost/libs/multi_index/test_results.svg index d3d613ffd7021..4ae47ba6401ef 100644 --- a/src/third_party/boost/libs/multi_index/test_results.svg +++ b/src/third_party/boost/libs/multi_index/test_results.svg @@ -1,26 +1 @@ - - - - - - - - - - - - - - - - - - - - - test - test - results - results - - \ No newline at end of file +testtestresultsresults \ No newline at end of file diff --git a/src/third_party/wiredtiger/src/docs/images/locks-evict-example-simple.svg b/src/third_party/wiredtiger/src/docs/images/locks-evict-example-simple.svg index 554a3c56a6ea0..1e21d06c8eeec 100644 --- a/src/third_party/wiredtiger/src/docs/images/locks-evict-example-simple.svg +++ b/src/third_party/wiredtiger/src/docs/images/locks-evict-example-simple.svg @@ -1,132 +1 @@ - - - - - - -calls - - - -__evict_server - -__evict_server - - - -__evict_clear_all_walks - -__evict_clear_all_walks - - - -__evict_server->__evict_clear_all_walks - - - - - -__evict_pass - -__evict_pass - - - -__evict_server->__evict_pass - - - - - -__evict_thread_run - -__evict_thread_run -__wt_spin_trylock(&cache->evict_pass_lock) - - - -__evict_thread_run->__evict_server - - - - - -__evict_thread_stop - -__evict_thread_stop -WT_WITH_PASS_LOCK(evict_pass_lock) - - - -__evict_thread_stop->__evict_clear_all_walks - - - - - -__evict_walk - -__evict_walk -__wt_spin_trylock(&cache->evict_walk_lock) - - - -__evict_walk_tree - -__evict_walk_tree - - - -__evict_walk->__evict_walk_tree - - - - - -__wt_evict_file_exclusive_on - -__wt_evict_file_exclusive_on -__wt_spin_lock(&cache->evict_walk_lock) -WT_WITH_PASS_LOCK(evict_pass_lock) - - - -__evict_clear_walk - -__evict_clear_walk - - - -__wt_evict_file_exclusive_on->__evict_clear_walk - - - - - -__evict_clear_all_walks->__evict_clear_walk - - - - - -__evict_lru_walk - -__evict_lru_walk - - - -__evict_pass->__evict_lru_walk - - - - - -__evict_lru_walk->__evict_walk - - - - - +calls__evict_server__evict_server__evict_clear_all_walks__evict_clear_all_walks__evict_server->__evict_clear_all_walks__evict_pass__evict_pass__evict_server->__evict_pass__evict_thread_run__evict_thread_run__wt_spin_trylock(&cache->evict_pass_lock)__evict_thread_run->__evict_server__evict_thread_stop__evict_thread_stopWT_WITH_PASS_LOCK(evict_pass_lock)__evict_thread_stop->__evict_clear_all_walks__evict_walk__evict_walk__wt_spin_trylock(&cache->evict_walk_lock)__evict_walk_tree__evict_walk_tree__evict_walk->__evict_walk_tree__wt_evict_file_exclusive_on__wt_evict_file_exclusive_on__wt_spin_lock(&cache->evict_walk_lock)WT_WITH_PASS_LOCK(evict_pass_lock)__evict_clear_walk__evict_clear_walk__wt_evict_file_exclusive_on->__evict_clear_walk__evict_clear_all_walks->__evict_clear_walk__evict_lru_walk__evict_lru_walk__evict_pass->__evict_lru_walk__evict_lru_walk->__evict_walk \ No newline at end of file diff --git a/src/third_party/wiredtiger/src/docs/images/locks-evict-example.svg b/src/third_party/wiredtiger/src/docs/images/locks-evict-example.svg index b215d086d0b0b..2233d2d00d224 100644 --- a/src/third_party/wiredtiger/src/docs/images/locks-evict-example.svg +++ b/src/third_party/wiredtiger/src/docs/images/locks-evict-example.svg @@ -1,718 +1 @@ - - - - - - -calls - - - -__evict_get_ref - -__evict_get_ref -__wt_spin_lock(&cache->evict_queue_lock) -__wt_spin_lock(&queue->evict_lock) -__wt_spin_trylock(&queue->evict_lock) - - - -__evict_list_clear_page_locked - -__evict_list_clear_page_locked -__wt_spin_lock(&cache->evict_queues[q].evict_lock) - - - -__evict_lru_walk - -__evict_lru_walk -__wt_spin_lock(&queue->evict_lock) - - - -__evict_walk - -__evict_walk -__wt_spin_trylock(&cache->evict_walk_lock) - - - -__evict_lru_walk->__evict_walk - - - - - -__evict_server - -__evict_server - - - -__evict_pass - -__evict_pass - - - -__evict_server->__evict_pass - - - - - -__evict_clear_all_walks - -__evict_clear_all_walks - - - -__evict_server->__evict_clear_all_walks - - - - - -__evict_thread_run - -__evict_thread_run -__wt_spin_trylock(&cache->evict_pass_lock) - - - -__evict_thread_run->__evict_server - - - - - -__evict_lru_pages - -__evict_lru_pages - - - -__evict_thread_run->__evict_lru_pages - - - - - -__evict_thread_stop - -__evict_thread_stop -WT_WITH_PASS_LOCK(evict_pass_lock) - - - -__evict_thread_stop->__evict_clear_all_walks - - - - - -__evict_walk_tree - -__evict_walk_tree - - - -__evict_walk->__evict_walk_tree - - - - - -__wt_page_evict_urgent - -__wt_page_evict_urgent -__wt_spin_lock(&cache->evict_queue_lock) -__wt_spin_lock(&urgent_queue->evict_lock) - - - -__evict_walk_tree->__wt_page_evict_urgent - - - - - -__wt_page_release - -__wt_page_release - - - -__evict_walk_tree->__wt_page_release - - - - - -__wt_random_descent - -__wt_random_descent - - - -__evict_walk_tree->__wt_random_descent - - - - - -__wt_tree_walk_count - -__wt_tree_walk_count - - - -__evict_walk_tree->__wt_tree_walk_count - - - - - -__wt_evict_file_exclusive_on - -__wt_evict_file_exclusive_on -__wt_spin_lock(&cache->evict_walk_lock) -WT_WITH_PASS_LOCK(evict_pass_lock) -__wt_spin_lock(&cache->evict_queue_lock) -__wt_spin_lock(&cache->evict_queues[q].evict_lock) - - - -__evict_clear_walk - -__evict_clear_walk - - - -__wt_evict_file_exclusive_on->__evict_clear_walk - - - - - -__wt_page_evict_urgent->__evict_list_clear_page_locked - - - - - -__wti_evict_list_clear_page - -__wti_evict_list_clear_page -__wt_spin_lock(&cache->evict_queue_lock) - - - -__wti_evict_list_clear_page->__evict_list_clear_page_locked - - - - - -__evict_pass->__evict_lru_walk - - - - - -__evict_pass->__evict_lru_pages - - - - - -__wt_page_release->__wt_page_evict_urgent - - - - - -__wt_page_release_evict - -__wt_page_release_evict - - - -__wt_page_release->__wt_page_release_evict - - - - - -__evict_page - -__evict_page - - - -__evict_lru_pages->__evict_page - - - - - -__evict_page->__evict_get_ref - - - - - -__wt_evict - -__wt_evict - - - -__evict_page->__wt_evict - - - - - -__wt_random_descent->__wt_page_release - - - - - -__wt_page_swap - -__wt_page_swap - - - -__wt_random_descent->__wt_page_swap - - - - - -__evict_clear_walk->__wt_page_release - - - - - -__evict_clear_all_walks->__evict_clear_walk - - - - - -__wt_evict->__wti_evict_list_clear_page - - - - - -__evict_page_dirty_update - -__evict_page_dirty_update - - - -__wt_evict->__evict_page_dirty_update - - - - - -__wt_split_insert - -__wt_split_insert - - - -__wt_evict->__wt_split_insert - - - - - -__wt_page_release_evict->__wt_evict - - - - - -__tree_walk_internal - -__tree_walk_internal - - - -__wt_tree_walk_count->__tree_walk_internal - - - - - -__tree_walk_internal->__wt_page_release - - - - - -__tree_walk_internal->__wt_page_swap - - - - - -__wti_delete_page - -__wti_delete_page - - - -__tree_walk_internal->__wti_delete_page - - - - - -__wt_page_swap_func - -__wt_page_swap_func - - - -__wt_page_swap->__wt_page_swap_func - - - - - -__wt_page_swap_func->__wt_page_release - - - - - -__wt_page_in_func - -__wt_page_in_func - - - -__wt_page_swap_func->__wt_page_in_func - - - - - -__wti_delete_page->__wt_evict - - - - - -__wt_page_in_func->__wt_page_release_evict - - - - - -__wt_cache_eviction_check - -__wt_cache_eviction_check - - - -__wt_page_in_func->__wt_cache_eviction_check - - - - - -__page_read - -__page_read - - - -__wt_page_in_func->__page_read - - - - - -__wt_txn_autocommit_check - -__wt_txn_autocommit_check - - - -__wt_page_in_func->__wt_txn_autocommit_check - - - - - -__wt_cache_eviction_worker - -__wt_cache_eviction_worker - - - -__wt_cache_eviction_check->__wt_cache_eviction_worker - - - - - -__wt_cache_eviction_worker->__evict_page - - - - - -__wt_split_rewrite - -__wt_split_rewrite - - - -__evict_page_dirty_update->__wt_split_rewrite - - - - - -__split_multi_inmem - -__split_multi_inmem - - - -__wt_split_rewrite->__split_multi_inmem - - - - - -__wt_col_search - -__wt_col_search - - - -__split_multi_inmem->__wt_col_search - - - - - -__wt_row_search - -__wt_row_search - - - -__split_multi_inmem->__wt_row_search - - - - - -__wti_page_inmem_prepare - -__wti_page_inmem_prepare - - - -__split_multi_inmem->__wti_page_inmem_prepare - - - - - -__wt_btcur_close - -__wt_btcur_close - - - -__split_multi_inmem->__wt_btcur_close - - - - - -__wt_col_search->__wt_page_release - - - - - -__wt_row_search->__wt_page_release - - - - - -__page_read->__wti_page_inmem_prepare - - - - - -__wti_delete_page_instantiate - -__wti_delete_page_instantiate - - - -__page_read->__wti_delete_page_instantiate - - - - - -__wti_page_inmem_prepare->__wt_row_search - - - - - -__wti_page_inmem_prepare->__wt_btcur_close - - - - - -__page_inmem_prepare_update_col - -__page_inmem_prepare_update_col - - - -__wti_page_inmem_prepare->__page_inmem_prepare_update_col - - - - - -__cursor_reset - -__cursor_reset - - - -__wt_btcur_close->__cursor_reset - - - - - -__cursor_reset->__wt_page_release - - - - - -__split_insert_lock - -__split_insert_lock - - - -__wt_split_insert->__split_insert_lock - - - - - -__split_parent_climb - -__split_parent_climb - - - -__split_insert_lock->__split_parent_climb - - - - - -__split_root - -__split_root - - - -__split_parent_climb->__split_root - - - - - -__split_verify_root - -__split_verify_root - - - -__split_root->__split_verify_root - - - - - -__split_verify_root->__wt_page_release - - - - - -__instantiate_col_var - -__instantiate_col_var - - - -__wti_delete_page_instantiate->__instantiate_col_var - - - - - -__instantiate_col_var->__wt_col_search - - - - - -__page_inmem_prepare_update_col->__wt_col_search - - - - - -__wt_txn_begin - -__wt_txn_begin - - - -__wt_txn_autocommit_check->__wt_txn_begin - - - - - -__wt_txn_begin->__wt_cache_eviction_check - - - - - +calls__evict_get_ref__evict_get_ref__wt_spin_lock(&cache->evict_queue_lock)__wt_spin_lock(&queue->evict_lock)__wt_spin_trylock(&queue->evict_lock)__evict_list_clear_page_locked__evict_list_clear_page_locked__wt_spin_lock(&cache->evict_queues[q].evict_lock)__evict_lru_walk__evict_lru_walk__wt_spin_lock(&queue->evict_lock)__evict_walk__evict_walk__wt_spin_trylock(&cache->evict_walk_lock)__evict_lru_walk->__evict_walk__evict_server__evict_server__evict_pass__evict_pass__evict_server->__evict_pass__evict_clear_all_walks__evict_clear_all_walks__evict_server->__evict_clear_all_walks__evict_thread_run__evict_thread_run__wt_spin_trylock(&cache->evict_pass_lock)__evict_thread_run->__evict_server__evict_lru_pages__evict_lru_pages__evict_thread_run->__evict_lru_pages__evict_thread_stop__evict_thread_stopWT_WITH_PASS_LOCK(evict_pass_lock)__evict_thread_stop->__evict_clear_all_walks__evict_walk_tree__evict_walk_tree__evict_walk->__evict_walk_tree__wt_page_evict_urgent__wt_page_evict_urgent__wt_spin_lock(&cache->evict_queue_lock)__wt_spin_lock(&urgent_queue->evict_lock)__evict_walk_tree->__wt_page_evict_urgent__wt_page_release__wt_page_release__evict_walk_tree->__wt_page_release__wt_random_descent__wt_random_descent__evict_walk_tree->__wt_random_descent__wt_tree_walk_count__wt_tree_walk_count__evict_walk_tree->__wt_tree_walk_count__wt_evict_file_exclusive_on__wt_evict_file_exclusive_on__wt_spin_lock(&cache->evict_walk_lock)WT_WITH_PASS_LOCK(evict_pass_lock)__wt_spin_lock(&cache->evict_queue_lock)__wt_spin_lock(&cache->evict_queues[q].evict_lock)__evict_clear_walk__evict_clear_walk__wt_evict_file_exclusive_on->__evict_clear_walk__wt_page_evict_urgent->__evict_list_clear_page_locked__wti_evict_list_clear_page__wti_evict_list_clear_page__wt_spin_lock(&cache->evict_queue_lock)__wti_evict_list_clear_page->__evict_list_clear_page_locked__evict_pass->__evict_lru_walk__evict_pass->__evict_lru_pages__wt_page_release->__wt_page_evict_urgent__wt_page_release_evict__wt_page_release_evict__wt_page_release->__wt_page_release_evict__evict_page__evict_page__evict_lru_pages->__evict_page__evict_page->__evict_get_ref__wt_evict__wt_evict__evict_page->__wt_evict__wt_random_descent->__wt_page_release__wt_page_swap__wt_page_swap__wt_random_descent->__wt_page_swap__evict_clear_walk->__wt_page_release__evict_clear_all_walks->__evict_clear_walk__wt_evict->__wti_evict_list_clear_page__evict_page_dirty_update__evict_page_dirty_update__wt_evict->__evict_page_dirty_update__wt_split_insert__wt_split_insert__wt_evict->__wt_split_insert__wt_page_release_evict->__wt_evict__tree_walk_internal__tree_walk_internal__wt_tree_walk_count->__tree_walk_internal__tree_walk_internal->__wt_page_release__tree_walk_internal->__wt_page_swap__wti_delete_page__wti_delete_page__tree_walk_internal->__wti_delete_page__wt_page_swap_func__wt_page_swap_func__wt_page_swap->__wt_page_swap_func__wt_page_swap_func->__wt_page_release__wt_page_in_func__wt_page_in_func__wt_page_swap_func->__wt_page_in_func__wti_delete_page->__wt_evict__wt_page_in_func->__wt_page_release_evict__wt_cache_eviction_check__wt_cache_eviction_check__wt_page_in_func->__wt_cache_eviction_check__page_read__page_read__wt_page_in_func->__page_read__wt_txn_autocommit_check__wt_txn_autocommit_check__wt_page_in_func->__wt_txn_autocommit_check__wt_cache_eviction_worker__wt_cache_eviction_worker__wt_cache_eviction_check->__wt_cache_eviction_worker__wt_cache_eviction_worker->__evict_page__wt_split_rewrite__wt_split_rewrite__evict_page_dirty_update->__wt_split_rewrite__split_multi_inmem__split_multi_inmem__wt_split_rewrite->__split_multi_inmem__wt_col_search__wt_col_search__split_multi_inmem->__wt_col_search__wt_row_search__wt_row_search__split_multi_inmem->__wt_row_search__wti_page_inmem_prepare__wti_page_inmem_prepare__split_multi_inmem->__wti_page_inmem_prepare__wt_btcur_close__wt_btcur_close__split_multi_inmem->__wt_btcur_close__wt_col_search->__wt_page_release__wt_row_search->__wt_page_release__page_read->__wti_page_inmem_prepare__wti_delete_page_instantiate__wti_delete_page_instantiate__page_read->__wti_delete_page_instantiate__wti_page_inmem_prepare->__wt_row_search__wti_page_inmem_prepare->__wt_btcur_close__page_inmem_prepare_update_col__page_inmem_prepare_update_col__wti_page_inmem_prepare->__page_inmem_prepare_update_col__cursor_reset__cursor_reset__wt_btcur_close->__cursor_reset__cursor_reset->__wt_page_release__split_insert_lock__split_insert_lock__wt_split_insert->__split_insert_lock__split_parent_climb__split_parent_climb__split_insert_lock->__split_parent_climb__split_root__split_root__split_parent_climb->__split_root__split_verify_root__split_verify_root__split_root->__split_verify_root__split_verify_root->__wt_page_release__instantiate_col_var__instantiate_col_var__wti_delete_page_instantiate->__instantiate_col_var__instantiate_col_var->__wt_col_search__page_inmem_prepare_update_col->__wt_col_search__wt_txn_begin__wt_txn_begin__wt_txn_autocommit_check->__wt_txn_begin__wt_txn_begin->__wt_cache_eviction_check \ No newline at end of file diff --git a/src/third_party/wiredtiger/src/docs/images/locks-log-example.svg b/src/third_party/wiredtiger/src/docs/images/locks-log-example.svg index 248cdce964208..278c2e435b44f 100644 --- a/src/third_party/wiredtiger/src/docs/images/locks-log-example.svg +++ b/src/third_party/wiredtiger/src/docs/images/locks-log-example.svg @@ -1,520 +1 @@ - - - - - - -calls - - - -__compute_min_lognum - -__compute_min_lognum -__wt_readlock(session, &conn->debug_log_retention_lock); -__wt_readunlock(session, &conn->debug_log_retention_lock); - - - -__curlog_close - -__curlog_close -__wt_readunlock(session, &conn->log->log_remove_lock); - - - -__log_alloc_prealloc - -__log_alloc_prealloc -__wt_spin_lock(session, &log->log_fs_lock); -__wt_spin_unlock_if_owned(session, &log->log_fs_lock); - - - -__log_fsync_dir - -__log_fsync_dir -WT_ASSERT_SPINLOCK_OWNED(session, &log->log_sync_lock); - - - -__log_fsync_file - -__log_fsync_file -WT_ASSERT_SPINLOCK_OWNED(session, &log->log_sync_lock); - - - -__log_newfile - -__log_newfile -__wt_spin_unlock(session, &log->log_slot_lock); -__wt_spin_lock(session, &log->log_slot_lock); - - - -__log_newfile->__log_alloc_prealloc - - - - - -__wt_log_allocfile - -__wt_log_allocfile -__wt_spin_lock(session, &log->log_fs_lock); -__wt_spin_unlock(session, &log->log_fs_lock); - - - -__log_newfile->__wt_log_allocfile - - - - - -__wt_log_wrlsn - -__wt_log_wrlsn -__wt_spin_lock(session, &log->log_writelsn_lock); -__wt_spin_unlock(session, &log->log_writelsn_lock); - - - -__log_newfile->__wt_log_wrlsn - - - - - -__wti_log_system_prevlsn - -__wti_log_system_prevlsn - - - -__log_newfile->__wti_log_system_prevlsn - - - - - -__log_prealloc_remove - -__log_prealloc_remove -__wt_spin_lock(session, &log->log_fs_lock); -__wt_spin_unlock(session, &log->log_fs_lock); - - - -__log_server - -__log_server -if (__wt_try_writelock(session, &log->log_remove_lock) == 0) { -__wt_writeunlock(session, &log->log_remove_lock); - - - -__log_prealloc_once - -__log_prealloc_once - - - -__log_server->__log_prealloc_once - - - - - -__log_remove_once - -__log_remove_once - - - -__log_server->__log_remove_once - - - - - -__wt_log_force_write - -__wt_log_force_write - - - -__log_server->__wt_log_force_write - - - - - -__log_slot_new - -__log_slot_new -__wt_spin_unlock(session, &log->log_slot_lock); -__wt_spin_lock(session, &log->log_slot_lock); - - - -__wti_log_acquire - -__wti_log_acquire - - - -__log_slot_new->__wti_log_acquire - - - - - -__log_wait_for_earlier_slot - -__log_wait_for_earlier_slot -__wt_spin_unlock(session, &log->log_slot_lock); -__wt_spin_lock(session, &log->log_slot_lock); - - - -__wt_curlog_open - -__wt_curlog_open -__wt_readlock(session, &log->log_remove_lock); - - - -__wt_curlog_open->__curlog_close - - - - - -__wt_curlog_open->__wt_log_force_write - - - - - -__log_file_header - -__log_file_header - - - -__wt_log_allocfile->__log_file_header - - - - - -__wt_log_force_sync - -__wt_log_force_sync -__wt_spin_lock(session, &log->log_sync_lock); -__wt_spin_unlock(session, &log->log_sync_lock); - - - -__wt_log_force_sync->__log_fsync_dir - - - - - -__wt_log_force_sync->__log_fsync_file - - - - - -__wt_log_open - -__wt_log_open -WT_WITH_SLOT_LOCK(log_slot_lock) - - - -__wt_log_open->__log_newfile - - - - - -__wt_log_open->__log_prealloc_remove - - - - - -__wt_log_reset - -__wt_log_reset -WT_WITH_SLOT_LOCK(log_slot_lock) - - - -__wt_log_reset->__log_newfile - - - - - -__wt_log_set_version - -__wt_log_set_version -WT_WITH_SLOT_LOCK(log_slot_lock) - - - -__wt_log_set_version->__wt_log_force_write - - - - - -__log_set_version - -__log_set_version - - - -__wt_log_set_version->__log_set_version - - - - - -__wt_log_printf - -__wt_log_printf - - - -__wt_log_set_version->__wt_log_printf - - - - - -__wt_log_truncate_files - -__wt_log_truncate_files -__wt_writelock(session, &log->log_remove_lock); -__wt_writeunlock(session, &log->log_remove_lock); - - - -__wt_log_truncate_files->__log_remove_once - - - - - -__wti_log_release - -__wti_log_release -__wt_spin_trylock(session, &log->log_sync_lock) != 0) { -__wt_spin_unlock(session, &log->log_sync_lock); -__wt_spin_unlock_if_owned(session, &log->log_sync_lock); - - - -__wti_log_release->__log_fsync_dir - - - - - -__wti_log_release->__log_fsync_file - - - - - -__wti_log_release->__log_wait_for_earlier_slot - - - - - -__log_fs_write - -__log_fs_write - - - -__wti_log_release->__log_fs_write - - - - - -__wti_log_slot_switch - -__wti_log_slot_switch -WT_WITH_SLOT_LOCK(log_slot_lock) - - - -__log_slot_switch_internal - -__log_slot_switch_internal - - - -__wti_log_slot_switch->__log_slot_switch_internal - - - - - -__log_prealloc_once->__wt_log_allocfile - - - - - -__log_remove_once->__compute_min_lognum - - - - - -__wt_log_force_write->__wti_log_slot_switch - - - - - -__wti_log_acquire->__log_newfile - - - - - -__log_set_version->__log_prealloc_remove - - - - - -__log_fs_write->__log_wait_for_earlier_slot - - - - - -__log_fs_write->__wt_log_force_sync - - - - - -__log_slot_switch_internal->__log_slot_new - - - - - -__log_slot_switch_internal->__wti_log_release - - - - - -__log_file_header->__wti_log_acquire - - - - - -__wti_log_fill - -__wti_log_fill - - - -__log_file_header->__wti_log_fill - - - - - -__wti_log_system_prevlsn->__wti_log_fill - - - - - -__wti_log_fill->__log_fs_write - - - - - -__wt_log_vprintf - -__wt_log_vprintf - - - -__wt_log_printf->__wt_log_vprintf - - - - - -__wt_log_write - -__wt_log_write - - - -__wt_log_vprintf->__wt_log_write - - - - - -__log_write_internal - -__log_write_internal - - - -__wt_log_write->__log_write_internal - - - - - -__log_write_internal->__wti_log_release - - - - - -__log_write_internal->__wti_log_slot_switch - - - - - -__log_write_internal->__wt_log_force_write - - - - - -__log_write_internal->__wti_log_fill - - - - - +calls__compute_min_lognum__compute_min_lognum__wt_readlock(session, &conn->debug_log_retention_lock);__wt_readunlock(session, &conn->debug_log_retention_lock);__curlog_close__curlog_close__wt_readunlock(session, &conn->log->log_remove_lock);__log_alloc_prealloc__log_alloc_prealloc__wt_spin_lock(session, &log->log_fs_lock);__wt_spin_unlock_if_owned(session, &log->log_fs_lock);__log_fsync_dir__log_fsync_dirWT_ASSERT_SPINLOCK_OWNED(session, &log->log_sync_lock);__log_fsync_file__log_fsync_fileWT_ASSERT_SPINLOCK_OWNED(session, &log->log_sync_lock);__log_newfile__log_newfile__wt_spin_unlock(session, &log->log_slot_lock);__wt_spin_lock(session, &log->log_slot_lock);__log_newfile->__log_alloc_prealloc__wt_log_allocfile__wt_log_allocfile__wt_spin_lock(session, &log->log_fs_lock);__wt_spin_unlock(session, &log->log_fs_lock);__log_newfile->__wt_log_allocfile__wt_log_wrlsn__wt_log_wrlsn__wt_spin_lock(session, &log->log_writelsn_lock);__wt_spin_unlock(session, &log->log_writelsn_lock);__log_newfile->__wt_log_wrlsn__wti_log_system_prevlsn__wti_log_system_prevlsn__log_newfile->__wti_log_system_prevlsn__log_prealloc_remove__log_prealloc_remove__wt_spin_lock(session, &log->log_fs_lock);__wt_spin_unlock(session, &log->log_fs_lock);__log_server__log_serverif (__wt_try_writelock(session, &log->log_remove_lock) == 0) {__wt_writeunlock(session, &log->log_remove_lock);__log_prealloc_once__log_prealloc_once__log_server->__log_prealloc_once__log_remove_once__log_remove_once__log_server->__log_remove_once__wt_log_force_write__wt_log_force_write__log_server->__wt_log_force_write__log_slot_new__log_slot_new__wt_spin_unlock(session, &log->log_slot_lock);__wt_spin_lock(session, &log->log_slot_lock);__wti_log_acquire__wti_log_acquire__log_slot_new->__wti_log_acquire__log_wait_for_earlier_slot__log_wait_for_earlier_slot__wt_spin_unlock(session, &log->log_slot_lock);__wt_spin_lock(session, &log->log_slot_lock);__wt_curlog_open__wt_curlog_open__wt_readlock(session, &log->log_remove_lock);__wt_curlog_open->__curlog_close__wt_curlog_open->__wt_log_force_write__log_file_header__log_file_header__wt_log_allocfile->__log_file_header__wt_log_force_sync__wt_log_force_sync__wt_spin_lock(session, &log->log_sync_lock);__wt_spin_unlock(session, &log->log_sync_lock);__wt_log_force_sync->__log_fsync_dir__wt_log_force_sync->__log_fsync_file__wt_log_open__wt_log_openWT_WITH_SLOT_LOCK(log_slot_lock)__wt_log_open->__log_newfile__wt_log_open->__log_prealloc_remove__wt_log_reset__wt_log_resetWT_WITH_SLOT_LOCK(log_slot_lock)__wt_log_reset->__log_newfile__wt_log_set_version__wt_log_set_versionWT_WITH_SLOT_LOCK(log_slot_lock)__wt_log_set_version->__wt_log_force_write__log_set_version__log_set_version__wt_log_set_version->__log_set_version__wt_log_printf__wt_log_printf__wt_log_set_version->__wt_log_printf__wt_log_truncate_files__wt_log_truncate_files__wt_writelock(session, &log->log_remove_lock);__wt_writeunlock(session, &log->log_remove_lock);__wt_log_truncate_files->__log_remove_once__wti_log_release__wti_log_release__wt_spin_trylock(session, &log->log_sync_lock) != 0) {__wt_spin_unlock(session, &log->log_sync_lock);__wt_spin_unlock_if_owned(session, &log->log_sync_lock);__wti_log_release->__log_fsync_dir__wti_log_release->__log_fsync_file__wti_log_release->__log_wait_for_earlier_slot__log_fs_write__log_fs_write__wti_log_release->__log_fs_write__wti_log_slot_switch__wti_log_slot_switchWT_WITH_SLOT_LOCK(log_slot_lock)__log_slot_switch_internal__log_slot_switch_internal__wti_log_slot_switch->__log_slot_switch_internal__log_prealloc_once->__wt_log_allocfile__log_remove_once->__compute_min_lognum__wt_log_force_write->__wti_log_slot_switch__wti_log_acquire->__log_newfile__log_set_version->__log_prealloc_remove__log_fs_write->__log_wait_for_earlier_slot__log_fs_write->__wt_log_force_sync__log_slot_switch_internal->__log_slot_new__log_slot_switch_internal->__wti_log_release__log_file_header->__wti_log_acquire__wti_log_fill__wti_log_fill__log_file_header->__wti_log_fill__wti_log_system_prevlsn->__wti_log_fill__wti_log_fill->__log_fs_write__wt_log_vprintf__wt_log_vprintf__wt_log_printf->__wt_log_vprintf__wt_log_write__wt_log_write__wt_log_vprintf->__wt_log_write__log_write_internal__log_write_internal__wt_log_write->__log_write_internal__log_write_internal->__wti_log_release__log_write_internal->__wti_log_slot_switch__log_write_internal->__wt_log_force_write__log_write_internal->__wti_log_fill \ No newline at end of file