Last active
January 9, 2018 15:27
-
-
Save rzarzynski/fb7eb4bf995a69156082330c5ab1ed2d to your computer and use it in GitHub Desktop.
Profiling unbuffered 4 KiB randreads on incerta
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Gathering Samples........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ | |
Profiling complete with 1000 samples. | |
Thread: 1 (ceph-osd) - 1000 samples | |
+ 100.00% main | |
+ 100.00% AsyncMessenger::wait | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 2 (signal_handler) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% SignalHandler::entry | |
+ 100.00% poll | |
+ 100.00% poll | |
Thread: 3 (osd_srv_agent) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% OSDService::AgentThread::entry | |
+ 100.00% OSDService::agent_entry | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 4 (safe_timer) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% SafeTimerThread::entry | |
+ 100.00% SafeTimer::timer_thread | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 5 (safe_timer) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% SafeTimerThread::entry | |
+ 100.00% SafeTimer::timer_thread | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 6 (safe_timer) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% SafeTimerThread::entry | |
+ 100.00% SafeTimer::timer_thread | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 7 (safe_timer) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% SafeTimerThread::entry | |
+ 100.00% SafeTimer::timer_thread | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 8 (finisher) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% Finisher::finisher_thread_entry | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 9 (fn_anonymous) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% Finisher::finisher_thread_entry | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 10 (osd_srv_heartbt) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% OSD::T_Heartbeat::entry | |
+ 100.00% OSD::heartbeat_entry | |
+ 100.00% WaitInterval | |
+ 100.00% WaitUntil | |
+ 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 | |
Thread: 11 (tp_osd_cmd) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ThreadPool::WorkThread::entry | |
+ 100.00% ThreadPool::worker | |
+ 100.00% WaitInterval | |
+ 100.00% WaitUntil | |
+ 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 | |
Thread: 12 (tp_osd_disk) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ThreadPool::WorkThread::entry | |
+ 100.00% ThreadPool::worker | |
+ 100.00% WaitInterval | |
+ 100.00% WaitUntil | |
+ 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 | |
Thread: 13 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.10% __pthread_mutex_cond_lock | |
+ 0.10% _L_cond_lock_789 | |
+ 0.10% __lll_lock_wait | |
Thread: 14 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.90% Cond::Wait | |
| + 99.90% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% run | |
+ 0.10% PGOpItem::run | |
+ 0.10% OSD::dequeue_op | |
+ 0.10% PrimaryLogPG::do_request | |
+ 0.10% PrimaryLogPG::do_op | |
+ 0.10% PrimaryLogPG::execute_ctx | |
+ 0.10% PrimaryLogPG::prepare_transaction | |
+ 0.10% PrimaryLogPG::do_osd_ops | |
+ 0.10% md_config_t::get_val<bool> | |
+ 0.10% md_config_t::get_val_generic | |
+ 0.10% Locker | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_870 | |
+ 0.10% __lll_lock_wait | |
Thread: 15 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.60% Cond::Wait | |
| + 99.60% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.20% run | |
| + 0.20% PGOpItem::run | |
| + 0.20% OSD::dequeue_op | |
| + 0.20% PrimaryLogPG::do_request | |
| + 0.20% PrimaryLogPG::do_op | |
| + 0.20% PrimaryLogPG::execute_ctx | |
| + 0.10% PrimaryLogPG::prepare_transaction | |
| | + 0.10% PrimaryLogPG::do_osd_ops | |
| | + 0.10% PrimaryLogPG::do_read | |
| | + 0.10% ReplicatedBackend::objects_read_sync | |
| | + 0.10% BlueStore::read | |
| | + 0.10% BlueStore::_do_read | |
| | + 0.10% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
| | + 0.10% operator() | |
| | + 0.10% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_read(BlueStore::Collection*, BlueStore::OnodeRef, uint64_t, size_t, ceph::bufferlist&, uint32_t)::<lambda(uint64_t, uint64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550178>, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550188>) | |
| | + 0.10% operator() | |
| | + 0.10% KernelDevice::read | |
| | + 0.10% pread | |
| | + 0.10% pread64 | |
| + 0.10% PrimaryLogPG::complete_read_ctx | |
| + 0.10% send_message_osd_client | |
| + 0.10% AsyncConnection::send_message | |
| + 0.10% lock_guard | |
| + 0.10% std::mutex::lock | |
| + 0.10% __gthread_mutex_lock | |
| + 0.10% pthread_mutex_lock | |
| + 0.10% _L_lock_812 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% PG::lock | |
| + 0.10% Mutex::Lock | |
| + 0.10% pthread_mutex_lock | |
| + 0.10% _L_lock_812 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 16 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.40% Cond::Wait | |
| + 99.40% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.30% Mutex::Lock | |
| + 0.30% pthread_mutex_lock | |
| + 0.30% _L_lock_812 | |
| + 0.30% __lll_lock_wait | |
+ 0.20% run | |
| + 0.20% PGOpItem::run | |
| + 0.20% OSD::dequeue_op | |
| + 0.20% PrimaryLogPG::do_request | |
| + 0.20% PrimaryLogPG::do_op | |
| + 0.20% PrimaryLogPG::execute_ctx | |
| + 0.20% PrimaryLogPG::prepare_transaction | |
| + 0.20% PrimaryLogPG::do_osd_ops | |
| + 0.10% md_config_t::get_val<bool> | |
| | + 0.10% md_config_t::get_val_generic | |
| | + 0.10% Locker | |
| | + 0.10% Mutex::Lock | |
| | + 0.10% pthread_mutex_lock | |
| | + 0.10% _L_lock_870 | |
| | + 0.10% __lll_lock_wait | |
| + 0.10% PrimaryLogPG::do_read | |
| + 0.10% ReplicatedBackend::objects_read_sync | |
| + 0.10% BlueStore::read | |
| + 0.10% BlueStore::_do_read | |
| + 0.10% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
| + 0.10% operator() | |
| + 0.10% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_read(BlueStore::Collection*, BlueStore::OnodeRef, uint64_t, size_t, ceph::bufferlist&, uint32_t)::<lambda(uint64_t, uint64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550178>, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550188>) | |
| + 0.10% operator() | |
| + 0.10% KernelDevice::read | |
| + 0.10% pread | |
| + 0.10% pread64 | |
+ 0.10% PG::lock | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 17 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.50% Cond::Wait | |
| + 99.50% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.30% run | |
| + 0.30% PGOpItem::run | |
| + 0.30% OSD::dequeue_op | |
| + 0.30% PrimaryLogPG::do_request | |
| + 0.30% PrimaryLogPG::do_op | |
| + 0.30% PrimaryLogPG::execute_ctx | |
| + 0.20% PrimaryLogPG::prepare_transaction | |
| | + 0.20% PrimaryLogPG::do_osd_ops | |
| | + 0.20% PrimaryLogPG::do_read | |
| | + 0.20% ReplicatedBackend::objects_read_sync | |
| | + 0.20% BlueStore::read | |
| | + 0.20% BlueStore::_do_read | |
| | + 0.20% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
| | + 0.20% operator() | |
| | + 0.20% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_read(BlueStore::Collection*, BlueStore::OnodeRef, uint64_t, size_t, ceph::bufferlist&, uint32_t)::<lambda(uint64_t, uint64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550178>, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550188>) | |
| | + 0.20% operator() | |
| | + 0.20% KernelDevice::read | |
| | + 0.20% pread | |
| | + 0.20% pread64 | |
| + 0.10% PrimaryLogPG::complete_read_ctx | |
| + 0.10% PG::publish_stats_to_osd | |
| + 0.10% md_config_t::get_val<unsigned long> | |
| + 0.10% md_config_t::get_val_generic | |
| + 0.10% md_config_t::_get_val_generic | |
| + 0.10% ConfFile::normalize_key_name | |
| + 0.10% ConfFile::trim_whitespace | |
| + 0.10% isspace | |
+ 0.20% Mutex::Lock | |
+ 0.20% pthread_mutex_lock | |
+ 0.20% _L_lock_812 | |
+ 0.20% __lll_lock_wait | |
Thread: 18 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.90% Cond::Wait | |
| + 99.90% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.20% __pthread_mutex_cond_lock | |
| + 0.20% _L_cond_lock_789 | |
| + 0.20% __lll_lock_wait | |
+ 0.10% run | |
+ 0.10% PGOpItem::run | |
+ 0.10% OSD::dequeue_op | |
+ 0.10% PrimaryLogPG::do_request | |
+ 0.10% PrimaryLogPG::do_op | |
+ 0.10% PrimaryLogPG::execute_ctx | |
+ 0.10% PrimaryLogPG::prepare_transaction | |
+ 0.10% PrimaryLogPG::do_osd_ops | |
+ 0.10% md_config_t::get_val<bool> | |
+ 0.10% md_config_t::get_val_generic | |
+ 0.10% Locker | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_870 | |
+ 0.10% __lll_lock_wait | |
Thread: 19 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.90% Cond::Wait | |
| + 99.90% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.10% run | |
+ 0.10% PGOpItem::run | |
+ 0.10% OSD::dequeue_op | |
+ 0.10% PrimaryLogPG::do_request | |
+ 0.10% PrimaryLogPG::do_op | |
+ 0.10% PrimaryLogPG::execute_ctx | |
+ 0.10% PrimaryLogPG::complete_read_ctx | |
+ 0.10% send_message_osd_client | |
+ 0.10% AsyncConnection::send_message | |
+ 0.10% lock_guard | |
+ 0.10% std::mutex::lock | |
+ 0.10% __gthread_mutex_lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 20 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.90% Cond::Wait | |
| + 99.90% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% run | |
+ 0.10% PGOpItem::run | |
+ 0.10% OSD::dequeue_op | |
+ 0.10% PrimaryLogPG::do_request | |
+ 0.10% PrimaryLogPG::do_op | |
+ 0.10% PrimaryLogPG::execute_ctx | |
+ 0.10% PrimaryLogPG::complete_read_ctx | |
+ 0.10% send_message_osd_client | |
+ 0.10% AsyncConnection::send_message | |
+ 0.10% lock_guard | |
+ 0.10% std::mutex::lock | |
+ 0.10% __gthread_mutex_lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 21 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.80% Cond::Wait | |
| + 99.80% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.10% PG::lock | |
| + 0.10% Mutex::Lock | |
| + 0.10% pthread_mutex_lock | |
| + 0.10% _L_lock_812 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 22 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.80% Cond::Wait | |
| + 99.80% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.10% run | |
| + 0.10% PGOpItem::run | |
| + 0.10% OSD::dequeue_op | |
| + 0.10% PrimaryLogPG::do_request | |
| + 0.10% PrimaryLogPG::do_op | |
| + 0.10% PrimaryLogPG::execute_ctx | |
| + 0.10% PrimaryLogPG::prepare_transaction | |
| + 0.10% PrimaryLogPG::do_osd_ops | |
| + 0.10% PrimaryLogPG::do_read | |
| + 0.10% ReplicatedBackend::objects_read_sync | |
| + 0.10% BlueStore::read | |
| + 0.10% BlueStore::_do_read | |
| + 0.10% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
| + 0.10% operator() | |
| + 0.10% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_read(BlueStore::Collection*, BlueStore::OnodeRef, uint64_t, size_t, ceph::bufferlist&, uint32_t)::<lambda(uint64_t, uint64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550178>, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550188>) | |
| + 0.10% operator() | |
| + 0.10% KernelDevice::read | |
| + 0.10% pread | |
| + 0.10% pread64 | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 23 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.80% Cond::Wait | |
| + 99.80% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.10% ~OpQueueItem | |
| + 0.10% ~unique_ptr | |
| + 0.10% operator() | |
| + 0.10% PGOpItem::~PGOpItem | |
| + 0.10% ~PGOpItem | |
| + 0.10% ~intrusive_ptr | |
| + 0.10% intrusive_ptr_release | |
| + 0.10% TrackedOp::put | |
| + 0.10% OpTracker::unregister_inflight_op | |
| + 0.10% OpRequest::_unregistered | |
| + 0.10% clear_data | |
| + 0.10% Throttle::put | |
| + 0.10% uniquely_lock<std::mutex&> | |
| + 0.10% unique_lock | |
| + 0.10% lock | |
| + 0.10% lock | |
| + 0.10% __gthread_mutex_lock | |
| + 0.10% pthread_mutex_lock | |
| + 0.10% _L_lock_812 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% PG::lock | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 24 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.70% Cond::Wait | |
| + 99.70% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.20% __pthread_mutex_cond_lock | |
| + 0.20% _L_cond_lock_789 | |
| + 0.20% __lll_lock_wait | |
+ 0.30% run | |
+ 0.30% PGOpItem::run | |
+ 0.30% OSD::dequeue_op | |
+ 0.30% PrimaryLogPG::do_request | |
+ 0.30% PrimaryLogPG::do_op | |
+ 0.30% PrimaryLogPG::execute_ctx | |
+ 0.20% PrimaryLogPG::prepare_transaction | |
| + 0.20% PrimaryLogPG::do_osd_ops | |
| + 0.20% PrimaryLogPG::do_read | |
| + 0.20% ReplicatedBackend::objects_read_sync | |
| + 0.20% BlueStore::read | |
| + 0.20% BlueStore::_do_read | |
| + 0.20% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
| + 0.20% operator() | |
| + 0.20% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_read(BlueStore::Collection*, BlueStore::OnodeRef, uint64_t, size_t, ceph::bufferlist&, uint32_t)::<lambda(uint64_t, uint64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550178>, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550188>) | |
| + 0.20% operator() | |
| + 0.20% KernelDevice::read | |
| + 0.20% pread | |
| + 0.20% pread64 | |
+ 0.10% PrimaryLogPG::complete_read_ctx | |
+ 0.10% PG::publish_stats_to_osd | |
+ 0.10% md_config_t::get_val<unsigned long> | |
+ 0.10% md_config_t::get_val_generic | |
+ 0.10% Locker | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_870 | |
+ 0.10% __lll_lock_wait | |
Thread: 25 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.80% Cond::Wait | |
| + 99.80% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.20% __pthread_mutex_cond_lock | |
| + 0.20% _L_cond_lock_789 | |
| + 0.20% __lll_lock_wait | |
+ 0.10% ~OpQueueItem | |
| + 0.10% ~unique_ptr | |
| + 0.10% operator() | |
| + 0.10% PGOpItem::~PGOpItem | |
| + 0.10% ~PGOpItem | |
| + 0.10% ~intrusive_ptr | |
| + 0.10% intrusive_ptr_release | |
| + 0.10% TrackedOp::put | |
| + 0.10% OpTracker::unregister_inflight_op | |
| + 0.10% OpRequest::_unregistered | |
| + 0.10% clear_data | |
| + 0.10% Throttle::put | |
| + 0.10% uniquely_lock<std::mutex&> | |
| + 0.10% unique_lock | |
| + 0.10% lock | |
| + 0.10% lock | |
| + 0.10% __gthread_mutex_lock | |
| + 0.10% pthread_mutex_lock | |
| + 0.10% _L_lock_812 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% PG::lock | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 26 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.60% Cond::Wait | |
| + 99.60% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.30% run | |
| + 0.30% PGOpItem::run | |
| + 0.30% OSD::dequeue_op | |
| + 0.30% PrimaryLogPG::do_request | |
| + 0.30% PrimaryLogPG::do_op | |
| + 0.30% PrimaryLogPG::execute_ctx | |
| + 0.30% PrimaryLogPG::prepare_transaction | |
| + 0.30% PrimaryLogPG::do_osd_ops | |
| + 0.30% PrimaryLogPG::do_read | |
| + 0.30% ReplicatedBackend::objects_read_sync | |
| + 0.30% BlueStore::read | |
| + 0.30% BlueStore::_do_read | |
| + 0.30% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
| + 0.30% operator() | |
| + 0.30% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_read(BlueStore::Collection*, BlueStore::OnodeRef, uint64_t, size_t, ceph::bufferlist&, uint32_t)::<lambda(uint64_t, uint64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550178>, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550188>) | |
| + 0.30% operator() | |
| + 0.30% KernelDevice::read | |
| + 0.30% pread | |
| + 0.30% pread64 | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 27 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.40% Cond::Wait | |
| + 99.40% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.40% run | |
| + 0.40% PGOpItem::run | |
| + 0.40% OSD::dequeue_op | |
| + 0.40% PrimaryLogPG::do_request | |
| + 0.40% PrimaryLogPG::do_op | |
| + 0.40% PrimaryLogPG::execute_ctx | |
| + 0.30% PrimaryLogPG::complete_read_ctx | |
| | + 0.20% send_message_osd_client | |
| | | + 0.20% AsyncConnection::send_message | |
| | | + 0.20% lock_guard | |
| | | + 0.20% std::mutex::lock | |
| | | + 0.20% __gthread_mutex_lock | |
| | | + 0.20% pthread_mutex_lock | |
| | | + 0.20% _L_lock_812 | |
| | | + 0.20% __lll_lock_wait | |
| | + 0.10% PG::publish_stats_to_osd | |
| | + 0.10% md_config_t::get_val<unsigned long> | |
| | + 0.10% md_config_t::get_val_generic | |
| | + 0.10% Locker | |
| | + 0.10% Mutex::Lock | |
| | + 0.10% pthread_mutex_lock | |
| | + 0.10% _L_lock_870 | |
| | + 0.10% __lll_lock_wait | |
| + 0.10% PrimaryLogPG::prepare_transaction | |
| + 0.10% PrimaryLogPG::do_osd_ops | |
| + 0.10% PrimaryLogPG::do_read | |
| + 0.10% ReplicatedBackend::objects_read_sync | |
| + 0.10% BlueStore::read | |
| + 0.10% BlueStore::_do_read | |
| + 0.10% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
| + 0.10% operator() | |
| + 0.10% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_read(BlueStore::Collection*, BlueStore::OnodeRef, uint64_t, size_t, ceph::bufferlist&, uint32_t)::<lambda(uint64_t, uint64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550178>, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550188>) | |
| + 0.10% operator() | |
| + 0.10% KernelDevice::read | |
| + 0.10% pread | |
| + 0.10% pread64 | |
+ 0.20% Mutex::Lock | |
+ 0.20% pthread_mutex_lock | |
+ 0.20% _L_lock_812 | |
+ 0.20% __lll_lock_wait | |
Thread: 28 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.60% Cond::Wait | |
| + 99.60% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.20% run | |
| + 0.20% PGOpItem::run | |
| + 0.20% OSD::dequeue_op | |
| + 0.20% PrimaryLogPG::do_request | |
| + 0.20% PrimaryLogPG::do_op | |
| + 0.20% PrimaryLogPG::execute_ctx | |
| + 0.10% PrimaryLogPG::prepare_transaction | |
| | + 0.10% PrimaryLogPG::do_osd_ops | |
| | + 0.10% PrimaryLogPG::do_read | |
| | + 0.10% ReplicatedBackend::objects_read_sync | |
| | + 0.10% BlueStore::read | |
| | + 0.10% BlueStore::_do_read | |
| | + 0.10% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
| | + 0.10% operator() | |
| | + 0.10% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_read(BlueStore::Collection*, BlueStore::OnodeRef, uint64_t, size_t, ceph::bufferlist&, uint32_t)::<lambda(uint64_t, uint64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550178>, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550188>) | |
| | + 0.10% operator() | |
| | + 0.10% KernelDevice::read | |
| | + 0.10% pread | |
| | + 0.10% pread64 | |
| + 0.10% PrimaryLogPG::complete_read_ctx | |
| + 0.10% send_message_osd_client | |
| + 0.10% AsyncConnection::send_message | |
| + 0.10% lock_guard | |
| + 0.10% std::mutex::lock | |
| + 0.10% __gthread_mutex_lock | |
| + 0.10% pthread_mutex_lock | |
| + 0.10% _L_lock_812 | |
| + 0.10% __lll_lock_wait | |
+ 0.20% Mutex::Lock | |
+ 0.20% pthread_mutex_lock | |
+ 0.20% _L_lock_812 | |
+ 0.20% __lll_lock_wait | |
Thread: 29 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.80% Cond::Wait | |
| + 99.80% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.20% __pthread_mutex_cond_lock | |
| + 0.20% _L_cond_lock_789 | |
| + 0.20% __lll_lock_wait | |
+ 0.20% run | |
+ 0.20% PGOpItem::run | |
+ 0.20% OSD::dequeue_op | |
+ 0.20% PrimaryLogPG::do_request | |
+ 0.20% PrimaryLogPG::do_op | |
+ 0.20% PrimaryLogPG::execute_ctx | |
+ 0.10% PrimaryLogPG::prepare_transaction | |
| + 0.10% PrimaryLogPG::do_osd_ops | |
| + 0.10% md_config_t::get_val<bool> | |
| + 0.10% md_config_t::get_val_generic | |
| + 0.10% Locker | |
| + 0.10% Mutex::Lock | |
| + 0.10% pthread_mutex_lock | |
| + 0.10% _L_lock_870 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% PrimaryLogPG::complete_read_ctx | |
+ 0.10% send_message_osd_client | |
+ 0.10% AsyncConnection::send_message | |
+ 0.10% lock_guard | |
+ 0.10% std::mutex::lock | |
+ 0.10% __gthread_mutex_lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 30 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.60% Cond::Wait | |
| + 99.60% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.40% __pthread_mutex_cond_lock | |
| + 0.40% _L_cond_lock_789 | |
| + 0.40% __lll_lock_wait | |
+ 0.20% run | |
| + 0.20% PGOpItem::run | |
| + 0.20% OSD::dequeue_op | |
| + 0.20% PrimaryLogPG::do_request | |
| + 0.20% PrimaryLogPG::do_op | |
| + 0.20% PrimaryLogPG::execute_ctx | |
| + 0.20% PrimaryLogPG::complete_read_ctx | |
| + 0.20% send_message_osd_client | |
| + 0.20% AsyncConnection::send_message | |
| + 0.20% lock_guard | |
| + 0.20% std::mutex::lock | |
| + 0.20% __gthread_mutex_lock | |
| + 0.20% pthread_mutex_lock | |
| + 0.20% _L_lock_812 | |
| + 0.20% __lll_lock_wait | |
+ 0.10% PG::lock | |
| + 0.10% Mutex::Lock | |
| + 0.10% pthread_mutex_lock | |
| + 0.10% _L_lock_812 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 31 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.40% Cond::Wait | |
| + 99.40% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.20% __pthread_mutex_cond_lock | |
| + 0.20% _L_cond_lock_789 | |
| + 0.20% __lll_lock_wait | |
+ 0.30% run | |
| + 0.30% PGOpItem::run | |
| + 0.30% OSD::dequeue_op | |
| + 0.30% PrimaryLogPG::do_request | |
| + 0.30% PrimaryLogPG::do_op | |
| + 0.30% PrimaryLogPG::execute_ctx | |
| + 0.20% PrimaryLogPG::prepare_transaction | |
| | + 0.20% PrimaryLogPG::do_osd_ops | |
| | + 0.20% PrimaryLogPG::do_read | |
| | + 0.20% ReplicatedBackend::objects_read_sync | |
| | + 0.20% BlueStore::read | |
| | + 0.20% BlueStore::_do_read | |
| | + 0.20% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
| | + 0.20% operator() | |
| | + 0.20% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_read(BlueStore::Collection*, BlueStore::OnodeRef, uint64_t, size_t, ceph::bufferlist&, uint32_t)::<lambda(uint64_t, uint64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550178>, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550188>) | |
| | + 0.20% operator() | |
| | + 0.20% KernelDevice::read | |
| | + 0.20% pread | |
| | + 0.20% pread64 | |
| + 0.10% PrimaryLogPG::complete_read_ctx | |
| + 0.10% send_message_osd_client | |
| + 0.10% AsyncConnection::send_message | |
| + 0.10% lock_guard | |
| + 0.10% std::mutex::lock | |
| + 0.10% __gthread_mutex_lock | |
| + 0.10% pthread_mutex_lock | |
| + 0.10% _L_lock_812 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% ~OpQueueItem | |
| + 0.10% ~unique_ptr | |
| + 0.10% operator() | |
| + 0.10% PGOpItem::~PGOpItem | |
| + 0.10% ~PGOpItem | |
| + 0.10% ~intrusive_ptr | |
| + 0.10% intrusive_ptr_release | |
| + 0.10% TrackedOp::put | |
| + 0.10% OpTracker::unregister_inflight_op | |
| + 0.10% OpRequest::_unregistered | |
| + 0.10% clear_data | |
| + 0.10% Throttle::put | |
| + 0.10% uniquely_lock<std::mutex&> | |
| + 0.10% unique_lock | |
| + 0.10% lock | |
| + 0.10% lock | |
| + 0.10% __gthread_mutex_lock | |
| + 0.10% pthread_mutex_lock | |
| + 0.10% _L_lock_812 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% PG::lock | |
| + 0.10% Mutex::Lock | |
| + 0.10% pthread_mutex_lock | |
| + 0.10% _L_lock_812 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 32 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.80% Cond::Wait | |
| + 99.80% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.20% Mutex::Lock | |
+ 0.20% pthread_mutex_lock | |
+ 0.20% _L_lock_812 | |
+ 0.20% __lll_lock_wait | |
Thread: 33 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 34 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.90% Cond::Wait | |
| + 99.90% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% run | |
+ 0.10% PGOpItem::run | |
+ 0.10% OSD::dequeue_op | |
+ 0.10% PrimaryLogPG::do_request | |
+ 0.10% PrimaryLogPG::do_op | |
+ 0.10% PrimaryLogPG::execute_ctx | |
+ 0.10% PrimaryLogPG::prepare_transaction | |
+ 0.10% PrimaryLogPG::do_osd_ops | |
+ 0.10% md_config_t::get_val<bool> | |
+ 0.10% md_config_t::get_val_generic | |
+ 0.10% Locker | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_870 | |
+ 0.10% __lll_lock_wait | |
Thread: 35 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.70% Cond::Wait | |
| + 99.70% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.20% run | |
| + 0.20% PGOpItem::run | |
| + 0.20% OSD::dequeue_op | |
| + 0.20% PrimaryLogPG::do_request | |
| + 0.20% PrimaryLogPG::do_op | |
| + 0.20% PrimaryLogPG::execute_ctx | |
| + 0.20% PrimaryLogPG::prepare_transaction | |
| + 0.20% PrimaryLogPG::do_osd_ops | |
| + 0.10% md_config_t::get_val<bool> | |
| | + 0.10% md_config_t::get_val_generic | |
| | + 0.10% Locker | |
| | + 0.10% Mutex::Lock | |
| | + 0.10% pthread_mutex_lock | |
| | + 0.10% _L_lock_870 | |
| | + 0.10% __lll_lock_wait | |
| + 0.10% PrimaryLogPG::do_read | |
| + 0.10% ReplicatedBackend::objects_read_sync | |
| + 0.10% BlueStore::read | |
| + 0.10% BlueStore::_do_read | |
| + 0.10% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
| + 0.10% operator() | |
| + 0.10% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_read(BlueStore::Collection*, BlueStore::OnodeRef, uint64_t, size_t, ceph::bufferlist&, uint32_t)::<lambda(uint64_t, uint64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550178>, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550188>) | |
| + 0.10% operator() | |
| + 0.10% KernelDevice::read | |
| + 0.10% pread | |
| + 0.10% pread64 | |
+ 0.10% PG::lock | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 36 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.70% Cond::Wait | |
| + 99.70% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% ~OpQueueItem | |
| + 0.10% ~unique_ptr | |
| + 0.10% operator() | |
| + 0.10% PGOpItem::~PGOpItem | |
| + 0.10% ~PGOpItem | |
| + 0.10% ~intrusive_ptr | |
| + 0.10% intrusive_ptr_release | |
| + 0.10% TrackedOp::put | |
| + 0.10% OpTracker::unregister_inflight_op | |
| + 0.10% OpRequest::_unregistered | |
| + 0.10% clear_data | |
| + 0.10% Throttle::put | |
| + 0.10% uniquely_lock<std::mutex&> | |
| + 0.10% unique_lock | |
| + 0.10% lock | |
| + 0.10% lock | |
| + 0.10% __gthread_mutex_lock | |
| + 0.10% pthread_mutex_lock | |
| + 0.10% _L_lock_812 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% run | |
| + 0.10% PGOpItem::run | |
| + 0.10% OSD::dequeue_op | |
| + 0.10% PrimaryLogPG::do_request | |
| + 0.10% PrimaryLogPG::do_op | |
| + 0.10% ~shared_ptr | |
| + 0.10% ~__shared_ptr | |
| + 0.10% ~__shared_count | |
| + 0.10% std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 37 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.90% Cond::Wait | |
| + 99.90% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.10% PG::lock | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 38 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.60% Cond::Wait | |
| + 99.60% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.20% __pthread_mutex_cond_lock | |
| + 0.20% _L_cond_lock_789 | |
| + 0.20% __lll_lock_wait | |
+ 0.30% Mutex::Lock | |
| + 0.30% pthread_mutex_lock | |
| + 0.30% _L_lock_812 | |
| + 0.30% __lll_lock_wait | |
+ 0.10% ~OpQueueItem | |
+ 0.10% ~unique_ptr | |
+ 0.10% operator() | |
+ 0.10% PGOpItem::~PGOpItem | |
+ 0.10% ~PGOpItem | |
+ 0.10% ~intrusive_ptr | |
+ 0.10% intrusive_ptr_release | |
+ 0.10% TrackedOp::put | |
+ 0.10% OpTracker::unregister_inflight_op | |
+ 0.10% OpRequest::_unregistered | |
+ 0.10% clear_data | |
+ 0.10% Throttle::put | |
+ 0.10% uniquely_lock<std::mutex&> | |
+ 0.10% unique_lock | |
+ 0.10% lock | |
+ 0.10% lock | |
+ 0.10% __gthread_mutex_lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 39 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.60% Cond::Wait | |
| + 99.60% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.20% run | |
| + 0.20% PGOpItem::run | |
| + 0.20% OSD::dequeue_op | |
| + 0.20% PrimaryLogPG::do_request | |
| + 0.20% PrimaryLogPG::do_op | |
| + 0.20% PrimaryLogPG::execute_ctx | |
| + 0.10% PrimaryLogPG::prepare_transaction | |
| | + 0.10% PrimaryLogPG::do_osd_ops | |
| | + 0.10% PrimaryLogPG::do_read | |
| | + 0.10% ReplicatedBackend::objects_read_sync | |
| | + 0.10% BlueStore::read | |
| | + 0.10% BlueStore::_do_read | |
| | + 0.10% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
| | + 0.10% operator() | |
| | + 0.10% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_read(BlueStore::Collection*, BlueStore::OnodeRef, uint64_t, size_t, ceph::bufferlist&, uint32_t)::<lambda(uint64_t, uint64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550178>, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550188>) | |
| | + 0.10% operator() | |
| | + 0.10% KernelDevice::read | |
| | + 0.10% pread | |
| | + 0.10% pread64 | |
| + 0.10% PrimaryLogPG::complete_read_ctx | |
| + 0.10% send_message_osd_client | |
| + 0.10% AsyncConnection::send_message | |
| + 0.10% lock_guard | |
| + 0.10% std::mutex::lock | |
| + 0.10% __gthread_mutex_lock | |
| + 0.10% pthread_mutex_lock | |
| + 0.10% _L_lock_812 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% PG::lock | |
| + 0.10% Mutex::Lock | |
| + 0.10% pthread_mutex_lock | |
| + 0.10% _L_lock_812 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 40 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.50% Cond::Wait | |
| + 99.50% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.20% ~OpQueueItem | |
| + 0.20% ~unique_ptr | |
| + 0.20% operator() | |
| + 0.20% PGOpItem::~PGOpItem | |
| + 0.20% ~PGOpItem | |
| + 0.20% ~intrusive_ptr | |
| + 0.20% intrusive_ptr_release | |
| + 0.20% TrackedOp::put | |
| + 0.20% OpTracker::unregister_inflight_op | |
| + 0.20% OpRequest::_unregistered | |
| + 0.20% clear_data | |
| + 0.20% Throttle::put | |
| + 0.20% uniquely_lock<std::mutex&> | |
| + 0.20% unique_lock | |
| + 0.20% lock | |
| + 0.20% lock | |
| + 0.20% __gthread_mutex_lock | |
| + 0.20% pthread_mutex_lock | |
| + 0.20% _L_lock_812 | |
| + 0.20% __lll_lock_wait | |
+ 0.10% run | |
| + 0.10% PGOpItem::run | |
| + 0.10% OSD::dequeue_op | |
| + 0.10% PrimaryLogPG::do_request | |
| + 0.10% PrimaryLogPG::do_op | |
| + 0.10% PrimaryLogPG::execute_ctx | |
| + 0.10% PrimaryLogPG::complete_read_ctx | |
| + 0.10% PG::publish_stats_to_osd | |
| + 0.10% md_config_t::get_val<unsigned long> | |
| + 0.10% md_config_t::get_val_generic | |
| + 0.10% Locker | |
| + 0.10% Mutex::Lock | |
| + 0.10% pthread_mutex_lock | |
| + 0.10% _L_lock_870 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% PG::lock | |
| + 0.10% Mutex::Lock | |
| + 0.10% pthread_mutex_lock | |
| + 0.10% _L_lock_812 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 41 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.80% Cond::Wait | |
| + 99.80% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.20% run | |
+ 0.20% PGOpItem::run | |
+ 0.20% OSD::dequeue_op | |
+ 0.20% PrimaryLogPG::do_request | |
+ 0.20% PrimaryLogPG::do_op | |
+ 0.20% PrimaryLogPG::execute_ctx | |
+ 0.20% PrimaryLogPG::complete_read_ctx | |
+ 0.20% send_message_osd_client | |
+ 0.20% AsyncConnection::send_message | |
+ 0.20% lock_guard | |
+ 0.20% std::mutex::lock | |
+ 0.20% __gthread_mutex_lock | |
+ 0.20% pthread_mutex_lock | |
+ 0.20% _L_lock_812 | |
+ 0.20% __lll_lock_wait | |
Thread: 42 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.70% Cond::Wait | |
| + 99.70% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.20% __pthread_mutex_cond_lock | |
| + 0.20% _L_cond_lock_789 | |
| + 0.20% __lll_lock_wait | |
+ 0.20% Mutex::Lock | |
| + 0.20% pthread_mutex_lock | |
| + 0.20% _L_lock_812 | |
| + 0.20% __lll_lock_wait | |
+ 0.10% run | |
+ 0.10% PGOpItem::run | |
+ 0.10% OSD::dequeue_op | |
+ 0.10% PrimaryLogPG::do_request | |
+ 0.10% PrimaryLogPG::do_op | |
+ 0.10% PrimaryLogPG::execute_ctx | |
+ 0.10% PrimaryLogPG::complete_read_ctx | |
+ 0.10% PG::publish_stats_to_osd | |
+ 0.10% md_config_t::get_val<unsigned long> | |
+ 0.10% md_config_t::get_val_generic | |
+ 0.10% Locker | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_870 | |
+ 0.10% __lll_lock_wait | |
Thread: 43 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.90% Cond::Wait | |
| + 99.90% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% ~OpQueueItem | |
+ 0.10% ~unique_ptr | |
+ 0.10% operator() | |
+ 0.10% PGOpItem::~PGOpItem | |
+ 0.10% ~PGOpItem | |
+ 0.10% ~intrusive_ptr | |
+ 0.10% intrusive_ptr_release | |
+ 0.10% TrackedOp::put | |
+ 0.10% OpTracker::unregister_inflight_op | |
+ 0.10% OpRequest::_unregistered | |
+ 0.10% clear_data | |
+ 0.10% Throttle::put | |
+ 0.10% uniquely_lock<std::mutex&> | |
+ 0.10% unique_lock | |
+ 0.10% lock | |
+ 0.10% lock | |
+ 0.10% __gthread_mutex_lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 44 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.80% Cond::Wait | |
| + 99.80% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.10% run | |
| + 0.10% PGOpItem::run | |
| + 0.10% OSD::dequeue_op | |
| + 0.10% PrimaryLogPG::do_request | |
| + 0.10% PrimaryLogPG::do_op | |
| + 0.10% PrimaryLogPG::execute_ctx | |
| + 0.10% PrimaryLogPG::complete_read_ctx | |
| + 0.10% send_message_osd_client | |
| + 0.10% AsyncConnection::send_message | |
| + 0.10% lock_guard | |
| + 0.10% std::mutex::lock | |
| + 0.10% __gthread_mutex_lock | |
| + 0.10% pthread_mutex_lock | |
| + 0.10% _L_lock_812 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 45 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.70% Cond::Wait | |
| + 99.70% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.20% run | |
| + 0.20% PGOpItem::run | |
| + 0.20% OSD::dequeue_op | |
| + 0.20% PrimaryLogPG::do_request | |
| + 0.20% PrimaryLogPG::do_op | |
| + 0.20% PrimaryLogPG::execute_ctx | |
| + 0.20% PrimaryLogPG::prepare_transaction | |
| + 0.20% PrimaryLogPG::do_osd_ops | |
| + 0.20% PrimaryLogPG::do_read | |
| + 0.20% ReplicatedBackend::objects_read_sync | |
| + 0.20% BlueStore::read | |
| + 0.20% BlueStore::_do_read | |
| + 0.20% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
| + 0.20% operator() | |
| + 0.20% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_read(BlueStore::Collection*, BlueStore::OnodeRef, uint64_t, size_t, ceph::bufferlist&, uint32_t)::<lambda(uint64_t, uint64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550178>, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550188>) | |
| + 0.20% operator() | |
| + 0.20% KernelDevice::read | |
| + 0.20% pread | |
| + 0.20% pread64 | |
+ 0.10% ~OpQueueItem | |
+ 0.10% ~unique_ptr | |
+ 0.10% operator() | |
+ 0.10% PGOpItem::~PGOpItem | |
+ 0.10% ~PGOpItem | |
+ 0.10% ~intrusive_ptr | |
+ 0.10% intrusive_ptr_release | |
+ 0.10% TrackedOp::put | |
+ 0.10% OpTracker::unregister_inflight_op | |
+ 0.10% OpRequest::_unregistered | |
+ 0.10% clear_data | |
+ 0.10% Throttle::put | |
+ 0.10% uniquely_lock<std::mutex&> | |
+ 0.10% unique_lock | |
+ 0.10% lock | |
+ 0.10% lock | |
+ 0.10% __gthread_mutex_lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 46 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.80% Cond::Wait | |
| + 99.80% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.20% run | |
+ 0.20% PGOpItem::run | |
+ 0.20% OSD::dequeue_op | |
+ 0.20% PrimaryLogPG::do_request | |
+ 0.20% PrimaryLogPG::do_op | |
+ 0.20% PrimaryLogPG::execute_ctx | |
+ 0.20% PrimaryLogPG::complete_read_ctx | |
+ 0.20% send_message_osd_client | |
+ 0.20% AsyncConnection::send_message | |
+ 0.20% lock_guard | |
+ 0.20% std::mutex::lock | |
+ 0.20% __gthread_mutex_lock | |
+ 0.20% pthread_mutex_lock | |
+ 0.20% _L_lock_812 | |
+ 0.20% __lll_lock_wait | |
Thread: 47 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.80% Cond::Wait | |
| + 99.80% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% run | |
| + 0.10% PGOpItem::run | |
| + 0.10% OSD::dequeue_op | |
| + 0.10% PrimaryLogPG::do_request | |
| + 0.10% PrimaryLogPG::do_op | |
| + 0.10% PrimaryLogPG::execute_ctx | |
| + 0.10% PrimaryLogPG::prepare_transaction | |
| + 0.10% PrimaryLogPG::do_osd_ops | |
| + 0.10% md_config_t::get_val<bool> | |
| + 0.10% md_config_t::get_val_generic | |
| + 0.10% Locker | |
| + 0.10% Mutex::Lock | |
| + 0.10% pthread_mutex_lock | |
| + 0.10% _L_lock_870 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 48 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.90% Cond::Wait | |
| + 99.90% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% run | |
+ 0.10% PGOpItem::run | |
+ 0.10% OSD::dequeue_op | |
+ 0.10% PrimaryLogPG::do_request | |
+ 0.10% PrimaryLogPG::do_op | |
+ 0.10% PrimaryLogPG::execute_ctx | |
+ 0.10% PrimaryLogPG::prepare_transaction | |
+ 0.10% PrimaryLogPG::do_osd_ops | |
+ 0.10% PrimaryLogPG::do_read | |
+ 0.10% ReplicatedBackend::objects_read_sync | |
+ 0.10% BlueStore::read | |
+ 0.10% BlueStore::_do_read | |
+ 0.10% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
+ 0.10% operator() | |
+ 0.10% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_read(BlueStore::Collection*, BlueStore::OnodeRef, uint64_t, size_t, ceph::bufferlist&, uint32_t)::<lambda(uint64_t, uint64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550178>, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550188>) | |
+ 0.10% operator() | |
+ 0.10% KernelDevice::read | |
+ 0.10% pread | |
+ 0.10% pread64 | |
Thread: 49 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.70% Cond::Wait | |
| + 99.70% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.30% __pthread_mutex_cond_lock | |
| + 0.30% _L_cond_lock_789 | |
| + 0.30% __lll_lock_wait | |
+ 0.30% run | |
+ 0.30% PGOpItem::run | |
+ 0.30% OSD::dequeue_op | |
+ 0.30% PrimaryLogPG::do_request | |
+ 0.30% PrimaryLogPG::do_op | |
+ 0.30% PrimaryLogPG::execute_ctx | |
+ 0.20% PrimaryLogPG::complete_read_ctx | |
| + 0.20% send_message_osd_client | |
| + 0.20% AsyncConnection::send_message | |
| + 0.20% lock_guard | |
| + 0.20% std::mutex::lock | |
| + 0.20% __gthread_mutex_lock | |
| + 0.20% pthread_mutex_lock | |
| + 0.20% _L_lock_812 | |
| + 0.20% __lll_lock_wait | |
+ 0.10% PrimaryLogPG::prepare_transaction | |
+ 0.10% PrimaryLogPG::do_osd_ops | |
+ 0.10% PrimaryLogPG::do_read | |
+ 0.10% ReplicatedBackend::objects_read_sync | |
+ 0.10% BlueStore::read | |
+ 0.10% BlueStore::_do_read | |
+ 0.10% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
+ 0.10% operator() | |
+ 0.10% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_read(BlueStore::Collection*, BlueStore::OnodeRef, uint64_t, size_t, ceph::bufferlist&, uint32_t)::<lambda(uint64_t, uint64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550178>, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550188>) | |
+ 0.10% operator() | |
+ 0.10% KernelDevice::read | |
+ 0.10% pread | |
+ 0.10% pread64 | |
Thread: 50 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.70% Cond::Wait | |
| + 99.70% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.20% run | |
| + 0.20% PGOpItem::run | |
| + 0.20% OSD::dequeue_op | |
| + 0.20% PrimaryLogPG::do_request | |
| + 0.20% PrimaryLogPG::do_op | |
| + 0.20% PrimaryLogPG::execute_ctx | |
| + 0.20% PrimaryLogPG::prepare_transaction | |
| + 0.20% PrimaryLogPG::do_osd_ops | |
| + 0.20% PrimaryLogPG::do_read | |
| + 0.20% ReplicatedBackend::objects_read_sync | |
| + 0.20% BlueStore::read | |
| + 0.20% BlueStore::_do_read | |
| + 0.20% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
| + 0.20% operator() | |
| + 0.20% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_read(BlueStore::Collection*, BlueStore::OnodeRef, uint64_t, size_t, ceph::bufferlist&, uint32_t)::<lambda(uint64_t, uint64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550178>, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550188>) | |
| + 0.20% operator() | |
| + 0.20% KernelDevice::read | |
| + 0.20% pread | |
| + 0.20% pread64 | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 51 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.60% Cond::Wait | |
| + 99.60% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.20% run | |
| + 0.20% PGOpItem::run | |
| + 0.20% OSD::dequeue_op | |
| + 0.20% PrimaryLogPG::do_request | |
| + 0.20% PrimaryLogPG::do_op | |
| + 0.20% PrimaryLogPG::execute_ctx | |
| + 0.10% PrimaryLogPG::prepare_transaction | |
| | + 0.10% PrimaryLogPG::do_osd_ops | |
| | + 0.10% PrimaryLogPG::do_read | |
| | + 0.10% ReplicatedBackend::objects_read_sync | |
| | + 0.10% BlueStore::read | |
| | + 0.10% BlueStore::_do_read | |
| | + 0.10% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
| | + 0.10% operator() | |
| | + 0.10% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_read(BlueStore::Collection*, BlueStore::OnodeRef, uint64_t, size_t, ceph::bufferlist&, uint32_t)::<lambda(uint64_t, uint64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550178>, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550188>) | |
| | + 0.10% operator() | |
| | + 0.10% KernelDevice::read | |
| | + 0.10% pread | |
| | + 0.10% pread64 | |
| + 0.10% PrimaryLogPG::complete_read_ctx | |
| + 0.10% send_message_osd_client | |
| + 0.10% AsyncConnection::send_message | |
| + 0.10% lock_guard | |
| + 0.10% std::mutex::lock | |
| + 0.10% __gthread_mutex_lock | |
| + 0.10% pthread_mutex_lock | |
| + 0.10% _L_lock_812 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% ~OpQueueItem | |
| + 0.10% ~unique_ptr | |
| + 0.10% operator() | |
| + 0.10% PGOpItem::~PGOpItem | |
| + 0.10% ~PGOpItem | |
| + 0.10% ~intrusive_ptr | |
| + 0.10% intrusive_ptr_release | |
| + 0.10% TrackedOp::put | |
| + 0.10% OpTracker::unregister_inflight_op | |
| + 0.10% OpRequest::_unregistered | |
| + 0.10% clear_data | |
| + 0.10% Throttle::put | |
| + 0.10% uniquely_lock<std::mutex&> | |
| + 0.10% unique_lock | |
| + 0.10% lock | |
| + 0.10% lock | |
| + 0.10% __gthread_mutex_lock | |
| + 0.10% pthread_mutex_lock | |
| + 0.10% _L_lock_812 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% PG::lock | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 52 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.80% Cond::Wait | |
| + 99.80% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.40% __pthread_mutex_cond_lock | |
| + 0.40% _L_cond_lock_789 | |
| + 0.40% __lll_lock_wait | |
+ 0.20% run | |
+ 0.20% PGOpItem::run | |
+ 0.20% OSD::dequeue_op | |
+ 0.20% PrimaryLogPG::do_request | |
+ 0.20% PrimaryLogPG::do_op | |
+ 0.20% PrimaryLogPG::execute_ctx | |
+ 0.10% PrimaryLogPG::prepare_transaction | |
| + 0.10% PrimaryLogPG::do_osd_ops | |
| + 0.10% PrimaryLogPG::do_read | |
| + 0.10% ReplicatedBackend::objects_read_sync | |
| + 0.10% BlueStore::read | |
| + 0.10% BlueStore::_do_read | |
| + 0.10% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
| + 0.10% operator() | |
| + 0.10% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_read(BlueStore::Collection*, BlueStore::OnodeRef, uint64_t, size_t, ceph::bufferlist&, uint32_t)::<lambda(uint64_t, uint64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550178>, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550188>) | |
| + 0.10% operator() | |
| + 0.10% KernelDevice::read | |
| + 0.10% pread | |
| + 0.10% pread64 | |
+ 0.10% PrimaryLogPG::complete_read_ctx | |
+ 0.10% send_message_osd_client | |
+ 0.10% AsyncConnection::send_message | |
+ 0.10% lock_guard | |
+ 0.10% std::mutex::lock | |
+ 0.10% __gthread_mutex_lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 53 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.70% Cond::Wait | |
| + 99.70% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.20% run | |
| + 0.20% PGOpItem::run | |
| + 0.20% OSD::dequeue_op | |
| + 0.20% PrimaryLogPG::do_request | |
| + 0.20% PrimaryLogPG::do_op | |
| + 0.20% PrimaryLogPG::execute_ctx | |
| + 0.10% PrimaryLogPG::prepare_transaction | |
| | + 0.10% PrimaryLogPG::do_osd_ops | |
| | + 0.10% PrimaryLogPG::do_read | |
| | + 0.10% ReplicatedBackend::objects_read_sync | |
| | + 0.10% BlueStore::read | |
| | + 0.10% BlueStore::_do_read | |
| | + 0.10% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
| | + 0.10% operator() | |
| | + 0.10% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_read(BlueStore::Collection*, BlueStore::OnodeRef, uint64_t, size_t, ceph::bufferlist&, uint32_t)::<lambda(uint64_t, uint64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550178>, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550188>) | |
| | + 0.10% operator() | |
| | + 0.10% KernelDevice::read | |
| | + 0.10% pread | |
| | + 0.10% pread64 | |
| + 0.10% PrimaryLogPG::complete_read_ctx | |
| + 0.10% send_message_osd_client | |
| + 0.10% AsyncConnection::send_message | |
| + 0.10% lock_guard | |
| + 0.10% std::mutex::lock | |
| + 0.10% __gthread_mutex_lock | |
| + 0.10% pthread_mutex_lock | |
| + 0.10% _L_lock_812 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 54 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.90% Cond::Wait | |
| + 99.90% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.10% run | |
+ 0.10% PGOpItem::run | |
+ 0.10% OSD::dequeue_op | |
+ 0.10% PrimaryLogPG::do_request | |
+ 0.10% PrimaryLogPG::do_op | |
+ 0.10% PrimaryLogPG::execute_ctx | |
+ 0.10% PrimaryLogPG::prepare_transaction | |
+ 0.10% PrimaryLogPG::do_osd_ops | |
+ 0.10% PrimaryLogPG::do_read | |
+ 0.10% ReplicatedBackend::objects_read_sync | |
+ 0.10% BlueStore::read | |
+ 0.10% BlueStore::_do_read | |
+ 0.10% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
+ 0.10% operator() | |
+ 0.10% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_read(BlueStore::Collection*, BlueStore::OnodeRef, uint64_t, size_t, ceph::bufferlist&, uint32_t)::<lambda(uint64_t, uint64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550178>, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550188>) | |
+ 0.10% operator() | |
+ 0.10% KernelDevice::read | |
+ 0.10% pread | |
+ 0.10% pread64 | |
Thread: 55 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.50% Cond::Wait | |
| + 99.50% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.40% __pthread_mutex_cond_lock | |
| + 0.40% _L_cond_lock_789 | |
| + 0.40% __lll_lock_wait | |
+ 0.20% run | |
| + 0.20% PGOpItem::run | |
| + 0.20% OSD::dequeue_op | |
| + 0.20% PrimaryLogPG::do_request | |
| + 0.20% PrimaryLogPG::do_op | |
| + 0.20% PrimaryLogPG::execute_ctx | |
| + 0.20% PrimaryLogPG::complete_read_ctx | |
| + 0.20% send_message_osd_client | |
| + 0.20% AsyncConnection::send_message | |
| + 0.20% lock_guard | |
| + 0.20% std::mutex::lock | |
| + 0.20% __gthread_mutex_lock | |
| + 0.20% pthread_mutex_lock | |
| + 0.20% _L_lock_812 | |
| + 0.20% __lll_lock_wait | |
+ 0.20% PG::lock | |
| + 0.20% Mutex::Lock | |
| + 0.20% pthread_mutex_lock | |
| + 0.20% _L_lock_812 | |
| + 0.20% __lll_lock_wait | |
+ 0.10% ~OpQueueItem | |
+ 0.10% ~unique_ptr | |
+ 0.10% operator() | |
+ 0.10% tc_delete | |
+ 0.10% tcmalloc::ThreadCache::ListTooLong(tcmalloc::ThreadCache::FreeList*, unsigned long) | |
+ 0.10% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
Thread: 56 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.30% Cond::Wait | |
| + 99.30% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.20% __pthread_mutex_cond_lock | |
| + 0.20% _L_cond_lock_789 | |
| + 0.20% __lll_lock_wait | |
+ 0.20% run | |
| + 0.20% PGOpItem::run | |
| + 0.20% OSD::dequeue_op | |
| + 0.20% PrimaryLogPG::do_request | |
| + 0.20% PrimaryLogPG::do_op | |
| + 0.20% PrimaryLogPG::execute_ctx | |
| + 0.10% PrimaryLogPG::prepare_transaction | |
| | + 0.10% PrimaryLogPG::do_osd_ops | |
| | + 0.10% PrimaryLogPG::do_read | |
| | + 0.10% ReplicatedBackend::objects_read_sync | |
| | + 0.10% BlueStore::read | |
| | + 0.10% BlueStore::_do_read | |
| | + 0.10% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
| | + 0.10% operator() | |
| | + 0.10% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_read(BlueStore::Collection*, BlueStore::OnodeRef, uint64_t, size_t, ceph::bufferlist&, uint32_t)::<lambda(uint64_t, uint64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550178>, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550188>) | |
| | + 0.10% operator() | |
| | + 0.10% KernelDevice::read | |
| | + 0.10% pread | |
| | + 0.10% pread64 | |
| + 0.10% PrimaryLogPG::complete_read_ctx | |
| + 0.10% send_message_osd_client | |
| + 0.10% AsyncConnection::send_message | |
| + 0.10% lock_guard | |
| + 0.10% std::mutex::lock | |
| + 0.10% __gthread_mutex_lock | |
| + 0.10% pthread_mutex_lock | |
| + 0.10% _L_lock_812 | |
| + 0.10% __lll_lock_wait | |
+ 0.20% PG::lock | |
| + 0.20% Mutex::Lock | |
| + 0.20% pthread_mutex_lock | |
| + 0.20% _L_lock_812 | |
| + 0.20% __lll_lock_wait | |
+ 0.20% Mutex::Lock | |
| + 0.20% pthread_mutex_lock | |
| + 0.20% _L_lock_812 | |
| + 0.20% __lll_lock_wait | |
+ 0.10% ~OpQueueItem | |
+ 0.10% ~unique_ptr | |
+ 0.10% operator() | |
+ 0.10% PGOpItem::~PGOpItem | |
+ 0.10% ~PGOpItem | |
+ 0.10% ~intrusive_ptr | |
+ 0.10% intrusive_ptr_release | |
+ 0.10% TrackedOp::put | |
+ 0.10% OpTracker::unregister_inflight_op | |
+ 0.10% OpRequest::_unregistered | |
+ 0.10% clear_data | |
+ 0.10% Throttle::put | |
+ 0.10% uniquely_lock<std::mutex&> | |
+ 0.10% unique_lock | |
+ 0.10% lock | |
+ 0.10% lock | |
+ 0.10% __gthread_mutex_lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 57 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.80% Cond::Wait | |
| + 99.80% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.10% ~OpQueueItem | |
| + 0.10% ~unique_ptr | |
| + 0.10% operator() | |
| + 0.10% PGOpItem::~PGOpItem | |
| + 0.10% ~PGOpItem | |
| + 0.10% ~intrusive_ptr | |
| + 0.10% intrusive_ptr_release | |
| + 0.10% TrackedOp::put | |
| + 0.10% OpTracker::unregister_inflight_op | |
| + 0.10% OpRequest::_unregistered | |
| + 0.10% clear_data | |
| + 0.10% Throttle::put | |
| + 0.10% uniquely_lock<std::mutex&> | |
| + 0.10% unique_lock | |
| + 0.10% lock | |
| + 0.10% lock | |
| + 0.10% __gthread_mutex_lock | |
| + 0.10% pthread_mutex_lock | |
| + 0.10% _L_lock_812 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 58 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.70% Cond::Wait | |
| + 99.70% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.20% __pthread_mutex_cond_lock | |
| + 0.20% _L_cond_lock_789 | |
| + 0.20% __lll_lock_wait | |
+ 0.20% Mutex::Lock | |
| + 0.20% pthread_mutex_lock | |
| + 0.20% _L_lock_812 | |
| + 0.20% __lll_lock_wait | |
+ 0.10% run | |
+ 0.10% PGOpItem::run | |
+ 0.10% OSD::dequeue_op | |
+ 0.10% PrimaryLogPG::do_request | |
+ 0.10% PrimaryLogPG::do_op | |
+ 0.10% PrimaryLogPG::execute_ctx | |
+ 0.10% PrimaryLogPG::complete_read_ctx | |
+ 0.10% send_message_osd_client | |
+ 0.10% AsyncConnection::send_message | |
+ 0.10% lock_guard | |
+ 0.10% std::mutex::lock | |
+ 0.10% __gthread_mutex_lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 59 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.80% Cond::Wait | |
| + 99.80% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.20% run | |
+ 0.20% PGOpItem::run | |
+ 0.20% OSD::dequeue_op | |
+ 0.20% PrimaryLogPG::do_request | |
+ 0.20% PrimaryLogPG::do_op | |
+ 0.20% PrimaryLogPG::execute_ctx | |
+ 0.10% PrimaryLogPG::prepare_transaction | |
| + 0.10% PrimaryLogPG::do_osd_ops | |
| + 0.10% PrimaryLogPG::do_read | |
| + 0.10% ReplicatedBackend::objects_read_sync | |
| + 0.10% BlueStore::read | |
| + 0.10% BlueStore::_do_read | |
| + 0.10% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
| + 0.10% operator() | |
| + 0.10% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_read(BlueStore::Collection*, BlueStore::OnodeRef, uint64_t, size_t, ceph::bufferlist&, uint32_t)::<lambda(uint64_t, uint64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550178>, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550188>) | |
| + 0.10% operator() | |
| + 0.10% KernelDevice::read | |
| + 0.10% pread | |
| + 0.10% pread64 | |
+ 0.10% PrimaryLogPG::complete_read_ctx | |
+ 0.10% send_message_osd_client | |
+ 0.10% AsyncConnection::send_message | |
+ 0.10% lock_guard | |
+ 0.10% std::mutex::lock | |
+ 0.10% __gthread_mutex_lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 60 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.60% Cond::Wait | |
| + 99.60% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.30% __pthread_mutex_cond_lock | |
| + 0.30% _L_cond_lock_789 | |
| + 0.30% __lll_lock_wait | |
+ 0.30% run | |
| + 0.30% PGOpItem::run | |
| + 0.30% OSD::dequeue_op | |
| + 0.30% PrimaryLogPG::do_request | |
| + 0.30% PrimaryLogPG::do_op | |
| + 0.30% PrimaryLogPG::execute_ctx | |
| + 0.30% PrimaryLogPG::prepare_transaction | |
| + 0.30% PrimaryLogPG::do_osd_ops | |
| + 0.20% PrimaryLogPG::do_read | |
| | + 0.20% ReplicatedBackend::objects_read_sync | |
| | + 0.20% BlueStore::read | |
| | + 0.20% BlueStore::_do_read | |
| | + 0.20% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
| | + 0.20% operator() | |
| | + 0.20% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_read(BlueStore::Collection*, BlueStore::OnodeRef, uint64_t, size_t, ceph::bufferlist&, uint32_t)::<lambda(uint64_t, uint64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550178>, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550188>) | |
| | + 0.20% operator() | |
| | + 0.20% KernelDevice::read | |
| | + 0.20% pread | |
| | + 0.20% pread64 | |
| + 0.10% md_config_t::get_val<bool> | |
| + 0.10% md_config_t::get_val_generic | |
| + 0.10% Locker | |
| + 0.10% Mutex::Lock | |
| + 0.10% pthread_mutex_lock | |
| + 0.10% _L_lock_870 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% PG::lock | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 61 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.80% Cond::Wait | |
| + 99.80% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.20% __pthread_mutex_cond_lock | |
| + 0.20% _L_cond_lock_789 | |
| + 0.20% __lll_lock_wait | |
+ 0.10% run | |
| + 0.10% PGOpItem::run | |
| + 0.10% OSD::dequeue_op | |
| + 0.10% PrimaryLogPG::do_request | |
| + 0.10% PrimaryLogPG::do_op | |
| + 0.10% PrimaryLogPG::execute_ctx | |
| + 0.10% PrimaryLogPG::prepare_transaction | |
| + 0.10% PrimaryLogPG::do_osd_ops | |
| + 0.10% PrimaryLogPG::do_read | |
| + 0.10% ReplicatedBackend::objects_read_sync | |
| + 0.10% BlueStore::read | |
| + 0.10% BlueStore::_do_read | |
| + 0.10% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
| + 0.10% operator() | |
| + 0.10% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_read(BlueStore::Collection*, BlueStore::OnodeRef, uint64_t, size_t, ceph::bufferlist&, uint32_t)::<lambda(uint64_t, uint64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550178>, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550188>) | |
| + 0.10% operator() | |
| + 0.10% KernelDevice::read | |
| + 0.10% pread | |
| + 0.10% pread64 | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 62 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.60% Cond::Wait | |
| + 99.60% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.20% __pthread_mutex_cond_lock | |
| + 0.20% _L_cond_lock_789 | |
| + 0.20% __lll_lock_wait | |
+ 0.30% Mutex::Lock | |
| + 0.30% pthread_mutex_lock | |
| + 0.30% _L_lock_812 | |
| + 0.30% __lll_lock_wait | |
+ 0.10% ~OpQueueItem | |
+ 0.10% ~unique_ptr | |
+ 0.10% operator() | |
+ 0.10% PGOpItem::~PGOpItem | |
+ 0.10% ~PGOpItem | |
+ 0.10% ~intrusive_ptr | |
+ 0.10% intrusive_ptr_release | |
+ 0.10% TrackedOp::put | |
+ 0.10% OpTracker::unregister_inflight_op | |
+ 0.10% OpRequest::_unregistered | |
+ 0.10% clear_data | |
+ 0.10% Throttle::put | |
+ 0.10% uniquely_lock<std::mutex&> | |
+ 0.10% unique_lock | |
+ 0.10% lock | |
+ 0.10% lock | |
+ 0.10% __gthread_mutex_lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 63 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.70% Cond::Wait | |
| + 99.70% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.20% Mutex::Lock | |
| + 0.20% pthread_mutex_lock | |
| + 0.20% _L_lock_812 | |
| + 0.20% __lll_lock_wait | |
+ 0.10% run | |
+ 0.10% PGOpItem::run | |
+ 0.10% OSD::dequeue_op | |
+ 0.10% PrimaryLogPG::do_request | |
+ 0.10% PrimaryLogPG::do_op | |
+ 0.10% PrimaryLogPG::execute_ctx | |
+ 0.10% PrimaryLogPG::prepare_transaction | |
+ 0.10% PrimaryLogPG::do_osd_ops | |
+ 0.10% md_config_t::get_val<bool> | |
+ 0.10% md_config_t::get_val_generic | |
+ 0.10% Locker | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_870 | |
+ 0.10% __lll_lock_wait | |
Thread: 64 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.50% Cond::Wait | |
| + 99.50% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.30% __pthread_mutex_cond_lock | |
| + 0.30% _L_cond_lock_789 | |
| + 0.30% __lll_lock_wait | |
+ 0.30% run | |
| + 0.30% PGOpItem::run | |
| + 0.30% OSD::dequeue_op | |
| + 0.30% PrimaryLogPG::do_request | |
| + 0.30% PrimaryLogPG::do_op | |
| + 0.30% PrimaryLogPG::execute_ctx | |
| + 0.30% PrimaryLogPG::prepare_transaction | |
| + 0.30% PrimaryLogPG::do_osd_ops | |
| + 0.30% PrimaryLogPG::do_read | |
| + 0.30% ReplicatedBackend::objects_read_sync | |
| + 0.30% BlueStore::read | |
| + 0.30% BlueStore::_do_read | |
| + 0.30% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
| + 0.30% operator() | |
| + 0.30% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_read(BlueStore::Collection*, BlueStore::OnodeRef, uint64_t, size_t, ceph::bufferlist&, uint32_t)::<lambda(uint64_t, uint64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550178>, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550188>) | |
| + 0.30% operator() | |
| + 0.30% KernelDevice::read | |
| + 0.30% pread | |
| + 0.30% pread64 | |
+ 0.10% PG::lock | |
| + 0.10% Mutex::Lock | |
| + 0.10% pthread_mutex_lock | |
| + 0.10% _L_lock_812 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 65 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.70% Cond::Wait | |
| + 99.70% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.20% run | |
| + 0.20% PGOpItem::run | |
| + 0.20% OSD::dequeue_op | |
| + 0.20% PrimaryLogPG::do_request | |
| + 0.20% PrimaryLogPG::do_op | |
| + 0.10% clear_payload | |
| | + 0.10% Throttle::put | |
| | + 0.10% uniquely_lock<std::mutex&> | |
| | + 0.10% unique_lock | |
| | + 0.10% lock | |
| | + 0.10% lock | |
| | + 0.10% __gthread_mutex_lock | |
| | + 0.10% pthread_mutex_lock | |
| | + 0.10% _L_lock_812 | |
| | + 0.10% __lll_lock_wait | |
| + 0.10% PrimaryLogPG::execute_ctx | |
| + 0.10% PrimaryLogPG::prepare_transaction | |
| + 0.10% PrimaryLogPG::do_osd_ops | |
| + 0.10% md_config_t::get_val<bool> | |
| + 0.10% md_config_t::get_val_generic | |
| + 0.10% Locker | |
| + 0.10% Mutex::Lock | |
| + 0.10% pthread_mutex_lock | |
| + 0.10% _L_lock_870 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% ~OpQueueItem | |
+ 0.10% ~unique_ptr | |
+ 0.10% operator() | |
+ 0.10% PGOpItem::~PGOpItem | |
+ 0.10% ~PGOpItem | |
+ 0.10% ~intrusive_ptr | |
+ 0.10% intrusive_ptr_release | |
+ 0.10% TrackedOp::put | |
+ 0.10% OpTracker::unregister_inflight_op | |
+ 0.10% OpRequest::_unregistered | |
+ 0.10% clear_data | |
+ 0.10% Throttle::put | |
+ 0.10% uniquely_lock<std::mutex&> | |
+ 0.10% unique_lock | |
+ 0.10% lock | |
+ 0.10% lock | |
+ 0.10% __gthread_mutex_lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 66 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.60% Cond::Wait | |
| + 99.60% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.20% Mutex::Lock | |
| + 0.20% pthread_mutex_lock | |
| + 0.20% _L_lock_812 | |
| + 0.20% __lll_lock_wait | |
+ 0.10% ~OpQueueItem | |
| + 0.10% ~unique_ptr | |
| + 0.10% operator() | |
| + 0.10% PGOpItem::~PGOpItem | |
| + 0.10% ~PGOpItem | |
| + 0.10% ~intrusive_ptr | |
| + 0.10% intrusive_ptr_release | |
| + 0.10% TrackedOp::put | |
| + 0.10% OpTracker::unregister_inflight_op | |
| + 0.10% OpRequest::_unregistered | |
| + 0.10% clear_data | |
| + 0.10% Throttle::put | |
| + 0.10% uniquely_lock<std::mutex&> | |
| + 0.10% unique_lock | |
| + 0.10% lock | |
| + 0.10% lock | |
| + 0.10% __gthread_mutex_lock | |
| + 0.10% pthread_mutex_lock | |
| + 0.10% _L_lock_812 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% run | |
+ 0.10% PGOpItem::run | |
+ 0.10% OSD::dequeue_op | |
+ 0.10% PrimaryLogPG::do_request | |
+ 0.10% PrimaryLogPG::do_op | |
+ 0.10% PrimaryLogPG::execute_ctx | |
+ 0.10% PrimaryLogPG::prepare_transaction | |
+ 0.10% PrimaryLogPG::do_osd_ops | |
+ 0.10% PrimaryLogPG::do_read | |
+ 0.10% ReplicatedBackend::objects_read_sync | |
+ 0.10% BlueStore::read | |
+ 0.10% BlueStore::_do_read | |
+ 0.10% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
+ 0.10% operator() | |
+ 0.10% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_read(BlueStore::Collection*, BlueStore::OnodeRef, uint64_t, size_t, ceph::bufferlist&, uint32_t)::<lambda(uint64_t, uint64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550178>, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550188>) | |
+ 0.10% operator() | |
+ 0.10% KernelDevice::read | |
+ 0.10% pread | |
+ 0.10% pread64 | |
Thread: 67 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.70% Cond::Wait | |
| + 99.70% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.40% __pthread_mutex_cond_lock | |
| + 0.40% _L_cond_lock_789 | |
| + 0.40% __lll_lock_wait | |
+ 0.10% ~OpQueueItem | |
| + 0.10% ~unique_ptr | |
| + 0.10% operator() | |
| + 0.10% PGOpItem::~PGOpItem | |
| + 0.10% ~PGOpItem | |
| + 0.10% ~intrusive_ptr | |
| + 0.10% intrusive_ptr_release | |
| + 0.10% TrackedOp::put | |
| + 0.10% OpTracker::unregister_inflight_op | |
| + 0.10% RLocker | |
| + 0.10% get_read | |
| + 0.10% pthread_rwlock_rdlock | |
+ 0.10% run | |
| + 0.10% PGOpItem::run | |
| + 0.10% OSD::dequeue_op | |
| + 0.10% PrimaryLogPG::do_request | |
| + 0.10% PrimaryLogPG::do_op | |
| + 0.10% PrimaryLogPG::execute_ctx | |
| + 0.10% PrimaryLogPG::prepare_transaction | |
| + 0.10% PrimaryLogPG::do_osd_ops | |
| + 0.10% md_config_t::get_val<bool> | |
| + 0.10% md_config_t::get_val_generic | |
| + 0.10% md_config_t::_get_val_generic | |
| + 0.10% ConfFile::normalize_key_name | |
| + 0.10% std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) | |
+ 0.10% PG::lock | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 68 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.70% Cond::Wait | |
| + 99.70% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.20% run | |
| + 0.20% PGOpItem::run | |
| + 0.20% OSD::dequeue_op | |
| + 0.20% PrimaryLogPG::do_request | |
| + 0.20% PrimaryLogPG::do_op | |
| + 0.10% PrimaryLogPG::maybe_await_blocked_head | |
| | + 0.10% SharedLRU<hobject_t, ObjectContext, std::less<hobject_t>, std::hash<hobject_t> >::lookup | |
| | + 0.10% find | |
| | + 0.10% std::_Rb_tree<hobject_t, std::pair<hobject_t const, std::pair<std::weak_ptr<ObjectContext>, ObjectContext*> >, std::_Select1st<std::pair<hobject_t const, std::pair<std::weak_ptr<ObjectContext>, ObjectContext*> > >, std::less<hobject_t>, std::allocator<std::pair<hobject_t const, std::pair<std::weak_ptr<ObjectContext>, ObjectContext*> > > >::find | |
| | + 0.10% _M_lower_bound | |
| | + 0.10% operator() | |
| | + 0.10% operator< | |
| | + 0.10% cmp | |
| + 0.10% PrimaryLogPG::execute_ctx | |
| + 0.10% PrimaryLogPG::prepare_transaction | |
| + 0.10% PrimaryLogPG::do_osd_ops | |
| + 0.10% PrimaryLogPG::do_read | |
| + 0.10% ReplicatedBackend::objects_read_sync | |
| + 0.10% BlueStore::read | |
| + 0.10% BlueStore::_do_read | |
| + 0.10% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
| + 0.10% operator() | |
| + 0.10% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_read(BlueStore::Collection*, BlueStore::OnodeRef, uint64_t, size_t, ceph::bufferlist&, uint32_t)::<lambda(uint64_t, uint64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550178>, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550188>) | |
| + 0.10% operator() | |
| + 0.10% KernelDevice::read | |
| + 0.10% pread | |
| + 0.10% pread64 | |
+ 0.10% PG::lock | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 69 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.90% Cond::Wait | |
| + 99.90% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.10% run | |
+ 0.10% PGOpItem::run | |
+ 0.10% OSD::dequeue_op | |
+ 0.10% PrimaryLogPG::do_request | |
+ 0.10% PrimaryLogPG::do_op | |
+ 0.10% PrimaryLogPG::execute_ctx | |
+ 0.10% PrimaryLogPG::prepare_transaction | |
+ 0.10% PrimaryLogPG::do_osd_ops | |
+ 0.10% PrimaryLogPG::do_read | |
+ 0.10% ReplicatedBackend::objects_read_sync | |
+ 0.10% BlueStore::read | |
+ 0.10% BlueStore::_do_read | |
+ 0.10% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
+ 0.10% operator() | |
+ 0.10% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_read(BlueStore::Collection*, BlueStore::OnodeRef, uint64_t, size_t, ceph::bufferlist&, uint32_t)::<lambda(uint64_t, uint64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550178>, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550188>) | |
+ 0.10% operator() | |
+ 0.10% KernelDevice::read | |
+ 0.10% pread | |
+ 0.10% pread64 | |
Thread: 70 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.70% Cond::Wait | |
| + 99.70% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.30% run | |
+ 0.30% PGOpItem::run | |
+ 0.30% OSD::dequeue_op | |
+ 0.30% PrimaryLogPG::do_request | |
+ 0.30% PrimaryLogPG::do_op | |
+ 0.30% PrimaryLogPG::execute_ctx | |
+ 0.20% PrimaryLogPG::prepare_transaction | |
| + 0.20% PrimaryLogPG::do_osd_ops | |
| + 0.10% md_config_t::get_val<bool> | |
| | + 0.10% md_config_t::get_val_generic | |
| | + 0.10% Locker | |
| | + 0.10% Mutex::Lock | |
| | + 0.10% pthread_mutex_lock | |
| | + 0.10% _L_lock_870 | |
| | + 0.10% __lll_lock_wait | |
| + 0.10% PrimaryLogPG::do_read | |
| + 0.10% ReplicatedBackend::objects_read_sync | |
| + 0.10% BlueStore::read | |
| + 0.10% BlueStore::_do_read | |
| + 0.10% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
| + 0.10% operator() | |
| + 0.10% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_read(BlueStore::Collection*, BlueStore::OnodeRef, uint64_t, size_t, ceph::bufferlist&, uint32_t)::<lambda(uint64_t, uint64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550178>, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550188>) | |
| + 0.10% operator() | |
| + 0.10% KernelDevice::read | |
| + 0.10% pread | |
| + 0.10% pread64 | |
+ 0.10% PrimaryLogPG::complete_read_ctx | |
+ 0.10% PG::publish_stats_to_osd | |
+ 0.10% md_config_t::get_val<unsigned long> | |
+ 0.10% md_config_t::get_val_generic | |
+ 0.10% md_config_t::_get_val_generic | |
+ 0.10% ConfFile::normalize_key_name | |
+ 0.10% ConfFile::trim_whitespace | |
+ 0.10% isspace | |
Thread: 71 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.50% Cond::Wait | |
| + 99.50% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.20% run | |
| + 0.20% PGOpItem::run | |
| + 0.20% OSD::dequeue_op | |
| + 0.20% PrimaryLogPG::do_request | |
| + 0.20% PrimaryLogPG::do_op | |
| + 0.20% PrimaryLogPG::execute_ctx | |
| + 0.20% PrimaryLogPG::prepare_transaction | |
| + 0.20% PrimaryLogPG::do_osd_ops | |
| + 0.20% PrimaryLogPG::do_read | |
| + 0.20% ReplicatedBackend::objects_read_sync | |
| + 0.20% BlueStore::read | |
| + 0.20% BlueStore::_do_read | |
| + 0.10% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
| | + 0.10% operator() | |
| | + 0.10% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_read(BlueStore::Collection*, BlueStore::OnodeRef, uint64_t, size_t, ceph::bufferlist&, uint32_t)::<lambda(uint64_t, uint64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550178>, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550188>) | |
| | + 0.10% operator() | |
| | + 0.10% KernelDevice::read | |
| | + 0.10% pread | |
| | + 0.10% pread64 | |
| + 0.10% BlueStore::_verify_csum | |
| + 0.10% bluestore_blob_t::verify_csum | |
| + 0.10% verify<Checksummer::crc32c> | |
| + 0.10% calc | |
| + 0.10% ceph::buffer::list::iterator_impl<true>::crc32c | |
| + 0.10% ceph_crc32c | |
| + 0.10% ceph_crc32c_intel_fast | |
| + 0.10% ??? | |
| + 0.10% ??? | |
| + 0.10% crc32_iscsi_00 | |
+ 0.10% ~OpQueueItem | |
| + 0.10% ~unique_ptr | |
| + 0.10% operator() | |
| + 0.10% PGOpItem::~PGOpItem | |
| + 0.10% ~PGOpItem | |
| + 0.10% ~intrusive_ptr | |
| + 0.10% intrusive_ptr_release | |
| + 0.10% TrackedOp::put | |
| + 0.10% OpTracker::unregister_inflight_op | |
| + 0.10% OpRequest::_unregistered | |
| + 0.10% clear_data | |
| + 0.10% Throttle::put | |
| + 0.10% uniquely_lock<std::mutex&> | |
| + 0.10% unique_lock | |
| + 0.10% lock | |
| + 0.10% lock | |
| + 0.10% __gthread_mutex_lock | |
| + 0.10% pthread_mutex_lock | |
| + 0.10% _L_lock_812 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% PG::lock | |
| + 0.10% Mutex::Lock | |
| + 0.10% pthread_mutex_lock | |
| + 0.10% _L_lock_812 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 72 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.70% Cond::Wait | |
| + 99.70% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.20% run | |
| + 0.20% PGOpItem::run | |
| + 0.20% OSD::dequeue_op | |
| + 0.20% PrimaryLogPG::do_request | |
| + 0.20% PrimaryLogPG::do_op | |
| + 0.20% PrimaryLogPG::execute_ctx | |
| + 0.20% PrimaryLogPG::prepare_transaction | |
| + 0.20% PrimaryLogPG::do_osd_ops | |
| + 0.20% PrimaryLogPG::do_read | |
| + 0.20% ReplicatedBackend::objects_read_sync | |
| + 0.20% BlueStore::read | |
| + 0.20% BlueStore::_do_read | |
| + 0.20% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
| + 0.20% operator() | |
| + 0.20% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_read(BlueStore::Collection*, BlueStore::OnodeRef, uint64_t, size_t, ceph::bufferlist&, uint32_t)::<lambda(uint64_t, uint64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550178>, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550188>) | |
| + 0.20% operator() | |
| + 0.20% KernelDevice::read | |
| + 0.20% pread | |
| + 0.20% pread64 | |
+ 0.10% PG::lock | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 73 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.70% Cond::Wait | |
| + 99.70% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.20% run | |
| + 0.20% PGOpItem::run | |
| + 0.20% OSD::dequeue_op | |
| + 0.20% PrimaryLogPG::do_request | |
| + 0.20% PrimaryLogPG::do_op | |
| + 0.20% PrimaryLogPG::execute_ctx | |
| + 0.20% PrimaryLogPG::prepare_transaction | |
| + 0.20% PrimaryLogPG::do_osd_ops | |
| + 0.10% md_config_t::get_val<bool> | |
| | + 0.10% md_config_t::get_val_generic | |
| | + 0.10% Locker | |
| | + 0.10% Mutex::Lock | |
| | + 0.10% pthread_mutex_lock | |
| | + 0.10% _L_lock_870 | |
| | + 0.10% __lll_lock_wait | |
| + 0.10% PrimaryLogPG::do_read | |
| + 0.10% ReplicatedBackend::objects_read_sync | |
| + 0.10% BlueStore::read | |
| + 0.10% BlueStore::_do_read | |
| + 0.10% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
| + 0.10% operator() | |
| + 0.10% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_read(BlueStore::Collection*, BlueStore::OnodeRef, uint64_t, size_t, ceph::bufferlist&, uint32_t)::<lambda(uint64_t, uint64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550178>, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550188>) | |
| + 0.10% operator() | |
| + 0.10% KernelDevice::read | |
| + 0.10% pread | |
| + 0.10% pread64 | |
+ 0.10% ~OpQueueItem | |
+ 0.10% ~unique_ptr | |
+ 0.10% operator() | |
+ 0.10% PGOpItem::~PGOpItem | |
+ 0.10% ~PGOpItem | |
+ 0.10% ~intrusive_ptr | |
+ 0.10% intrusive_ptr_release | |
+ 0.10% TrackedOp::put | |
+ 0.10% OpTracker::unregister_inflight_op | |
+ 0.10% OpRequest::_unregistered | |
+ 0.10% clear_data | |
+ 0.10% Throttle::put | |
+ 0.10% uniquely_lock<std::mutex&> | |
+ 0.10% unique_lock | |
+ 0.10% lock | |
+ 0.10% lock | |
+ 0.10% __gthread_mutex_lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 74 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.40% Cond::Wait | |
| + 99.40% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.30% run | |
| + 0.30% PGOpItem::run | |
| + 0.20% OSD::dequeue_op | |
| | + 0.20% PrimaryLogPG::do_request | |
| | + 0.20% PrimaryLogPG::do_op | |
| | + 0.20% PrimaryLogPG::execute_ctx | |
| | + 0.20% PrimaryLogPG::prepare_transaction | |
| | + 0.20% PrimaryLogPG::do_osd_ops | |
| | + 0.20% PrimaryLogPG::do_read | |
| | + 0.20% ReplicatedBackend::objects_read_sync | |
| | + 0.20% BlueStore::read | |
| | + 0.20% BlueStore::_do_read | |
| | + 0.20% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
| | + 0.20% operator() | |
| | + 0.20% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_read(BlueStore::Collection*, BlueStore::OnodeRef, uint64_t, size_t, ceph::bufferlist&, uint32_t)::<lambda(uint64_t, uint64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550178>, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550188>) | |
| | + 0.20% operator() | |
| | + 0.20% KernelDevice::read | |
| | + 0.20% pread | |
| | + 0.20% pread64 | |
| + 0.10% ~intrusive_ptr | |
| + 0.10% intrusive_ptr_release | |
| + 0.10% PG::put | |
+ 0.30% Mutex::Lock | |
+ 0.30% pthread_mutex_lock | |
+ 0.30% _L_lock_812 | |
+ 0.30% __lll_lock_wait | |
Thread: 75 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.80% Cond::Wait | |
| + 99.80% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% ~OpQueueItem | |
| + 0.10% ~unique_ptr | |
| + 0.10% operator() | |
| + 0.10% PGOpItem::~PGOpItem | |
| + 0.10% ~PGOpItem | |
| + 0.10% ~intrusive_ptr | |
| + 0.10% intrusive_ptr_release | |
| + 0.10% TrackedOp::put | |
| + 0.10% OpTracker::unregister_inflight_op | |
| + 0.10% ~intrusive_ptr | |
| + 0.10% intrusive_ptr_release | |
| + 0.10% put | |
| + 0.10% OpRequest::~OpRequest | |
| + 0.10% ~OpRequest | |
| + 0.10% ~TrackedOp | |
| + 0.10% Mutex::~Mutex | |
| + 0.10% ~basic_string | |
| + 0.10% _M_dispose | |
| + 0.10% tc_delete | |
| + 0.10% tcmalloc::ThreadCache::ListTooLong(tcmalloc::ThreadCache::FreeList*, unsigned long) | |
| + 0.10% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
+ 0.10% PG::lock | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 76 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.70% Cond::Wait | |
| + 99.70% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.20% __pthread_mutex_cond_lock | |
| + 0.20% _L_cond_lock_789 | |
| + 0.20% __lll_lock_wait | |
+ 0.20% run | |
| + 0.20% PGOpItem::run | |
| + 0.20% OSD::dequeue_op | |
| + 0.20% PrimaryLogPG::do_request | |
| + 0.20% PrimaryLogPG::do_op | |
| + 0.20% PrimaryLogPG::execute_ctx | |
| + 0.20% PrimaryLogPG::prepare_transaction | |
| + 0.20% PrimaryLogPG::do_osd_ops | |
| + 0.10% md_config_t::get_val<bool> | |
| | + 0.10% md_config_t::get_val_generic | |
| | + 0.10% Locker | |
| | + 0.10% Mutex::Lock | |
| | + 0.10% pthread_mutex_lock | |
| | + 0.10% _L_lock_870 | |
| | + 0.10% __lll_lock_wait | |
| + 0.10% PrimaryLogPG::do_read | |
| + 0.10% ReplicatedBackend::objects_read_sync | |
| + 0.10% BlueStore::read | |
| + 0.10% BlueStore::_do_read | |
| + 0.10% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
| + 0.10% operator() | |
| + 0.10% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_read(BlueStore::Collection*, BlueStore::OnodeRef, uint64_t, size_t, ceph::bufferlist&, uint32_t)::<lambda(uint64_t, uint64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550178>, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550188>) | |
| + 0.10% operator() | |
| + 0.10% KernelDevice::read | |
| + 0.10% pread | |
| + 0.10% pread64 | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 77 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.80% Cond::Wait | |
| + 99.80% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.10% run | |
| + 0.10% PGOpItem::run | |
| + 0.10% OSD::dequeue_op | |
| + 0.10% PrimaryLogPG::do_request | |
| + 0.10% PrimaryLogPG::do_op | |
| + 0.10% PrimaryLogPG::execute_ctx | |
| + 0.10% PrimaryLogPG::prepare_transaction | |
| + 0.10% PrimaryLogPG::do_osd_ops | |
| + 0.10% md_config_t::get_val<bool> | |
| + 0.10% md_config_t::get_val_generic | |
| + 0.10% Locker | |
| + 0.10% Mutex::Lock | |
| + 0.10% pthread_mutex_lock | |
| + 0.10% _L_lock_870 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 78 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.80% Cond::Wait | |
| + 99.80% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.20% Mutex::Lock | |
+ 0.20% pthread_mutex_lock | |
+ 0.20% _L_lock_812 | |
+ 0.20% __lll_lock_wait | |
Thread: 79 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.80% Cond::Wait | |
| + 99.80% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.20% __pthread_mutex_cond_lock | |
| + 0.20% _L_cond_lock_789 | |
| + 0.20% __lll_lock_wait | |
+ 0.10% run | |
| + 0.10% PGOpItem::run | |
| + 0.10% OSD::dequeue_op | |
| + 0.10% PrimaryLogPG::do_request | |
| + 0.10% PrimaryLogPG::do_op | |
| + 0.10% PrimaryLogPG::execute_ctx | |
| + 0.10% PrimaryLogPG::prepare_transaction | |
| + 0.10% PrimaryLogPG::do_osd_ops | |
| + 0.10% PrimaryLogPG::do_read | |
| + 0.10% ReplicatedBackend::objects_read_sync | |
| + 0.10% BlueStore::read | |
| + 0.10% BlueStore::_do_read | |
| + 0.10% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
| + 0.10% operator() | |
| + 0.10% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_read(BlueStore::Collection*, BlueStore::OnodeRef, uint64_t, size_t, ceph::bufferlist&, uint32_t)::<lambda(uint64_t, uint64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550178>, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550188>) | |
| + 0.10% operator() | |
| + 0.10% KernelDevice::read | |
| + 0.10% pread | |
| + 0.10% pread64 | |
+ 0.10% WeightedPriorityQueue<OpQueueItem, unsigned long>::dequeue | |
+ 0.10% WeightedPriorityQueue<OpQueueItem, unsigned long>::Queue::pop | |
+ 0.10% pop | |
+ 0.10% erase_and_dispose<DelItem<WeightedPriorityQueue<OpQueueItem, unsigned long>::Klass> > | |
+ 0.10% operator() | |
+ 0.10% tc_delete | |
+ 0.10% tcmalloc::ThreadCache::ListTooLong(tcmalloc::ThreadCache::FreeList*, unsigned long) | |
+ 0.10% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
Thread: 80 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.60% Cond::Wait | |
| + 99.60% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.20% __pthread_mutex_cond_lock | |
| + 0.20% _L_cond_lock_789 | |
| + 0.20% __lll_lock_wait | |
+ 0.20% run | |
| + 0.20% PGOpItem::run | |
| + 0.20% OSD::dequeue_op | |
| + 0.20% PrimaryLogPG::do_request | |
| + 0.20% PrimaryLogPG::do_op | |
| + 0.20% PrimaryLogPG::execute_ctx | |
| + 0.20% PrimaryLogPG::prepare_transaction | |
| + 0.20% PrimaryLogPG::do_osd_ops | |
| + 0.20% PrimaryLogPG::do_read | |
| + 0.10% ReplicatedBackend::objects_read_sync | |
| + 0.10% BlueStore::read | |
| + 0.10% BlueStore::_do_read | |
| + 0.10% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
| + 0.10% operator() | |
| + 0.10% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_read(BlueStore::Collection*, BlueStore::OnodeRef, uint64_t, size_t, ceph::bufferlist&, uint32_t)::<lambda(uint64_t, uint64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550178>, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550188>) | |
| + 0.10% operator() | |
| + 0.10% KernelDevice::read | |
| + 0.10% pread | |
| + 0.10% pread64 | |
+ 0.10% ~OpQueueItem | |
| + 0.10% ~unique_ptr | |
| + 0.10% operator() | |
| + 0.10% PGOpItem::~PGOpItem | |
| + 0.10% ~PGOpItem | |
| + 0.10% ~intrusive_ptr | |
| + 0.10% intrusive_ptr_release | |
| + 0.10% TrackedOp::put | |
| + 0.10% OpTracker::unregister_inflight_op | |
| + 0.10% OpRequest::_unregistered | |
| + 0.10% clear_data | |
| + 0.10% MOSDOp::clear_buffers | |
| + 0.10% OSDOp::clear_data | |
| + 0.10% clear | |
| + 0.10% ceph::buffer::ptr::operator=(ceph::buffer::ptr&&) | |
| + 0.10% ceph::buffer::ptr::release | |
+ 0.10% PG::lock | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 81 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.60% Cond::Wait | |
| + 99.60% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.20% run | |
| + 0.20% PGOpItem::run | |
| + 0.20% OSD::dequeue_op | |
| + 0.20% PrimaryLogPG::do_request | |
| + 0.20% PrimaryLogPG::do_op | |
| + 0.20% PrimaryLogPG::execute_ctx | |
| + 0.20% PrimaryLogPG::prepare_transaction | |
| + 0.20% PrimaryLogPG::do_osd_ops | |
| + 0.20% PrimaryLogPG::do_read | |
| + 0.20% ReplicatedBackend::objects_read_sync | |
| + 0.20% BlueStore::read | |
| + 0.20% BlueStore::_do_read | |
| + 0.10% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
| | + 0.10% operator() | |
| | + 0.10% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_read(BlueStore::Collection*, BlueStore::OnodeRef, uint64_t, size_t, ceph::bufferlist&, uint32_t)::<lambda(uint64_t, uint64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550178>, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550188>) | |
| | + 0.10% operator() | |
| | + 0.10% KernelDevice::read | |
| | + 0.10% pread | |
| | + 0.10% pread64 | |
| + 0.10% BlueStore::_verify_csum | |
| + 0.10% bluestore_blob_t::verify_csum | |
| + 0.10% verify<Checksummer::crc32c> | |
| + 0.10% ceph::buffer::ptr::c_str | |
+ 0.10% PG::lock | |
| + 0.10% Mutex::Lock | |
| + 0.10% pthread_mutex_lock | |
| + 0.10% _L_lock_812 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 82 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.80% Cond::Wait | |
| + 99.80% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.20% __pthread_mutex_cond_lock | |
| + 0.20% _L_cond_lock_789 | |
| + 0.20% __lll_lock_wait | |
+ 0.20% run | |
+ 0.20% PGOpItem::run | |
+ 0.20% OSD::dequeue_op | |
+ 0.20% PrimaryLogPG::do_request | |
+ 0.20% PrimaryLogPG::do_op | |
+ 0.20% PrimaryLogPG::execute_ctx | |
+ 0.20% PrimaryLogPG::prepare_transaction | |
+ 0.20% PrimaryLogPG::do_osd_ops | |
+ 0.10% md_config_t::get_val<bool> | |
| + 0.10% md_config_t::get_val_generic | |
| + 0.10% Locker | |
| + 0.10% Mutex::Lock | |
| + 0.10% pthread_mutex_lock | |
| + 0.10% _L_lock_870 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% PrimaryLogPG::do_read | |
+ 0.10% ReplicatedBackend::objects_read_sync | |
+ 0.10% BlueStore::read | |
+ 0.10% BlueStore::_do_read | |
+ 0.10% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
+ 0.10% operator() | |
+ 0.10% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_read(BlueStore::Collection*, BlueStore::OnodeRef, uint64_t, size_t, ceph::bufferlist&, uint32_t)::<lambda(uint64_t, uint64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550178>, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550188>) | |
+ 0.10% operator() | |
+ 0.10% KernelDevice::read | |
+ 0.10% pread | |
+ 0.10% pread64 | |
Thread: 83 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.30% Cond::Wait | |
| + 99.30% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.40% run | |
| + 0.40% PGOpItem::run | |
| + 0.40% OSD::dequeue_op | |
| + 0.40% PrimaryLogPG::do_request | |
| + 0.40% PrimaryLogPG::do_op | |
| + 0.30% PrimaryLogPG::execute_ctx | |
| | + 0.20% PrimaryLogPG::prepare_transaction | |
| | | + 0.20% PrimaryLogPG::do_osd_ops | |
| | | + 0.10% md_config_t::get_val<bool> | |
| | | | + 0.10% md_config_t::get_val_generic | |
| | | | + 0.10% Locker | |
| | | | + 0.10% Mutex::Lock | |
| | | | + 0.10% pthread_mutex_lock | |
| | | | + 0.10% _L_lock_870 | |
| | | | + 0.10% __lll_lock_wait | |
| | | + 0.10% PrimaryLogPG::do_read | |
| | | + 0.10% ReplicatedBackend::objects_read_sync | |
| | | + 0.10% BlueStore::read | |
| | | + 0.10% BlueStore::_do_read | |
| | | + 0.10% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
| | | + 0.10% operator() | |
| | | + 0.10% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_read(BlueStore::Collection*, BlueStore::OnodeRef, uint64_t, size_t, ceph::bufferlist&, uint32_t)::<lambda(uint64_t, uint64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550178>, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550188>) | |
| | | + 0.10% operator() | |
| | | + 0.10% KernelDevice::read | |
| | | + 0.10% pread | |
| | | + 0.10% pread64 | |
| | + 0.10% PrimaryLogPG::complete_read_ctx | |
| | + 0.10% send_message_osd_client | |
| | + 0.10% AsyncConnection::send_message | |
| | + 0.10% lock_guard | |
| | + 0.10% std::mutex::lock | |
| | + 0.10% __gthread_mutex_lock | |
| | + 0.10% pthread_mutex_lock | |
| | + 0.10% _L_lock_812 | |
| | + 0.10% __lll_lock_wait | |
| + 0.10% PrimaryLogPG::maybe_await_blocked_head | |
| + 0.10% SharedLRU<hobject_t, ObjectContext, std::less<hobject_t>, std::hash<hobject_t> >::lookup | |
| + 0.10% find | |
| + 0.10% std::_Rb_tree<hobject_t, std::pair<hobject_t const, std::pair<std::weak_ptr<ObjectContext>, ObjectContext*> >, std::_Select1st<std::pair<hobject_t const, std::pair<std::weak_ptr<ObjectContext>, ObjectContext*> > >, std::less<hobject_t>, std::allocator<std::pair<hobject_t const, std::pair<std::weak_ptr<ObjectContext>, ObjectContext*> > > >::find | |
| + 0.10% _M_lower_bound | |
| + 0.10% operator() | |
| + 0.10% operator< | |
| + 0.10% cmp | |
+ 0.20% Mutex::Lock | |
| + 0.20% pthread_mutex_lock | |
| + 0.20% _L_lock_812 | |
| + 0.20% __lll_lock_wait | |
+ 0.10% PG::lock | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 84 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.90% Cond::Wait | |
| + 99.90% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% run | |
+ 0.10% PGOpItem::run | |
+ 0.10% OSD::dequeue_op | |
+ 0.10% PrimaryLogPG::do_request | |
+ 0.10% PrimaryLogPG::do_op | |
+ 0.10% PerfCounters::tinc | |
+ 0.10% operator+= | |
Thread: 85 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.70% Cond::Wait | |
| + 99.70% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.20% __pthread_mutex_cond_lock | |
| + 0.20% _L_cond_lock_789 | |
| + 0.20% __lll_lock_wait | |
+ 0.30% run | |
+ 0.30% PGOpItem::run | |
+ 0.30% OSD::dequeue_op | |
+ 0.30% PrimaryLogPG::do_request | |
+ 0.30% PrimaryLogPG::do_op | |
+ 0.30% PrimaryLogPG::execute_ctx | |
+ 0.30% PrimaryLogPG::prepare_transaction | |
+ 0.30% PrimaryLogPG::do_osd_ops | |
+ 0.30% PrimaryLogPG::do_read | |
+ 0.30% ReplicatedBackend::objects_read_sync | |
+ 0.30% BlueStore::read | |
+ 0.30% BlueStore::_do_read | |
+ 0.30% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
+ 0.30% operator() | |
+ 0.30% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_read(BlueStore::Collection*, BlueStore::OnodeRef, uint64_t, size_t, ceph::bufferlist&, uint32_t)::<lambda(uint64_t, uint64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550178>, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550188>) | |
+ 0.30% operator() | |
+ 0.30% KernelDevice::read | |
+ 0.30% pread | |
+ 0.30% pread64 | |
Thread: 86 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.10% Cond::Wait | |
| + 99.10% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.50% run | |
| + 0.50% PGOpItem::run | |
| + 0.50% OSD::dequeue_op | |
| + 0.50% PrimaryLogPG::do_request | |
| + 0.50% PrimaryLogPG::do_op | |
| + 0.40% PrimaryLogPG::execute_ctx | |
| | + 0.20% PrimaryLogPG::prepare_transaction | |
| | | + 0.20% PrimaryLogPG::do_osd_ops | |
| | | + 0.20% PrimaryLogPG::do_read | |
| | | + 0.20% ReplicatedBackend::objects_read_sync | |
| | | + 0.20% BlueStore::read | |
| | | + 0.20% BlueStore::_do_read | |
| | | + 0.20% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
| | | + 0.20% operator() | |
| | | + 0.20% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_read(BlueStore::Collection*, BlueStore::OnodeRef, uint64_t, size_t, ceph::bufferlist&, uint32_t)::<lambda(uint64_t, uint64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550178>, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550188>) | |
| | | + 0.20% operator() | |
| | | + 0.20% KernelDevice::read | |
| | | + 0.20% pread | |
| | | + 0.20% pread64 | |
| | + 0.20% PrimaryLogPG::complete_read_ctx | |
| | + 0.10% send_message_osd_client | |
| | | + 0.10% AsyncConnection::send_message | |
| | | + 0.10% lock_guard | |
| | | + 0.10% std::mutex::lock | |
| | | + 0.10% __gthread_mutex_lock | |
| | | + 0.10% pthread_mutex_lock | |
| | | + 0.10% _L_lock_812 | |
| | | + 0.10% __lll_lock_wait | |
| | + 0.10% PG::publish_stats_to_osd | |
| | + 0.10% md_config_t::get_val<unsigned long> | |
| | + 0.10% md_config_t::get_val_generic | |
| + 0.10% std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::~basic_ostringstream() | |
| + 0.10% std::ios_base::~ios_base() | |
+ 0.20% ~OpQueueItem | |
| + 0.20% ~unique_ptr | |
| + 0.20% operator() | |
| + 0.20% PGOpItem::~PGOpItem | |
| + 0.20% ~PGOpItem | |
| + 0.20% ~intrusive_ptr | |
| + 0.20% intrusive_ptr_release | |
| + 0.20% TrackedOp::put | |
| + 0.20% OpTracker::unregister_inflight_op | |
| + 0.20% OpRequest::_unregistered | |
| + 0.20% clear_data | |
| + 0.20% Throttle::put | |
| + 0.20% uniquely_lock<std::mutex&> | |
| + 0.20% unique_lock | |
| + 0.20% lock | |
| + 0.20% lock | |
| + 0.20% __gthread_mutex_lock | |
| + 0.20% pthread_mutex_lock | |
| + 0.20% _L_lock_812 | |
| + 0.20% __lll_lock_wait | |
+ 0.20% Mutex::Lock | |
+ 0.20% pthread_mutex_lock | |
+ 0.20% _L_lock_812 | |
+ 0.20% __lll_lock_wait | |
Thread: 87 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.60% Cond::Wait | |
| + 99.60% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.20% PG::lock | |
| + 0.20% Mutex::Lock | |
| + 0.20% pthread_mutex_lock | |
| + 0.20% _L_lock_812 | |
| + 0.20% __lll_lock_wait | |
+ 0.10% ~OpQueueItem | |
| + 0.10% ~unique_ptr | |
| + 0.10% operator() | |
| + 0.10% PGOpItem::~PGOpItem | |
| + 0.10% ~PGOpItem | |
| + 0.10% ~intrusive_ptr | |
| + 0.10% intrusive_ptr_release | |
| + 0.10% TrackedOp::put | |
| + 0.10% TrackedOp::mark_event | |
| + 0.10% ~Locker | |
| + 0.10% Mutex::Unlock | |
| + 0.10% pthread_mutex_unlock | |
+ 0.10% run | |
+ 0.10% PGOpItem::run | |
+ 0.10% OSD::dequeue_op | |
+ 0.10% PrimaryLogPG::do_request | |
+ 0.10% PrimaryLogPG::do_op | |
+ 0.10% PrimaryLogPG::execute_ctx | |
+ 0.10% PrimaryLogPG::complete_read_ctx | |
+ 0.10% PG::publish_stats_to_osd | |
+ 0.10% md_config_t::get_val<unsigned long> | |
+ 0.10% get<unsigned long, boost::blank, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, long, double, bool, entity_addr_t, uuid_d> | |
+ 0.10% strict_get<unsigned long, boost::blank, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, long, double, bool, entity_addr_t, uuid_d> | |
+ 0.10% relaxed_get<unsigned long, boost::blank, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, long, double, bool, entity_addr_t, uuid_d> | |
+ 0.10% relaxed_get<unsigned long const, boost::blank, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, long, double, bool, entity_addr_t, uuid_d> | |
+ 0.10% apply_visitor<boost::detail::variant::get_visitor<unsigned long const> > | |
+ 0.10% internal_apply_visitor<boost::detail::variant::invoke_visitor<boost::detail::variant::get_visitor<unsigned long const> > > | |
+ 0.10% internal_apply_visitor_impl<boost::detail::variant::invoke_visitor<boost::detail::variant::get_visitor<unsigned long const> >, void const*> | |
+ 0.10% visitation_impl<mpl_::int_<0>, boost::detail::variant::visitation_impl_step<boost::mpl::l_iter<boost::mpl::l_item<mpl_::long_<8>, boost::blank, boost::mpl::l_item<mpl_::long_<7>, std::basic_string<char>, boost::mpl::l_item<mpl_::long_<6>, unsigned long, boost::mpl::l_item<mpl_::long_<5>, long, boost::mpl::l_item<mpl_::long_<4>, double, boost::mpl::l_item<mpl_::long_<3>, bool, boost::mpl::l_item<mpl_::long_<2>, entity_addr_t, boost::mpl::l_item<mpl_::long_<1>, uuid_d, boost::mpl::l_end> > > > > > > > >, boost::mpl::l_iter<boost::mpl::l_end> >, boost::detail::variant::invoke_visitor<boost::detail::variant::get_visitor<unsigned long const> >, void const*, boost::variant<boost::blank, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, long, double, bool, entity_addr_t, uuid_d>::has_fallback_type_> | |
Thread: 88 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.20% Cond::Wait | |
| + 99.20% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.30% __pthread_mutex_cond_lock | |
| + 0.30% _L_cond_lock_789 | |
| + 0.30% __lll_lock_wait | |
+ 0.50% run | |
| + 0.50% PGOpItem::run | |
| + 0.50% OSD::dequeue_op | |
| + 0.50% PrimaryLogPG::do_request | |
| + 0.50% PrimaryLogPG::do_op | |
| + 0.50% PrimaryLogPG::execute_ctx | |
| + 0.30% PrimaryLogPG::prepare_transaction | |
| | + 0.30% PrimaryLogPG::do_osd_ops | |
| | + 0.30% PrimaryLogPG::do_read | |
| | + 0.30% ReplicatedBackend::objects_read_sync | |
| | + 0.30% BlueStore::read | |
| | + 0.30% BlueStore::_do_read | |
| | + 0.30% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
| | + 0.30% operator() | |
| | + 0.30% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_read(BlueStore::Collection*, BlueStore::OnodeRef, uint64_t, size_t, ceph::bufferlist&, uint32_t)::<lambda(uint64_t, uint64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550178>, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550188>) | |
| | + 0.30% operator() | |
| | + 0.30% KernelDevice::read | |
| | + 0.30% pread | |
| | + 0.30% pread64 | |
| + 0.20% PrimaryLogPG::complete_read_ctx | |
| + 0.20% send_message_osd_client | |
| + 0.20% AsyncConnection::send_message | |
| + 0.20% lock_guard | |
| + 0.20% std::mutex::lock | |
| + 0.20% __gthread_mutex_lock | |
| + 0.20% pthread_mutex_lock | |
| + 0.20% _L_lock_812 | |
| + 0.20% __lll_lock_wait | |
+ 0.20% Mutex::Lock | |
| + 0.20% pthread_mutex_lock | |
| + 0.20% _L_lock_812 | |
| + 0.20% __lll_lock_wait | |
+ 0.10% PG::lock | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 89 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.90% Cond::Wait | |
| + 99.90% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.10% ~OpQueueItem | |
+ 0.10% ~unique_ptr | |
+ 0.10% operator() | |
+ 0.10% PGOpItem::~PGOpItem | |
+ 0.10% ~PGOpItem | |
+ 0.10% ~intrusive_ptr | |
+ 0.10% intrusive_ptr_release | |
+ 0.10% TrackedOp::put | |
+ 0.10% OpTracker::unregister_inflight_op | |
+ 0.10% ~intrusive_ptr | |
+ 0.10% intrusive_ptr_release | |
+ 0.10% put | |
+ 0.10% OpRequest::~OpRequest | |
+ 0.10% ~OpRequest | |
+ 0.10% ~TrackedOp | |
+ 0.10% ~vector | |
+ 0.10% ~_Vector_base | |
+ 0.10% _M_deallocate | |
+ 0.10% deallocate | |
+ 0.10% deallocate | |
+ 0.10% tc_delete | |
+ 0.10% tcmalloc::ThreadCache::ListTooLong(tcmalloc::ThreadCache::FreeList*, unsigned long) | |
+ 0.10% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
Thread: 90 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 99.90% OSD::ShardedOpWQ::_process | |
| + 98.90% Cond::Wait | |
| | + 98.90% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.70% run | |
| | + 0.70% PGOpItem::run | |
| | + 0.70% OSD::dequeue_op | |
| | + 0.70% PrimaryLogPG::do_request | |
| | + 0.70% PrimaryLogPG::do_op | |
| | + 0.70% PrimaryLogPG::execute_ctx | |
| | + 0.40% PrimaryLogPG::prepare_transaction | |
| | | + 0.40% PrimaryLogPG::do_osd_ops | |
| | | + 0.40% PrimaryLogPG::do_read | |
| | | + 0.40% ReplicatedBackend::objects_read_sync | |
| | | + 0.40% BlueStore::read | |
| | | + 0.40% BlueStore::_do_read | |
| | | + 0.20% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
| | | | + 0.20% operator() | |
| | | | + 0.20% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_read(BlueStore::Collection*, BlueStore::OnodeRef, uint64_t, size_t, ceph::bufferlist&, uint32_t)::<lambda(uint64_t, uint64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550178>, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550188>) | |
| | | | + 0.20% operator() | |
| | | | + 0.20% KernelDevice::read | |
| | | | + 0.20% pread | |
| | | | + 0.20% pread64 | |
| | | + 0.10% operator[] | |
| | | | + 0.10% std::_Rb_tree<unsigned long, std::pair<unsigned long const, ceph::buffer::list>, std::_Select1st<std::pair<unsigned long const, ceph::buffer::list> >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, ceph::buffer::list> > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<unsigned long const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<unsigned long const, ceph::buffer::list> >, std::piecewise_construct_t const&, std::tuple<unsigned long const&>&&, std::tuple<>&&) | |
| | | | + 0.10% _M_create_node<const std::piecewise_construct_t&, std::tuple<long unsigned int const&>, std::tuple<> > | |
| | | | + 0.10% _M_get_node | |
| | | | + 0.10% allocate | |
| | | | + 0.10% allocate | |
| | | | + 0.10% tc_new | |
| | | + 0.10% intrusive_ptr | |
| | | + 0.10% intrusive_ptr_add_ref | |
| | | + 0.10% get | |
| | | + 0.10% operator++ | |
| | + 0.30% PrimaryLogPG::complete_read_ctx | |
| | + 0.20% send_message_osd_client | |
| | | + 0.20% AsyncConnection::send_message | |
| | | + 0.10% now | |
| | | | + 0.10% clock_gettime | |
| | | | + 0.10% clock_gettime | |
| | | + 0.10% lock_guard | |
| | | + 0.10% std::mutex::lock | |
| | | + 0.10% __gthread_mutex_lock | |
| | | + 0.10% pthread_mutex_lock | |
| | | + 0.10% _L_lock_812 | |
| | | + 0.10% __lll_lock_wait | |
| | + 0.10% PrimaryLogPG::close_op_ctx | |
| | + 0.10% PrimaryLogPG::release_object_locks | |
| | + 0.10% put_locks | |
| | + 0.10% put_lock_type | |
| | + 0.10% put_excl | |
| | + 0.10% dec | |
| | + 0.10% splice | |
| | + 0.10% splice | |
| + 0.10% WeightedPriorityQueue<OpQueueItem, unsigned long>::dequeue | |
| | + 0.10% WeightedPriorityQueue<OpQueueItem, unsigned long>::Queue::pop | |
| | + 0.10% pop | |
| | + 0.10% erase_and_dispose<DelItem<WeightedPriorityQueue<OpQueueItem, unsigned long>::Klass> > | |
| | + 0.10% operator() | |
| | + 0.10% tc_delete | |
| | + 0.10% tcmalloc::ThreadCache::ListTooLong(tcmalloc::ThreadCache::FreeList*, unsigned long) | |
| | + 0.10% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| + 0.10% PG::lock | |
| | + 0.10% Mutex::Lock | |
| | + 0.10% pthread_mutex_lock | |
| | + 0.10% _L_lock_812 | |
| | + 0.10% __lll_lock_wait | |
| + 0.10% Mutex::Lock | |
| + 0.10% pthread_mutex_lock | |
| + 0.10% _L_lock_812 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% ceph::HeartbeatMap::reset_timeout | |
+ 0.10% ceph::HeartbeatMap::_check | |
Thread: 91 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.50% Cond::Wait | |
| + 99.50% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.40% run | |
| + 0.40% PGOpItem::run | |
| + 0.40% OSD::dequeue_op | |
| + 0.40% PrimaryLogPG::do_request | |
| + 0.40% PrimaryLogPG::do_op | |
| + 0.40% PrimaryLogPG::execute_ctx | |
| + 0.30% PrimaryLogPG::complete_read_ctx | |
| | + 0.20% send_message_osd_client | |
| | | + 0.20% AsyncConnection::send_message | |
| | | + 0.20% lock_guard | |
| | | + 0.20% std::mutex::lock | |
| | | + 0.20% __gthread_mutex_lock | |
| | | + 0.20% pthread_mutex_lock | |
| | | + 0.20% _L_lock_812 | |
| | | + 0.20% __lll_lock_wait | |
| | + 0.10% PG::publish_stats_to_osd | |
| + 0.10% PrimaryLogPG::prepare_transaction | |
| + 0.10% PrimaryLogPG::do_osd_ops | |
| + 0.10% PrimaryLogPG::do_read | |
| + 0.10% ReplicatedBackend::objects_read_sync | |
| + 0.10% BlueStore::read | |
| + 0.10% BlueStore::_do_read | |
| + 0.10% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
| + 0.10% operator() | |
| + 0.10% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_read(BlueStore::Collection*, BlueStore::OnodeRef, uint64_t, size_t, ceph::bufferlist&, uint32_t)::<lambda(uint64_t, uint64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550178>, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550188>) | |
| + 0.10% operator() | |
| + 0.10% KernelDevice::read | |
| + 0.10% pread | |
| + 0.10% pread64 | |
+ 0.10% PG::lock | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 92 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.50% Cond::Wait | |
| + 99.50% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.40% run | |
| + 0.40% PGOpItem::run | |
| + 0.40% OSD::dequeue_op | |
| + 0.40% PrimaryLogPG::do_request | |
| + 0.40% PrimaryLogPG::do_op | |
| + 0.30% PrimaryLogPG::execute_ctx | |
| | + 0.30% PrimaryLogPG::prepare_transaction | |
| | + 0.30% PrimaryLogPG::do_osd_ops | |
| | + 0.30% PrimaryLogPG::do_read | |
| | + 0.30% ReplicatedBackend::objects_read_sync | |
| | + 0.30% BlueStore::read | |
| | + 0.30% BlueStore::_do_read | |
| | + 0.30% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
| | + 0.30% operator() | |
| | + 0.30% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_read(BlueStore::Collection*, BlueStore::OnodeRef, uint64_t, size_t, ceph::bufferlist&, uint32_t)::<lambda(uint64_t, uint64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550178>, <unknown type in /usr/local/bin/ceph-osd, CU 0x4380b6f, DIE 0x4550188>) | |
| | + 0.30% operator() | |
| | + 0.30% KernelDevice::read | |
| | + 0.30% pread | |
| | + 0.30% pread64 | |
| + 0.10% PrimaryLogPG::find_object_context | |
| + 0.10% PrimaryLogPG::get_object_context | |
| + 0.10% decode | |
| + 0.10% object_info_t::decode | |
| + 0.10% decode<interval_set<unsigned long, std::map<unsigned long, unsigned long, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > > >, denc_traits<interval_set<unsigned long, std::map<unsigned long, unsigned long, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > > >, void> > | |
| + 0.10% decode | |
| + 0.10% decode | |
| + 0.10% denc<std::map<unsigned long, unsigned long> > | |
| + 0.10% decode | |
| + 0.10% decode_nohead | |
| + 0.10% insert<std::pair<unsigned long, unsigned long> > | |
| + 0.10% emplace_hint<std::pair<unsigned long, unsigned long> > | |
| + 0.10% _M_emplace_hint_unique<std::pair<unsigned long, unsigned long> > | |
| + 0.10% std::_Rb_tree<unsigned long, std::pair<unsigned long const, unsigned long>, std::_Select1st<std::pair<unsigned long const, unsigned long> >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > >::_M_insert_node | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 93 (safe_timer) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% SafeTimerThread::entry | |
+ 100.00% SafeTimer::timer_thread | |
+ 100.00% WaitUntil | |
+ 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 | |
Thread: 94 (fn_anonymous) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% Finisher::finisher_thread_entry | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 95 (safe_timer) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% SafeTimerThread::entry | |
+ 100.00% SafeTimer::timer_thread | |
+ 100.00% WaitUntil | |
+ 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 | |
Thread: 96 (ms_local) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% DispatchQueue::LocalDeliveryThread::entry | |
+ 100.00% DispatchQueue::run_local_delivery | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 97 (ms_dispatch) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% DispatchQueue::DispatchThread::entry | |
+ 100.00% DispatchQueue::entry | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 98 (ms_local) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% DispatchQueue::LocalDeliveryThread::entry | |
+ 100.00% DispatchQueue::run_local_delivery | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 99 (ms_dispatch) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% DispatchQueue::DispatchThread::entry | |
+ 100.00% DispatchQueue::entry | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 100 (ms_local) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% DispatchQueue::LocalDeliveryThread::entry | |
+ 100.00% DispatchQueue::run_local_delivery | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 101 (ms_dispatch) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% DispatchQueue::DispatchThread::entry | |
+ 100.00% DispatchQueue::entry | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 102 (ms_local) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% DispatchQueue::LocalDeliveryThread::entry | |
+ 100.00% DispatchQueue::run_local_delivery | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 103 (ms_dispatch) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% DispatchQueue::DispatchThread::entry | |
+ 100.00% DispatchQueue::entry | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 104 (ms_local) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% DispatchQueue::LocalDeliveryThread::entry | |
+ 100.00% DispatchQueue::run_local_delivery | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 105 (ms_dispatch) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% DispatchQueue::DispatchThread::entry | |
+ 100.00% DispatchQueue::entry | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 106 (ms_local) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% DispatchQueue::LocalDeliveryThread::entry | |
+ 100.00% DispatchQueue::run_local_delivery | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 107 (ms_dispatch) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% DispatchQueue::DispatchThread::entry | |
+ 100.00% DispatchQueue::entry | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 108 (ms_local) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% DispatchQueue::LocalDeliveryThread::entry | |
+ 100.00% DispatchQueue::run_local_delivery | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 109 (ms_dispatch) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% DispatchQueue::DispatchThread::entry | |
+ 100.00% DispatchQueue::entry | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 110 (bstore_mempool) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% BlueStore::MempoolThread::entry | |
+ 100.00% WaitInterval | |
+ 100.00% WaitUntil | |
+ 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 | |
Thread: 111 (bstore_kv_final) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% BlueStore::KVFinalizeThread::entry | |
+ 100.00% BlueStore::_kv_finalize_thread | |
+ 100.00% std::condition_variable::wait(std::unique_lock<std::mutex>&) | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 112 (bstore_kv_sync) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% BlueStore::KVSyncThread::entry | |
+ 100.00% BlueStore::_kv_sync_thread | |
+ 100.00% std::condition_variable::wait(std::unique_lock<std::mutex>&) | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 113 (finisher) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% Finisher::finisher_thread_entry | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 114 (dfin) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% Finisher::finisher_thread_entry | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 115 (rocksdb:bg0) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% execute_native_thread_routine | |
+ 100.00% rocksdb::ThreadPoolImpl::Impl::BGThreadWrapper | |
+ 100.00% rocksdb::ThreadPoolImpl::Impl::BGThread | |
+ 100.00% std::condition_variable::wait(std::unique_lock<std::mutex>&) | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 116 (rocksdb:bg0) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% execute_native_thread_routine | |
+ 100.00% rocksdb::ThreadPoolImpl::Impl::BGThreadWrapper | |
+ 100.00% rocksdb::ThreadPoolImpl::Impl::BGThread | |
+ 100.00% std::condition_variable::wait(std::unique_lock<std::mutex>&) | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 117 (bstore_aio) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% KernelDevice::AioCompletionThread::entry | |
+ 100.00% KernelDevice::_aio_thread | |
+ 100.00% aio_queue_t::get_next_completed | |
+ 100.00% __io_getevents_0_4 | |
Thread: 118 (bstore_aio) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% KernelDevice::AioCompletionThread::entry | |
+ 100.00% KernelDevice::_aio_thread | |
+ 100.00% aio_queue_t::get_next_completed | |
+ 100.00% __io_getevents_0_4 | |
Thread: 119 (bstore_aio) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% KernelDevice::AioCompletionThread::entry | |
+ 100.00% KernelDevice::_aio_thread | |
+ 100.00% aio_queue_t::get_next_completed | |
+ 100.00% __io_getevents_0_4 | |
Thread: 120 (bstore_aio) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% KernelDevice::AioCompletionThread::entry | |
+ 100.00% KernelDevice::_aio_thread | |
+ 100.00% aio_queue_t::get_next_completed | |
+ 100.00% __io_getevents_0_4 | |
Thread: 121 (safe_timer) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% SafeTimerThread::entry | |
+ 100.00% SafeTimer::timer_thread | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 122 (safe_timer) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% SafeTimerThread::entry | |
+ 100.00% SafeTimer::timer_thread | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 123 (safe_timer) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% SafeTimerThread::entry | |
+ 100.00% SafeTimer::timer_thread | |
+ 100.00% WaitUntil | |
+ 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 | |
Thread: 124 (safe_timer) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% SafeTimerThread::entry | |
+ 100.00% SafeTimer::timer_thread | |
+ 100.00% WaitUntil | |
+ 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 | |
Thread: 125 (ceph-osd) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% execute_native_thread_routine | |
+ 100.00% ceph::timer_detail::timer<ceph::time_detail::coarse_mono_clock>::timer_thread | |
+ 100.00% wait_until<ceph::time_detail::coarse_mono_clock, std::chrono::duration<unsigned long, std::ratio<1, 1000000000> > > | |
+ 100.00% __wait_until_impl<std::chrono::duration<unsigned long, std::ratio<1, 1000000000> > > | |
+ 100.00% __gthread_cond_timedwait | |
+ 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 | |
Thread: 126 (admin_socket) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% AdminSocket::entry | |
+ 100.00% poll | |
+ 100.00% poll | |
Thread: 127 (service) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% CephContextServiceThread::entry | |
+ 100.00% WaitInterval | |
+ 100.00% WaitUntil | |
+ 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 | |
Thread: 128 (msgr-worker-2) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% execute_native_thread_routine | |
+ 100.00% std::_Function_handler<void(), NetworkStack::add_thread(unsigned int)::<lambda()> >::_M_invoke(const std::_Any_data &) | |
+ 100.00% operator() | |
+ 100.00% EventCenter::process_events | |
+ 100.00% EpollDriver::event_wait | |
+ 100.00% epoll_wait | |
Thread: 129 (msgr-worker-1) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% execute_native_thread_routine | |
+ 100.00% std::_Function_handler<void(), NetworkStack::add_thread(unsigned int)::<lambda()> >::_M_invoke(const std::_Any_data &) | |
+ 100.00% operator() | |
+ 100.00% EventCenter::process_events | |
+ 100.00% EpollDriver::event_wait | |
+ 100.00% epoll_wait | |
Thread: 130 (msgr-worker-0) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% execute_native_thread_routine | |
+ 100.00% std::_Function_handler<void(), NetworkStack::add_thread(unsigned int)::<lambda()> >::_M_invoke(const std::_Any_data &) | |
+ 100.00% operator() | |
+ 99.90% EventCenter::process_events | |
+ 36.90% AsyncConnection::process | |
| + 16.70% DispatchQueue::fast_dispatch | |
| | + 16.60% ms_fast_dispatch | |
| | | + 16.30% OSD::ms_fast_dispatch | |
| | | | + 12.40% OSD::enqueue_op | |
| | | | | + 11.50% queue | |
| | | | | | + 11.50% OSD::ShardedOpWQ::_enqueue(OpQueueItem&&) | |
| | | | | | + 8.50% SignalOne | |
| | | | | | | + 8.50% pthread_cond_signal@@GLIBC_2.3.2 | |
| | | | | | + 1.20% Mutex::Unlock | |
| | | | | | | + 1.10% pthread_mutex_unlock | |
| | | | | | | | + 0.90% _L_unlock_713 | |
| | | | | | | | + 0.90% __lll_unlock_wake | |
| | | | | | | + 0.10% _pre_unlock | |
| | | | | | | + 0.10% pthread_self | |
| | | | | | + 1.10% Mutex::Lock | |
| | | | | | | + 0.90% pthread_mutex_lock | |
| | | | | | | + 0.90% _L_lock_812 | |
| | | | | | | + 0.90% __lll_lock_wait | |
| | | | | | + 0.50% WeightedPriorityQueue<OpQueueItem, unsigned long>::Queue::insert(unsigned int, unsigned long, unsigned int, OpQueueItem&&, bool) | |
| | | | | | | + 0.40% insert | |
| | | | | | | + 0.30% insert | |
| | | | | | | | + 0.30% tc_new | |
| | | | | | | | + 0.20% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | | | | | + 0.20% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | | | | | + 0.20% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | | | | | | + 0.10% tc_new | |
| | | | | | + 0.10% hash_to_shard | |
| | | | | | + 0.10% WeightedPriorityQueue<OpQueueItem, unsigned long>::enqueue(unsigned long, unsigned int, unsigned int, OpQueueItem&&) | |
| | | | | + 0.30% unique_ptr<> | |
| | | | | | + 0.30% __uniq_ptr_impl | |
| | | | | + 0.30% mark_queued_for_pg | |
| | | | | | + 0.30% OpRequest::mark_flag_point | |
| | | | | | + 0.20% TrackedOp::mark_event | |
| | | | | | + 0.10% ~Locker | |
| | | | | | | + 0.10% Mutex::Unlock | |
| | | | | | + 0.10% push_back | |
| | | | | | + 0.10% std::vector<TrackedOp::Event, std::allocator<TrackedOp::Event> >::emplace_back<TrackedOp::Event>(TrackedOp::Event&&) | |
| | | | | + 0.20% tc_new | |
| | | | | + 0.10% PGOpItem | |
| | | | | + 0.10% PGOpQueueable | |
| | | | + 3.90% OpTracker::create_request<OpRequest, Message*> | |
| | | | + 2.10% OpRequest::OpRequest | |
| | | | | + 2.00% TrackedOp | |
| | | | | | + 0.90% std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) | |
| | | | | | | + 0.70% std::string::_S_construct<char const*> | |
| | | | | | | | + 0.70% std::string::_Rep::_S_create(unsigned long, unsigned long, std::allocator<char> const&) | |
| | | | | | | | + 0.70% tc_new | |
| | | | | | | + 0.10% __strlen_sse42 | |
| | | | | | + 0.50% reserve | |
| | | | | | | + 0.50% _M_allocate_and_copy<std::move_iterator<TrackedOp::Event*> > | |
| | | | | | | + 0.50% _M_allocate | |
| | | | | | | + 0.50% allocate | |
| | | | | | | + 0.50% allocate | |
| | | | | | | + 0.50% tc_new | |
| | | | | | + 0.40% Mutex::Mutex | |
| | | | | | | + 0.10% pthread_mutexattr_settype | |
| | | | | | | + 0.10% pthread_mutexattr_init | |
| | | | | | | + 0.10% pthread_mutexattr_destroy | |
| | | | | | | + 0.10% pthread_mutex_init | |
| | | | | | + 0.20% ~basic_string | |
| | | | | | + 0.20% _M_dispose | |
| | | | | + 0.10% TrackedOp::mark_event | |
| | | | + 0.90% tracking_start | |
| | | | | + 0.90% OpTracker::register_inflight_op | |
| | | | | + 0.30% RLocker | |
| | | | | | + 0.30% get_read | |
| | | | | | + 0.20% pthread_rwlock_rdlock | |
| | | | | | + 0.10% pthread_rwlock_rdlock@plt | |
| | | | | + 0.20% Locker | |
| | | | | | + 0.20% Mutex::Lock | |
| | | | | | + 0.10% pthread_mutex_lock | |
| | | | | + 0.10% ~RLocker | |
| | | | | | + 0.10% unlock | |
| | | | | | + 0.10% pthread_rwlock_unlock@plt | |
| | | | | + 0.10% ~Locker | |
| | | | | | + 0.10% Mutex::Unlock | |
| | | | | | + 0.10% pthread_mutex_unlock | |
| | | | | + 0.10% push_back | |
| | | | | + 0.10% get_root_node | |
| | | | | + 0.10% get_node | |
| | | | + 0.60% tc_new | |
| | | | + 0.20% operator-> | |
| | | + 0.20% ceph_clock_now | |
| | | + 0.20% clock_gettime | |
| | | + 0.20% clock_gettime | |
| | + 0.10% DispatchQueue::pre_dispatch | |
| + 8.40% AsyncConnection::read_until | |
| | + 7.50% AsyncConnection::read_bulk | |
| | | + 7.50% read | |
| | | + 7.50% PosixConnectedSocketImpl::read | |
| | | + 7.50% read | |
| | | + 7.50% read | |
| | | + 0.10% __pthread_enable_asynccancel | |
| | + 0.50% memcpy | |
| | + 0.50% __memcpy_ssse3 | |
| + 5.50% decode_message | |
| | + 1.10% MOSDOp::decode_payload | |
| | | + 0.50% decode | |
| | | | + 0.40% spg_t::decode | |
| | | | | + 0.30% decode | |
| | | | | + 0.30% decode_raw<unsigned char> | |
| | | | | + 0.30% ceph::buffer::list::iterator_impl<false>::copy | |
| | | | | + 0.10% ceph::buffer::ptr::copy_out | |
| | | | + 0.10% decode_raw<crimson::dmclock::ReqParams> | |
| | | | + 0.10% ceph::buffer::list::iterator_impl<false>::copy | |
| | | | + 0.10% ceph::buffer::list::iterator_impl<false>::advance | |
| | | + 0.40% decode<osd_reqid_t, denc_traits<osd_reqid_t, void> > | |
| | | | + 0.30% ~ptr | |
| | | | | + 0.20% ceph::buffer::ptr::release | |
| | | | + 0.10% ceph::buffer::list::iterator_impl<false>::advance | |
| | | + 0.10% Message::decode_trace | |
| | + 0.90% ceph::buffer::list::crc32c | |
| | | + 0.40% set_crc | |
| | | | + 0.30% operator[] | |
| | | | | + 0.30% _M_emplace_hint_unique<const std::piecewise_construct_t&, std::tuple<const std::pair<long unsigned int, long unsigned int>&>, std::tuple<> > | |
| | | | | + 0.20% _M_create_node<const std::piecewise_construct_t&, std::tuple<const std::pair<long unsigned int, long unsigned int>&>, std::tuple<> > | |
| | | | | | + 0.20% _M_get_node | |
| | | | | | + 0.20% allocate | |
| | | | | | + 0.20% allocate | |
| | | | | | + 0.20% tc_new | |
| | | | | + 0.10% _M_insert_node | |
| | | | | + 0.10% std::_Rb_tree_insert_and_rebalance(bool, std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node_base&) | |
| | | | + 0.10% lock_guard | |
| | | | + 0.10% lock | |
| | | | + 0.10% spin_lock | |
| | | + 0.30% ceph_crc32c | |
| | | | + 0.20% ceph_crc32c_intel_baseline | |
| | | | + 0.10% ceph_crc32c_intel_fast | |
| | | | + 0.10% ??? | |
| | | | + 0.10% ??? | |
| | | | + 0.10% crc32_iscsi_00 | |
| | | + 0.10% get_crc | |
| | | + 0.10% lock_guard | |
| | | + 0.10% lock | |
| | | + 0.10% spin_lock | |
| | + 0.70% MOSDFastDispatchOp | |
| | | + 0.70% Message::Message | |
| | | + 0.30% utime_t | |
| | | + 0.30% ceph::buffer::list::list | |
| | | + 0.10% memset | |
| | + 0.60% tc_new | |
| | + 0.60% intrusive_ptr | |
| | | + 0.60% intrusive_ptr_add_ref | |
| | | + 0.60% get | |
| | + 0.20% set_middle | |
| | | + 0.20% ceph::buffer::list::claim | |
| | | + 0.10% clear | |
| | | + 0.10% ceph::buffer::list::claim_append | |
| | | + 0.10% begin | |
| | | + 0.10% ceph::buffer::list::iterator_impl<false>::iterator_impl | |
| | + 0.10% ~intrusive_ptr | |
| | | + 0.10% intrusive_ptr_release | |
| | | + 0.10% put | |
| | | + 0.10% operator-- | |
| | + 0.10% vector | |
| | | + 0.10% _Vector_base | |
| | | + 0.10% _Vector_impl | |
| | + 0.10% spg_t | |
| | + 0.10% set_payload | |
| | | + 0.10% ceph::buffer::list::claim | |
| | | + 0.10% ceph::buffer::list::claim_append | |
| | | + 0.10% splice | |
| | | + 0.10% splice | |
| | | + 0.10% _M_transfer | |
| | | + 0.10% std::__detail::_List_node_base::_M_transfer(std::__detail::_List_node_base*, std::__detail::_List_node_base*) | |
| | + 0.10% set_data | |
| | | + 0.10% share | |
| | | + 0.10% ceph::buffer::list::clear | |
| | + 0.10% osd_reqid_t | |
| | | + 0.10% entity_name_t | |
| | + 0.10% iterator | |
| | | + 0.10% iterator_impl | |
| | | + 0.10% _List_iterator | |
| | + 0.10% hobject_t::hobject_t | |
| + 1.30% ceph::buffer::create | |
| | + 1.30% ceph::buffer::create_aligned | |
| | + 1.10% ceph::buffer::create_aligned_in_mempool | |
| | + 1.10% create | |
| | + 1.10% tc_posix_memalign | |
| | + 0.90% (anonymous namespace)::do_memalign(unsigned long, unsigned long) | |
| | + 0.20% tcmalloc::AlignmentForSize(unsigned long) | |
| + 1.30% Throttle::get_or_fail | |
| | + 0.40% PerfCounters::set | |
| | | + 0.10% operator= | |
| | | + 0.10% store | |
| | + 0.40% PerfCounters::inc | |
| | | + 0.10% operator[] | |
| | + 0.10% ~unique_lock | |
| | | + 0.10% unlock | |
| | | + 0.10% unlock | |
| | | + 0.10% __gthread_mutex_unlock | |
| | | + 0.10% pthread_mutex_unlock | |
| | + 0.10% _should_wait | |
| + 0.40% ceph_crc32c | |
| | + 0.20% ceph_crc32c_intel_fast | |
| | | + 0.20% ??? | |
| | | + 0.10% crc32_iscsi_00 | |
| | | + 0.10% ??? | |
| | | + 0.10% crc32_iscsi_00 | |
| | + 0.20% ceph_crc32c_intel_baseline | |
| + 0.40% ceph::buffer::list::clear | |
| | + 0.40% ceph::buffer::ptr::operator=(ceph::buffer::ptr&&) | |
| | + 0.20% ceph::buffer::ptr::release | |
| + 0.30% ceph::buffer::list::push_back | |
| | + 0.30% push_back | |
| | + 0.30% push_back | |
| | + 0.30% _M_insert<ceph::buffer::ptr> | |
| | + 0.20% _M_create_node<ceph::buffer::ptr> | |
| | | + 0.20% _M_get_node | |
| | | + 0.20% allocate | |
| | | + 0.20% allocate | |
| | | + 0.20% tc_new | |
| | + 0.10% std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*) | |
| + 0.20% set_connection | |
| | + 0.20% operator= | |
| | + 0.20% intrusive_ptr | |
| | + 0.20% intrusive_ptr_add_ref | |
| | + 0.20% get | |
| | + 0.10% should_gather | |
| + 0.20% ms_fast_preprocess | |
| | + 0.20% OSD::ms_fast_preprocess | |
| + 0.20% intrusive_ptr | |
| | + 0.20% intrusive_ptr_add_ref | |
| + 0.20% ceph::logging::SubsystemMap::should_gather | |
| + 0.20% ceph::buffer::ptr::c_str | |
| | + 0.20% ceph::buffer::raw::get_data | |
| + 0.10% ~intrusive_ptr | |
| | + 0.10% intrusive_ptr_release | |
| | + 0.10% put | |
| | + 0.10% operator-- | |
| + 0.10% now | |
| | + 0.10% clock_gettime | |
| | + 0.10% clock_gettime | |
| + 0.10% lock_guard | |
| | + 0.10% std::mutex::lock | |
| | + 0.10% __gthread_mutex_lock | |
| | + 0.10% pthread_mutex_lock | |
| + 0.10% ceph_clock_now | |
| | + 0.10% clock_gettime | |
| | + 0.10% clock_gettime | |
| + 0.10% PerfCounters::tinc | |
| + 0.10% DispatchQueue::post_dispatch | |
+ 35.50% AsyncConnection::handle_write | |
| + 26.90% AsyncConnection::write_message | |
| | + 21.90% AsyncConnection::_try_send | |
| | | + 19.70% send | |
| | | | + 19.60% PosixConnectedSocketImpl::send | |
| | | | + 19.10% do_sendmsg | |
| | | | | + 19.10% sendmsg | |
| | | | | + 0.10% __pthread_enable_asynccancel | |
| | | | + 0.30% clear | |
| | | | | + 0.30% ceph::buffer::ptr::operator=(ceph::buffer::ptr&&) | |
| | | | | + 0.30% ceph::buffer::ptr::release | |
| | | | | + 0.20% ceph::buffer::raw_combined::~raw_combined | |
| | | | | + 0.20% ~raw_combined | |
| | | | | + 0.20% ~raw | |
| | | | | + 0.20% mempool::pool_t::adjust_count | |
| | | | | + 0.20% pick_a_shard | |
| | | | | + 0.20% pthread_self | |
| | | | + 0.10% ~list | |
| | | | + 0.10% ~ptr | |
| | | | + 0.10% ceph::buffer::ptr::release | |
| | | + 1.50% EventCenter::create_file_event | |
| | | | + 1.40% EpollDriver::add_event | |
| | | | + 1.40% epoll_ctl | |
| | | + 0.50% EventCenter::delete_file_event | |
| | | + 0.50% EpollDriver::del_event | |
| | | + 0.20% epoll_ctl | |
| | + 3.20% RefCountedObject::put | |
| | | + 3.20% MOSDOpReply::~MOSDOpReply | |
| | | + 2.80% ~MOSDOpReply | |
| | | | + 2.20% Message::~Message | |
| | | | | + 1.60% ~list | |
| | | | | | + 1.50% ~list | |
| | | | | | | + 1.50% ~_List_base | |
| | | | | | | + 1.50% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | | | + 1.30% destroy<ceph::buffer::ptr> | |
| | | | | | | | + 1.30% destroy<ceph::buffer::ptr> | |
| | | | | | | | + 1.30% ~ptr | |
| | | | | | | | + 1.30% ceph::buffer::ptr::release | |
| | | | | | | | + 0.50% tc_free | |
| | | | | | | | | + 0.40% tcmalloc::ThreadCache::ListTooLong(tcmalloc::ThreadCache::FreeList*, unsigned long) | |
| | | | | | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | | | | + 0.20% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | | | | + 0.10% tcmalloc::CentralFreeList::MakeCacheSpace() | |
| | | | | | | | + 0.40% ceph::buffer::raw_posix_aligned::operator delete | |
| | | | | | | | | + 0.40% deallocate | |
| | | | | | | | | + 0.20% operator-= | |
| | | | | | | | | + 0.10% pick_a_shard | |
| | | | | | | | + 0.30% ceph::buffer::raw_posix_aligned::~raw_posix_aligned | |
| | | | | | | | | + 0.30% ~raw_posix_aligned | |
| | | | | | | | | + 0.30% ~raw | |
| | | | | | | | | + 0.20% mempool::pool_t::adjust_count | |
| | | | | | | | | | + 0.10% operator+= | |
| | | | | | | | | + 0.10% ~map | |
| | | | | | | | + 0.10% tc_deletearray | |
| | | | | | | + 0.10% _M_valptr | |
| | | | | | | | + 0.10% _M_ptr | |
| | | | | | | | + 0.10% _M_addr | |
| | | | | | | + 0.10% _M_put_node | |
| | | | | | | + 0.10% deallocate | |
| | | | | | | + 0.10% deallocate | |
| | | | | | | + 0.10% tc_delete | |
| | | | | | + 0.10% ~ptr | |
| | | | | | + 0.10% ceph::buffer::ptr::release | |
| | | | | + 0.50% ~intrusive_ptr | |
| | | | | | + 0.50% intrusive_ptr_release | |
| | | | | | + 0.20% put | |
| | | | | | + 0.20% operator-- | |
| | | | | + 0.10% ~list_member_hook | |
| | | | | + 0.10% ~generic_hook | |
| | | | | + 0.10% boost::intrusive::detail::destructor_impl<boost::intrusive::generic_hook<(boost::intrusive::algo_types)0, boost::intrusive::list_node_traits<void*>, boost::intrusive::member_tag, (boost::intrusive::link_mode_type)1, (boost::intrusive::base_hook_type)0> > | |
| | | | | + 0.10% is_linked | |
| | | | | + 0.10% unique | |
| | | | | + 0.10% get_next | |
| | | | + 0.30% ~vector | |
| | | | | + 0.30% ~_Vector_base | |
| | | | | + 0.30% _M_deallocate | |
| | | | | + 0.30% deallocate | |
| | | | | + 0.30% deallocate | |
| | | | | + 0.30% tc_delete | |
| | | | | + 0.30% tcmalloc::ThreadCache::ListTooLong(tcmalloc::ThreadCache::FreeList*, unsigned long) | |
| | | | | + 0.30% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.10% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.10% tcmalloc::CentralFreeList::ReleaseListToSpans(void*) | |
| | | | | + 0.10% tcmalloc::CentralFreeList::ReleaseToSpans(void*) | |
| | | | + 0.30% ~object_t | |
| | | | + 0.30% ~basic_string | |
| | | | + 0.30% _M_dispose | |
| | | | + 0.20% std::string::_Rep::_M_dispose | |
| | | | + 0.10% tc_delete | |
| | | + 0.40% tc_delete | |
| | | + 0.10% tcmalloc::ThreadCache::ListTooLong(tcmalloc::ThreadCache::FreeList*, unsigned long) | |
| | | + 0.10% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | + 1.20% ceph::buffer::list::append | |
| | | + 0.40% create | |
| | | | + 0.20% tc_posix_memalign | |
| | | | + 0.10% raw_combined | |
| | | | | + 0.10% raw | |
| | | | | + 0.10% mempool::pool_t::adjust_count | |
| | | | | + 0.10% operator+= | |
| | | | + 0.10% posix_memalign@plt | |
| | | + 0.40% ceph::buffer::list::append | |
| | | | + 0.10% ~ptr | |
| | | | | + 0.10% ceph::buffer::ptr::release | |
| | | | + 0.10% push_back | |
| | | | | + 0.10% push_back | |
| | | | | + 0.10% _M_insert<ceph::buffer::ptr> | |
| | | | | + 0.10% _M_create_node<ceph::buffer::ptr> | |
| | | | | + 0.10% _M_get_node | |
| | | | | + 0.10% allocate | |
| | | | | + 0.10% allocate | |
| | | | | + 0.10% tc_new | |
| | | | + 0.10% ceph::buffer::ptr::ptr | |
| | | + 0.20% ceph::buffer::ptr::append | |
| | | | + 0.10% maybe_inline_memcpy | |
| | | | + 0.10% memcpy | |
| | | | + 0.10% __memcpy_ssse3 | |
| | | + 0.10% ceph::buffer::ptr::ptr | |
| | + 0.40% ceph::buffer::list::claim_append | |
| | + 0.30% make_shareable | |
| | | + 0.30% ceph::buffer::ptr::make_shareable | |
| | | + 0.10% ceph::buffer::raw::is_shareable | |
| | + 0.10% begin | |
| | + 0.10% ceph::buffer::list::iterator_impl<false>::iterator_impl | |
| + 6.30% AsyncConnection::prepare_send_message | |
| | + 5.70% Message::encode | |
| | | + 3.80% MOSDOpReply::encode_payload | |
| | | | + 2.20% encode | |
| | | | | + 1.80% encode | |
| | | | | | + 1.50% encode | |
| | | | | | | + 1.00% encode | |
| | | | | | | | + 1.00% encode_raw<ceph_le<unsigned int> > | |
| | | | | | | | + 1.00% ceph::buffer::list::append | |
| | | | | | | | + 0.50% create | |
| | | | | | | | | + 0.40% tc_posix_memalign | |
| | | | | | | | | | + 0.40% (anonymous namespace)::do_memalign(unsigned long, unsigned long) | |
| | | | | | | | | | + 0.30% tcmalloc::AlignmentForSize(unsigned long) | |
| | | | | | | | | + 0.10% raw_combined | |
| | | | | | | | | + 0.10% raw | |
| | | | | | | | | + 0.10% mempool::pool_t::adjust_count | |
| | | | | | | | | + 0.10% operator+= | |
| | | | | | | | + 0.30% ceph::buffer::list::append | |
| | | | | | | | | + 0.20% push_back | |
| | | | | | | | | | + 0.20% push_back | |
| | | | | | | | | | + 0.20% _M_insert<ceph::buffer::ptr> | |
| | | | | | | | | | + 0.20% _M_create_node<ceph::buffer::ptr> | |
| | | | | | | | | | + 0.20% _M_get_node | |
| | | | | | | | | | + 0.20% allocate | |
| | | | | | | | | | + 0.20% allocate | |
| | | | | | | | | | + 0.20% tc_new | |
| | | | | | | | | + 0.10% ~ptr | |
| | | | | | | | | + 0.10% ceph::buffer::ptr::release | |
| | | | | | | | + 0.10% ceph::buffer::ptr::ptr | |
| | | | | | | | + 0.10% ceph::buffer::ptr::append | |
| | | | | | | + 0.30% ceph::buffer::list::append | |
| | | | | | | | + 0.20% ceph::buffer::ptr::append | |
| | | | | | | | + 0.20% maybe_inline_memcpy | |
| | | | | | | | + 0.20% memcpy | |
| | | | | | | | + 0.20% __memcpy_ssse3 | |
| | | | | | | + 0.20% encode_raw<ceph_le<unsigned int> > | |
| | | | | | | + 0.20% ceph::buffer::list::append | |
| | | | | | | + 0.10% ceph::buffer::ptr::unused_tail_length | |
| | | | | | + 0.20% encode_raw<unsigned char> | |
| | | | | | + 0.10% ceph::buffer::list::append | |
| | | | | + 0.20% pg_t::encode | |
| | | | | | + 0.20% encode | |
| | | | | | + 0.20% encode_raw<ceph_le<unsigned int> > | |
| | | | | | + 0.20% ceph::buffer::list::append | |
| | | | | | + 0.20% ceph::buffer::list::append | |
| | | | | + 0.10% operator= | |
| | | | | + 0.10% encode_raw<ceph_le<unsigned int> > | |
| | | | | + 0.10% ceph::buffer::list::append | |
| | | | | + 0.10% ceph::buffer::ptr::unused_tail_length | |
| | | | + 1.20% OSDOp::merge_osd_op_vector_out_data | |
| | | | | + 0.80% ceph::buffer::list::append | |
| | | | | + 0.70% push_back | |
| | | | | + 0.70% _M_insert<ceph::buffer::ptr const&> | |
| | | | | + 0.70% _M_create_node<ceph::buffer::ptr const&> | |
| | | | | + 0.70% construct<ceph::buffer::ptr, ceph::buffer::ptr const&> | |
| | | | | + 0.70% construct<ceph::buffer::ptr, ceph::buffer::ptr const&> | |
| | | | | + 0.70% ceph::buffer::ptr::ptr | |
| | | | + 0.10% size | |
| | | | + 0.10% Message::encode_trace | |
| | | | + 0.10% encode | |
| | | | + 0.10% encode | |
| | | | + 0.10% encode_raw<ceph_le<unsigned long long> > | |
| | | | + 0.10% ceph::buffer::list::append | |
| | | | + 0.10% ceph::buffer::ptr::unused_tail_length | |
| | | + 1.70% calc_data_crc | |
| | | | + 1.70% ceph::buffer::list::crc32c | |
| | | | + 1.30% ceph_crc32c | |
| | | | | + 1.30% ceph_crc32c_intel_fast | |
| | | | | + 1.30% ??? | |
| | | | | + 1.30% ??? | |
| | | | | + 1.30% crc32_iscsi_00 | |
| | | | + 0.20% set_crc | |
| | | | | + 0.20% operator[] | |
| | | | | + 0.20% _M_emplace_hint_unique<const std::piecewise_construct_t&, std::tuple<const std::pair<long unsigned int, long unsigned int>&>, std::tuple<> > | |
| | | | | + 0.20% _M_create_node<const std::piecewise_construct_t&, std::tuple<const std::pair<long unsigned int, long unsigned int>&>, std::tuple<> > | |
| | | | | + 0.20% _M_get_node | |
| | | | | + 0.20% allocate | |
| | | | | + 0.20% allocate | |
| | | | | + 0.20% tc_new | |
| | | | + 0.20% get_crc | |
| | | | + 0.10% lock_guard | |
| | | | | + 0.10% lock | |
| | | | | + 0.10% spin_lock | |
| | | | + 0.10% find | |
| | | | + 0.10% find | |
| | | | + 0.10% _M_lower_bound | |
| | | + 0.20% calc_front_crc | |
| | | + 0.20% ceph::buffer::list::crc32c | |
| | | + 0.20% ceph_crc32c | |
| | | + 0.20% ceph_crc32c_intel_baseline | |
| | + 0.20% ceph::buffer::list::append | |
| | | + 0.20% push_back | |
| | | + 0.20% _M_insert<ceph::buffer::ptr const&> | |
| | | + 0.20% _M_create_node<ceph::buffer::ptr const&> | |
| | | + 0.10% construct<ceph::buffer::ptr, ceph::buffer::ptr const&> | |
| | | | + 0.10% construct<ceph::buffer::ptr, ceph::buffer::ptr const&> | |
| | | | + 0.10% ceph::buffer::ptr::ptr | |
| | | + 0.10% _M_get_node | |
| | | + 0.10% allocate | |
| | | + 0.10% allocate | |
| | | + 0.10% tc_new | |
| | + 0.10% ceph::logging::SubsystemMap::should_gather | |
| + 0.80% lock | |
| | + 0.80% __gthread_mutex_lock | |
| | + 0.80% pthread_mutex_lock | |
| | + 0.70% _L_lock_812 | |
| | + 0.70% __lll_lock_wait | |
| + 0.80% _get_next_outgoing | |
| | + 0.40% erase | |
| | | + 0.30% _M_erase | |
| | | | + 0.30% _M_put_node | |
| | | | + 0.30% deallocate | |
| | | | + 0.30% deallocate | |
| | | | + 0.30% tc_delete | |
| | | | + 0.20% tcmalloc::ThreadCache::ListTooLong(tcmalloc::ThreadCache::FreeList*, unsigned long) | |
| | | | + 0.20% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.10% std::_Rb_tree<int, std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > >, std::_Select1st<std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > > >, std::less<int>, std::allocator<std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > > > >::erase | |
| | + 0.10% operator-> | |
| | + 0.10% operator* | |
| | + 0.10% operator-- | |
| | + 0.10% ??? | |
| + 0.20% unlock | |
| | + 0.20% __gthread_mutex_unlock | |
| | + 0.20% pthread_mutex_unlock | |
| + 0.20% now | |
| | + 0.20% clock_gettime | |
| | + 0.20% clock_gettime | |
| + 0.10% ~list | |
| + 0.10% ~ptr | |
| + 0.10% ceph::buffer::ptr::release | |
+ 24.90% EpollDriver::event_wait | |
| + 24.60% epoll_wait | |
| | + 0.10% __libc_enable_asynccancel | |
| + 0.20% resize | |
| + 0.20% _M_default_append | |
| + 0.20% _M_allocate | |
| + 0.20% allocate | |
| + 0.20% allocate | |
| + 0.20% tc_new | |
+ 1.70% do_request | |
| + 1.70% read | |
| + 1.70% read | |
+ 0.10% ~vector | |
| + 0.10% ~_Vector_base | |
| + 0.10% _M_deallocate | |
| + 0.10% deallocate | |
| + 0.10% deallocate | |
| + 0.10% tc_delete | |
+ 0.10% pop_front | |
+ 0.10% now | |
+ 0.10% clock_gettime | |
+ 0.10% clock_gettime | |
Thread: 131 (log) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ceph::logging::Log::entry | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Gathering Samples........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ | |
Profiling complete with 1000 samples. | |
Thread: 1 (ceph-osd) - 1000 samples | |
+ 100.00% main | |
+ 100.00% AsyncMessenger::wait | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 2 (signal_handler) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% SignalHandler::entry | |
+ 100.00% poll | |
+ 100.00% poll | |
Thread: 3 (osd_srv_agent) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% OSDService::AgentThread::entry | |
+ 100.00% OSDService::agent_entry | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 4 (safe_timer) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% SafeTimerThread::entry | |
+ 100.00% SafeTimer::timer_thread | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 5 (safe_timer) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% SafeTimerThread::entry | |
+ 100.00% SafeTimer::timer_thread | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 6 (safe_timer) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% SafeTimerThread::entry | |
+ 100.00% SafeTimer::timer_thread | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 7 (safe_timer) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% SafeTimerThread::entry | |
+ 100.00% SafeTimer::timer_thread | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 8 (finisher) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% Finisher::finisher_thread_entry | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 9 (fn_anonymous) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% Finisher::finisher_thread_entry | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 10 (osd_srv_heartbt) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% OSD::T_Heartbeat::entry | |
+ 100.00% OSD::heartbeat_entry | |
+ 100.00% WaitInterval | |
+ 100.00% WaitUntil | |
+ 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 | |
Thread: 11 (tp_osd_cmd) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ThreadPool::WorkThread::entry | |
+ 100.00% ThreadPool::worker | |
+ 100.00% WaitInterval | |
+ 100.00% WaitUntil | |
+ 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 | |
Thread: 12 (tp_osd_disk) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ThreadPool::WorkThread::entry | |
+ 100.00% ThreadPool::worker | |
+ 96.90% WaitInterval | |
| + 96.90% WaitUntil | |
| + 96.90% pthread_cond_timedwait@@GLIBC_2.3.2 | |
| + 1.40% __pthread_mutex_cond_lock | |
| + 1.40% _L_cond_lock_789 | |
| + 1.40% __lll_lock_wait | |
+ 3.00% ThreadPool::WorkQueueVal<GenContext<ThreadPool::TPHandle&>*, GenContext<ThreadPool::TPHandle&>*>::_void_process | |
| + 3.00% _process | |
| + 3.00% complete<ThreadPool::TPHandle&> | |
| + 3.00% PrimaryLogPG::BlessedGenContext<ThreadPool::TPHandle&>::finish | |
| + 2.70% complete<ThreadPool::TPHandle&> | |
| | + 2.70% Context::complete | |
| | + 2.70% PrimaryLogPG::execute_ctx | |
| | + 1.90% PrimaryLogPG::complete_read_ctx | |
| | | + 1.90% send_message_osd_client | |
| | | + 1.90% AsyncConnection::send_message | |
| | | + 1.70% lock_guard | |
| | | | + 1.70% std::mutex::lock | |
| | | | + 1.70% __gthread_mutex_lock | |
| | | | + 1.70% pthread_mutex_lock | |
| | | | + 1.70% _L_lock_812 | |
| | | | + 1.70% __lll_lock_wait | |
| | | + 0.20% EventCenter::dispatch_event_external | |
| | | + 0.20% lock | |
| | | + 0.20% __gthread_mutex_lock | |
| | | + 0.20% pthread_mutex_lock | |
| | | + 0.20% _L_lock_812 | |
| | | + 0.20% __lll_lock_wait | |
| | + 0.70% intrusive_ptr_release | |
| | | + 0.70% TrackedOp::put | |
| | | + 0.70% OpTracker::unregister_inflight_op | |
| | | + 0.50% OpRequest::_unregistered | |
| | | | + 0.50% clear_data | |
| | | | + 0.50% Throttle::put | |
| | | | + 0.50% uniquely_lock<std::mutex&> | |
| | | | + 0.50% unique_lock | |
| | | | + 0.50% lock | |
| | | | + 0.50% lock | |
| | | | + 0.50% __gthread_mutex_lock | |
| | | | + 0.50% pthread_mutex_lock | |
| | | | + 0.50% _L_lock_812 | |
| | | | + 0.50% __lll_lock_wait | |
| | | + 0.10% ~RLocker | |
| | | | + 0.10% unlock | |
| | | | + 0.10% pthread_rwlock_unlock | |
| | | | + 0.10% __lll_lock_wait | |
| | | + 0.10% RLocker | |
| | | + 0.10% get_read | |
| | | + 0.10% pthread_rwlock_rdlock | |
| | | + 0.10% __lll_lock_wait | |
| | + 0.10% PrimaryLogPG::prepare_transaction | |
| | + 0.10% PrimaryLogPG::do_osd_ops | |
| | + 0.10% md_config_t::get_val<bool> | |
| | + 0.10% md_config_t::get_val_generic | |
| | + 0.10% Locker | |
| | + 0.10% Mutex::Lock | |
| | + 0.10% pthread_mutex_lock | |
| | + 0.10% _L_lock_870 | |
| | + 0.10% __lll_lock_wait | |
| + 0.30% PG::lock | |
| + 0.30% Mutex::Lock | |
| + 0.30% pthread_mutex_lock | |
| + 0.30% _L_lock_812 | |
| + 0.30% __lll_lock_wait | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 13 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.10% __pthread_mutex_cond_lock | |
+ 0.10% _L_cond_lock_789 | |
+ 0.10% __lll_lock_wait | |
Thread: 14 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 15 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.20% __pthread_mutex_cond_lock | |
+ 0.20% _L_cond_lock_789 | |
+ 0.20% __lll_lock_wait | |
Thread: 16 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 17 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.10% __pthread_mutex_cond_lock | |
+ 0.10% _L_cond_lock_789 | |
+ 0.10% __lll_lock_wait | |
Thread: 18 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.90% Cond::Wait | |
| + 99.90% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.20% __pthread_mutex_cond_lock | |
| + 0.20% _L_cond_lock_789 | |
| + 0.20% __lll_lock_wait | |
+ 0.10% run | |
+ 0.10% PGOpItem::run | |
+ 0.10% OSD::dequeue_op | |
+ 0.10% PrimaryLogPG::do_request | |
+ 0.10% PrimaryLogPG::do_op | |
+ 0.10% PrimaryLogPG::execute_ctx | |
+ 0.10% PrimaryLogPG::OpContext::start_async_reads | |
+ 0.10% ReplicatedBackend::objects_read_async | |
+ 0.10% BlueStore::async_read | |
+ 0.10% BlueStore::_do_async_read | |
+ 0.10% KernelDevice::aio_submit | |
+ 0.10% aio_queue_t::submit_batch | |
+ 0.10% io_submit | |
Thread: 19 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.30% __pthread_mutex_cond_lock | |
+ 0.30% _L_cond_lock_789 | |
+ 0.30% __lll_lock_wait | |
Thread: 20 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.10% __pthread_mutex_cond_lock | |
+ 0.10% _L_cond_lock_789 | |
+ 0.10% __lll_lock_wait | |
Thread: 21 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.90% Cond::Wait | |
| + 99.90% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 22 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.90% Cond::Wait | |
| + 99.90% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.30% __pthread_mutex_cond_lock | |
| + 0.30% _L_cond_lock_789 | |
| + 0.30% __lll_lock_wait | |
+ 0.10% PG::lock | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 23 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.90% Cond::Wait | |
| + 99.90% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% run | |
+ 0.10% PGOpItem::run | |
+ 0.10% OSD::dequeue_op | |
+ 0.10% PrimaryLogPG::do_request | |
+ 0.10% PrimaryLogPG::do_op | |
+ 0.10% clear_payload | |
+ 0.10% Throttle::put | |
+ 0.10% uniquely_lock<std::mutex&> | |
+ 0.10% unique_lock | |
+ 0.10% lock | |
+ 0.10% lock | |
+ 0.10% __gthread_mutex_lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 24 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.90% Cond::Wait | |
| + 99.90% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 25 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.10% __pthread_mutex_cond_lock | |
+ 0.10% _L_cond_lock_789 | |
+ 0.10% __lll_lock_wait | |
Thread: 26 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.90% Cond::Wait | |
| + 99.90% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.50% __pthread_mutex_cond_lock | |
| + 0.50% _L_cond_lock_789 | |
| + 0.50% __lll_lock_wait | |
+ 0.10% WeightedPriorityQueue<OpQueueItem, unsigned long>::dequeue | |
+ 0.10% WeightedPriorityQueue<OpQueueItem, unsigned long>::Queue::pop | |
+ 0.10% pop | |
+ 0.10% pop | |
+ 0.10% erase_and_dispose<DelItem<WeightedPriorityQueue<OpQueueItem, unsigned long>::ListPair> > | |
+ 0.10% erase_and_dispose<DelItem<WeightedPriorityQueue<OpQueueItem, unsigned long>::ListPair> > | |
+ 0.10% operator() | |
+ 0.10% tc_delete | |
+ 0.10% tcmalloc::ThreadCache::ListTooLong(tcmalloc::ThreadCache::FreeList*, unsigned long) | |
+ 0.10% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
+ 0.10% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
+ 0.10% SpinLock::SlowLock() | |
+ 0.10% base::internal::SpinLockDelay(int volatile*, int, int) | |
Thread: 27 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.10% __pthread_mutex_cond_lock | |
+ 0.10% _L_cond_lock_789 | |
+ 0.10% __lll_lock_wait | |
Thread: 28 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.90% Cond::Wait | |
| + 99.90% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 29 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 30 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.80% Cond::Wait | |
| + 99.80% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.40% __pthread_mutex_cond_lock | |
| + 0.40% _L_cond_lock_789 | |
| + 0.40% __lll_lock_wait | |
+ 0.10% PG::lock | |
| + 0.10% Mutex::Lock | |
| + 0.10% pthread_mutex_lock | |
| + 0.10% _L_lock_812 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 31 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 32 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 33 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.90% Cond::Wait | |
| + 99.90% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 34 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.70% Cond::Wait | |
| + 99.70% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.30% Mutex::Lock | |
+ 0.30% pthread_mutex_lock | |
+ 0.30% _L_lock_812 | |
+ 0.30% __lll_lock_wait | |
Thread: 35 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.80% Cond::Wait | |
| + 99.80% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.20% Mutex::Lock | |
+ 0.20% pthread_mutex_lock | |
+ 0.20% _L_lock_812 | |
+ 0.20% __lll_lock_wait | |
Thread: 36 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.80% Cond::Wait | |
| + 99.80% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.10% PG::lock | |
| + 0.10% Mutex::Lock | |
| + 0.10% pthread_mutex_lock | |
| + 0.10% _L_lock_812 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 37 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.10% __pthread_mutex_cond_lock | |
+ 0.10% _L_cond_lock_789 | |
+ 0.10% __lll_lock_wait | |
Thread: 38 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.80% Cond::Wait | |
| + 99.80% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.20% __pthread_mutex_cond_lock | |
| + 0.20% _L_cond_lock_789 | |
| + 0.20% __lll_lock_wait | |
+ 0.20% Mutex::Lock | |
+ 0.20% pthread_mutex_lock | |
+ 0.20% _L_lock_812 | |
+ 0.20% __lll_lock_wait | |
Thread: 39 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.90% Cond::Wait | |
| + 99.90% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 40 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.90% Cond::Wait | |
| + 99.90% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 41 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.80% Cond::Wait | |
| + 99.80% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.20% Mutex::Lock | |
+ 0.20% pthread_mutex_lock | |
+ 0.20% _L_lock_812 | |
+ 0.20% __lll_lock_wait | |
Thread: 42 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.80% Cond::Wait | |
| + 99.80% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.20% PG::lock | |
+ 0.20% Mutex::Lock | |
+ 0.20% pthread_mutex_lock | |
+ 0.20% _L_lock_812 | |
+ 0.20% __lll_lock_wait | |
Thread: 43 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 44 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.90% Cond::Wait | |
| + 99.90% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 45 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 46 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.90% Cond::Wait | |
| + 99.90% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 47 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.90% Cond::Wait | |
| + 99.90% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 48 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.10% __pthread_mutex_cond_lock | |
+ 0.10% _L_cond_lock_789 | |
+ 0.10% __lll_lock_wait | |
Thread: 49 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.20% __pthread_mutex_cond_lock | |
+ 0.20% _L_cond_lock_789 | |
+ 0.20% __lll_lock_wait | |
Thread: 50 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.90% Cond::Wait | |
| + 99.90% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% PG::lock | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 51 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.10% __pthread_mutex_cond_lock | |
+ 0.10% _L_cond_lock_789 | |
+ 0.10% __lll_lock_wait | |
Thread: 52 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.10% __pthread_mutex_cond_lock | |
+ 0.10% _L_cond_lock_789 | |
+ 0.10% __lll_lock_wait | |
Thread: 53 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 54 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.90% Cond::Wait | |
| + 99.90% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% run | |
+ 0.10% PGOpItem::run | |
+ 0.10% OSD::dequeue_op | |
+ 0.10% PrimaryLogPG::do_request | |
+ 0.10% PrimaryLogPG::do_op | |
+ 0.10% PrimaryLogPG::execute_ctx | |
+ 0.10% PrimaryLogPG::OpContext::start_async_reads | |
+ 0.10% ReplicatedBackend::objects_read_async | |
+ 0.10% BlueStore::async_read | |
+ 0.10% BlueStore::_do_async_read | |
+ 0.10% BlueStore::_consult_cache | |
+ 0.10% operator[] | |
+ 0.10% std::_Rb_tree<boost::intrusive_ptr<BlueStore::Blob>, std::pair<boost::intrusive_ptr<BlueStore::Blob> const, std::unique_ptr<BlueStore::RegionReader, std::default_delete<BlueStore::RegionReader> > >, std::_Select1st<std::pair<boost::intrusive_ptr<BlueStore::Blob> const, std::unique_ptr<BlueStore::RegionReader, std::default_delete<BlueStore::RegionReader> > > >, std::less<boost::intrusive_ptr<BlueStore::Blob> >, std::allocator<std::pair<boost::intrusive_ptr<BlueStore::Blob> const, std::unique_ptr<BlueStore::RegionReader, std::default_delete<BlueStore::RegionReader> > > > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<boost::intrusive_ptr<BlueStore::Blob> const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<boost::intrusive_ptr<BlueStore::Blob> const, std::unique_ptr<BlueStore::RegionReader, std::default_delete<BlueStore::RegionReader> > > >, std::piecewise_construct_t const&, std::tuple<boost::intrusive_ptr<BlueStore::Blob> const&>&&, std::tuple<>&&) | |
+ 0.10% _M_create_node<const std::piecewise_construct_t&, std::tuple<const boost::intrusive_ptr<BlueStore::Blob>&>, std::tuple<> > | |
+ 0.10% _M_get_node | |
+ 0.10% allocate | |
+ 0.10% allocate | |
+ 0.10% tc_new | |
+ 0.10% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
+ 0.10% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
+ 0.10% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
Thread: 55 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.90% Cond::Wait | |
| + 99.90% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 56 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.90% Cond::Wait | |
| + 99.90% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.10% run | |
+ 0.10% PGOpItem::run | |
+ 0.10% OSD::dequeue_op | |
+ 0.10% PrimaryLogPG::do_request | |
+ 0.10% PrimaryLogPG::do_op | |
+ 0.10% clear_payload | |
+ 0.10% Throttle::put | |
+ 0.10% uniquely_lock<std::mutex&> | |
+ 0.10% unique_lock | |
+ 0.10% lock | |
+ 0.10% lock | |
+ 0.10% __gthread_mutex_lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 57 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.90% Cond::Wait | |
| + 99.90% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% run | |
+ 0.10% PGOpItem::run | |
+ 0.10% OSD::dequeue_op | |
+ 0.10% PrimaryLogPG::do_request | |
+ 0.10% PrimaryLogPG::do_op | |
+ 0.10% PrimaryLogPG::find_object_context | |
+ 0.10% PrimaryLogPG::get_object_context | |
+ 0.10% SharedLRU<hobject_t, ObjectContext, std::less<hobject_t>, std::hash<hobject_t> >::lookup_or_create | |
+ 0.10% ~list | |
+ 0.10% ~_List_base | |
+ 0.10% std::_List_base<std::shared_ptr<ObjectContext>, std::allocator<std::shared_ptr<ObjectContext> > >::_M_clear | |
+ 0.10% destroy<std::shared_ptr<ObjectContext> > | |
+ 0.10% destroy<std::shared_ptr<ObjectContext> > | |
+ 0.10% ~shared_ptr | |
+ 0.10% ~__shared_ptr | |
+ 0.10% ~__shared_count | |
+ 0.10% _M_release | |
+ 0.10% std::_Sp_counted_deleter<ObjectContext*, SharedLRU<hobject_t, ObjectContext, std::less<hobject_t>, std::hash<hobject_t> >::Cleanup, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>::_M_destroy | |
+ 0.10% ~_Sp_counted_deleter | |
+ 0.10% ~_Impl | |
+ 0.10% ~_Sp_ebo_helper | |
+ 0.10% ~Cleanup | |
+ 0.10% ~hobject_t | |
+ 0.10% ~object_t | |
+ 0.10% ~basic_string | |
+ 0.10% _M_dispose | |
+ 0.10% tc_delete | |
+ 0.10% tcmalloc::ThreadCache::ListTooLong(tcmalloc::ThreadCache::FreeList*, unsigned long) | |
+ 0.10% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
+ 0.10% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
+ 0.10% SpinLock::SlowLock() | |
+ 0.10% base::internal::SpinLockDelay(int volatile*, int, int) | |
Thread: 58 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.90% Cond::Wait | |
| + 99.90% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 59 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.80% Cond::Wait | |
| + 99.80% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.10% run | |
| + 0.10% PGOpItem::run | |
| + 0.10% OSD::dequeue_op | |
| + 0.10% PrimaryLogPG::do_request | |
| + 0.10% PrimaryLogPG::do_op | |
| + 0.10% clear_payload | |
| + 0.10% Throttle::put | |
| + 0.10% uniquely_lock<std::mutex&> | |
| + 0.10% unique_lock | |
| + 0.10% lock | |
| + 0.10% lock | |
| + 0.10% __gthread_mutex_lock | |
| + 0.10% pthread_mutex_lock | |
| + 0.10% _L_lock_812 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 60 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 61 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.10% __pthread_mutex_cond_lock | |
+ 0.10% _L_cond_lock_789 | |
+ 0.10% __lll_lock_wait | |
Thread: 62 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.20% __pthread_mutex_cond_lock | |
+ 0.20% _L_cond_lock_789 | |
+ 0.20% __lll_lock_wait | |
Thread: 63 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.80% Cond::Wait | |
| + 99.80% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.40% __pthread_mutex_cond_lock | |
| + 0.40% _L_cond_lock_789 | |
| + 0.40% __lll_lock_wait | |
+ 0.10% run | |
| + 0.10% PGOpItem::run | |
| + 0.10% OSD::dequeue_op | |
| + 0.10% PrimaryLogPG::do_request | |
| + 0.10% PrimaryLogPG::do_op | |
| + 0.10% clear_payload | |
| + 0.10% Throttle::put | |
| + 0.10% uniquely_lock<std::mutex&> | |
| + 0.10% unique_lock | |
| + 0.10% lock | |
| + 0.10% lock | |
| + 0.10% __gthread_mutex_lock | |
| + 0.10% pthread_mutex_lock | |
| + 0.10% _L_lock_812 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 64 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.10% __pthread_mutex_cond_lock | |
+ 0.10% _L_cond_lock_789 | |
+ 0.10% __lll_lock_wait | |
Thread: 65 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.90% Cond::Wait | |
| + 99.90% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 66 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.90% Cond::Wait | |
| + 99.90% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.20% __pthread_mutex_cond_lock | |
| + 0.20% _L_cond_lock_789 | |
| + 0.20% __lll_lock_wait | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 67 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.20% __pthread_mutex_cond_lock | |
+ 0.20% _L_cond_lock_789 | |
+ 0.20% __lll_lock_wait | |
Thread: 68 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.90% Cond::Wait | |
| + 99.90% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.10% run | |
+ 0.10% PGOpItem::run | |
+ 0.10% OSD::dequeue_op | |
+ 0.10% PrimaryLogPG::do_request | |
+ 0.10% PrimaryLogPG::do_op | |
+ 0.10% PrimaryLogPG::get_rw_locks | |
+ 0.10% shared_ptr | |
Thread: 69 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.20% __pthread_mutex_cond_lock | |
+ 0.20% _L_cond_lock_789 | |
+ 0.20% __lll_lock_wait | |
Thread: 70 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.90% Cond::Wait | |
| + 99.90% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.10% PG::lock | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 71 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.10% __pthread_mutex_cond_lock | |
+ 0.10% _L_cond_lock_789 | |
+ 0.10% __lll_lock_wait | |
Thread: 72 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 73 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.20% __pthread_mutex_cond_lock | |
+ 0.20% _L_cond_lock_789 | |
+ 0.20% __lll_lock_wait | |
Thread: 74 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.90% Cond::Wait | |
| + 99.90% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.20% __pthread_mutex_cond_lock | |
| + 0.20% _L_cond_lock_789 | |
| + 0.20% __lll_lock_wait | |
+ 0.10% run | |
+ 0.10% PGOpItem::run | |
+ 0.10% OSD::dequeue_op | |
+ 0.10% PrimaryLogPG::do_request | |
+ 0.10% PrimaryLogPG::do_op | |
+ 0.10% clear_payload | |
+ 0.10% Throttle::put | |
+ 0.10% uniquely_lock<std::mutex&> | |
+ 0.10% unique_lock | |
+ 0.10% lock | |
+ 0.10% lock | |
+ 0.10% __gthread_mutex_lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 75 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.20% __pthread_mutex_cond_lock | |
+ 0.20% _L_cond_lock_789 | |
+ 0.20% __lll_lock_wait | |
Thread: 76 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 77 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.30% __pthread_mutex_cond_lock | |
+ 0.30% _L_cond_lock_789 | |
+ 0.30% __lll_lock_wait | |
Thread: 78 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.20% __pthread_mutex_cond_lock | |
+ 0.20% _L_cond_lock_789 | |
+ 0.20% __lll_lock_wait | |
Thread: 79 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.90% Cond::Wait | |
| + 99.90% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 80 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.90% Cond::Wait | |
| + 99.90% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 81 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.20% __pthread_mutex_cond_lock | |
+ 0.20% _L_cond_lock_789 | |
+ 0.20% __lll_lock_wait | |
Thread: 82 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.80% Cond::Wait | |
| + 99.80% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.20% Mutex::Lock | |
+ 0.20% pthread_mutex_lock | |
+ 0.20% _L_lock_812 | |
+ 0.20% __lll_lock_wait | |
Thread: 83 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.30% __pthread_mutex_cond_lock | |
+ 0.30% _L_cond_lock_789 | |
+ 0.30% __lll_lock_wait | |
Thread: 84 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.90% Cond::Wait | |
| + 99.90% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.20% __pthread_mutex_cond_lock | |
| + 0.20% _L_cond_lock_789 | |
| + 0.20% __lll_lock_wait | |
+ 0.10% run | |
+ 0.10% PGOpItem::run | |
+ 0.10% OSD::dequeue_op | |
+ 0.10% PrimaryLogPG::do_request | |
+ 0.10% PrimaryLogPG::do_op | |
+ 0.10% PrimaryLogPG::execute_ctx | |
+ 0.10% PrimaryLogPG::prepare_transaction | |
+ 0.10% PrimaryLogPG::do_osd_ops | |
+ 0.10% md_config_t::get_val<bool> | |
+ 0.10% md_config_t::get_val_generic | |
+ 0.10% md_config_t::_get_val_generic | |
+ 0.10% ConfFile::normalize_key_name | |
+ 0.10% ConfFile::trim_whitespace | |
+ 0.10% assign | |
+ 0.10% std::string::_M_replace_safe(unsigned long, unsigned long, char const*, unsigned long) | |
+ 0.10% std::string::_M_mutate(unsigned long, unsigned long, unsigned long) | |
+ 0.10% std::string::_Rep::_S_create(unsigned long, unsigned long, std::allocator<char> const&) | |
+ 0.10% tc_new | |
Thread: 85 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.10% __pthread_mutex_cond_lock | |
+ 0.10% _L_cond_lock_789 | |
+ 0.10% __lll_lock_wait | |
Thread: 86 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.80% Cond::Wait | |
| + 99.80% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.20% __pthread_mutex_cond_lock | |
| + 0.20% _L_cond_lock_789 | |
| + 0.20% __lll_lock_wait | |
+ 0.10% run | |
| + 0.10% PGOpItem::run | |
| + 0.10% OSD::dequeue_op | |
| + 0.10% PrimaryLogPG::do_request | |
| + 0.10% PrimaryLogPG::do_op | |
| + 0.10% clear_payload | |
| + 0.10% Throttle::put | |
| + 0.10% uniquely_lock<std::mutex&> | |
| + 0.10% unique_lock | |
| + 0.10% lock | |
| + 0.10% lock | |
| + 0.10% __gthread_mutex_lock | |
| + 0.10% pthread_mutex_lock | |
| + 0.10% _L_lock_812 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 87 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.90% Cond::Wait | |
| + 99.90% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.10% Mutex::Lock | |
+ 0.10% pthread_mutex_lock | |
+ 0.10% _L_lock_812 | |
+ 0.10% __lll_lock_wait | |
Thread: 88 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.10% __pthread_mutex_cond_lock | |
+ 0.10% _L_cond_lock_789 | |
+ 0.10% __lll_lock_wait | |
Thread: 89 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.10% __pthread_mutex_cond_lock | |
+ 0.10% _L_cond_lock_789 | |
+ 0.10% __lll_lock_wait | |
Thread: 90 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.20% __pthread_mutex_cond_lock | |
+ 0.20% _L_cond_lock_789 | |
+ 0.20% __lll_lock_wait | |
Thread: 91 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.10% __pthread_mutex_cond_lock | |
+ 0.10% _L_cond_lock_789 | |
+ 0.10% __lll_lock_wait | |
Thread: 92 (tp_osd_tp) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.90% Cond::Wait | |
| + 99.90% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.10% __pthread_mutex_cond_lock | |
| + 0.10% _L_cond_lock_789 | |
| + 0.10% __lll_lock_wait | |
+ 0.10% run | |
+ 0.10% PGOpItem::run | |
+ 0.10% OSD::dequeue_op | |
+ 0.10% PrimaryLogPG::do_request | |
+ 0.10% PrimaryLogPG::do_op | |
+ 0.10% PrimaryLogPG::execute_ctx | |
+ 0.10% PrimaryLogPG::OpContext::start_async_reads | |
+ 0.10% ReplicatedBackend::objects_read_async | |
+ 0.10% BlueStore::async_read | |
+ 0.10% BlueStore::_do_async_read | |
+ 0.10% BlueStore::PlainRegionReader::issue_io(std::function<int (unsigned long, unsigned long, ceph::buffer::list*, unsigned long)>) | |
+ 0.10% map | |
+ 0.10% operator() | |
+ 0.10% std::_Function_handler<int (unsigned long, unsigned long), std::_Bind<std::function<int (unsigned long, unsigned long, ceph::buffer::list*, unsigned long)> (std::_Placeholder<1>, std::_Placeholder<2>, ceph::buffer::list*, int)> >::_M_invoke(std::_Any_data const&, unsigned long&&, unsigned long&&) | |
+ 0.10% operator()<long unsigned int, long unsigned int> | |
+ 0.10% __call<int, long unsigned int&&, long unsigned int&&, 0, 1, 2, 3> | |
+ 0.10% __invoke<std::function<int(long unsigned int, long unsigned int, ceph::buffer::list*, long unsigned int)>&, long unsigned int, long unsigned int, ceph::buffer::list*&, int&> | |
+ 0.10% __invoke_impl<int, std::function<int(long unsigned int, long unsigned int, ceph::buffer::list*, long unsigned int)>&, long unsigned int, long unsigned int, ceph::buffer::list*&, int&> | |
+ 0.10% operator() | |
+ 0.10% std::_Function_handler<int(long unsigned int, long unsigned int, ceph::buffer::list*, long unsigned int), BlueStore::_do_async_read(BlueStore::Collection*, BlueStore::OnodeRef, ceph::continous_batch<ObjectStore::async_read_params_t>, Context*)::<lambda(uint64_t, uint64_t, ceph::bufferlist*, size_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /usr/local/bin/ceph-osd, CU 0x43877be, DIE 0x456ae08>, <unknown type in /usr/local/bin/ceph-osd, CU 0x43877be, DIE 0x456ae18>, <unknown type in /usr/local/bin/ceph-osd, CU 0x43877be, DIE 0x456ae28>, <unknown type in /usr/local/bin/ceph-osd, CU 0x43877be, DIE 0x456ae38>) | |
+ 0.10% operator() | |
+ 0.10% KernelDevice::aio_read | |
+ 0.10% pread | |
+ 0.10% ceph::buffer::create_page_aligned | |
+ 0.10% ceph::buffer::create_aligned | |
+ 0.10% ceph::buffer::create_aligned_in_mempool | |
+ 0.10% raw_posix_aligned | |
+ 0.10% raw | |
+ 0.10% mempool::pool_t::adjust_count | |
+ 0.10% operator+= | |
Thread: 93 (safe_timer) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% SafeTimerThread::entry | |
+ 100.00% SafeTimer::timer_thread | |
+ 100.00% WaitUntil | |
+ 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 | |
Thread: 94 (fn_anonymous) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% Finisher::finisher_thread_entry | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 95 (safe_timer) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% SafeTimerThread::entry | |
+ 100.00% SafeTimer::timer_thread | |
+ 100.00% WaitUntil | |
+ 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 | |
Thread: 96 (ms_local) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% DispatchQueue::LocalDeliveryThread::entry | |
+ 100.00% DispatchQueue::run_local_delivery | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 97 (ms_dispatch) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% DispatchQueue::DispatchThread::entry | |
+ 100.00% DispatchQueue::entry | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 98 (ms_local) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% DispatchQueue::LocalDeliveryThread::entry | |
+ 100.00% DispatchQueue::run_local_delivery | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 99 (ms_dispatch) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% DispatchQueue::DispatchThread::entry | |
+ 100.00% DispatchQueue::entry | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 100 (ms_local) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% DispatchQueue::LocalDeliveryThread::entry | |
+ 100.00% DispatchQueue::run_local_delivery | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 101 (ms_dispatch) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% DispatchQueue::DispatchThread::entry | |
+ 100.00% DispatchQueue::entry | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 102 (ms_local) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% DispatchQueue::LocalDeliveryThread::entry | |
+ 100.00% DispatchQueue::run_local_delivery | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 103 (ms_dispatch) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% DispatchQueue::DispatchThread::entry | |
+ 100.00% DispatchQueue::entry | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 104 (ms_local) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% DispatchQueue::LocalDeliveryThread::entry | |
+ 100.00% DispatchQueue::run_local_delivery | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 105 (ms_dispatch) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% DispatchQueue::DispatchThread::entry | |
+ 100.00% DispatchQueue::entry | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 106 (ms_local) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% DispatchQueue::LocalDeliveryThread::entry | |
+ 100.00% DispatchQueue::run_local_delivery | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 107 (ms_dispatch) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% DispatchQueue::DispatchThread::entry | |
+ 100.00% DispatchQueue::entry | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 108 (ms_local) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% DispatchQueue::LocalDeliveryThread::entry | |
+ 100.00% DispatchQueue::run_local_delivery | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 109 (ms_dispatch) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% DispatchQueue::DispatchThread::entry | |
+ 100.00% DispatchQueue::entry | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 110 (bstore_mempool) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% BlueStore::MempoolThread::entry | |
+ 100.00% WaitInterval | |
+ 100.00% WaitUntil | |
+ 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 | |
Thread: 111 (bstore_kv_final) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% BlueStore::KVFinalizeThread::entry | |
+ 100.00% BlueStore::_kv_finalize_thread | |
+ 100.00% std::condition_variable::wait(std::unique_lock<std::mutex>&) | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 112 (bstore_kv_sync) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% BlueStore::KVSyncThread::entry | |
+ 100.00% BlueStore::_kv_sync_thread | |
+ 100.00% std::condition_variable::wait(std::unique_lock<std::mutex>&) | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 113 (finisher) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% Finisher::finisher_thread_entry | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 114 (dfin) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% Finisher::finisher_thread_entry | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 115 (rocksdb:bg0) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% execute_native_thread_routine | |
+ 100.00% rocksdb::ThreadPoolImpl::Impl::BGThreadWrapper | |
+ 100.00% rocksdb::ThreadPoolImpl::Impl::BGThread | |
+ 100.00% std::condition_variable::wait(std::unique_lock<std::mutex>&) | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 116 (rocksdb:bg0) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% execute_native_thread_routine | |
+ 100.00% rocksdb::ThreadPoolImpl::Impl::BGThreadWrapper | |
+ 100.00% rocksdb::ThreadPoolImpl::Impl::BGThread | |
+ 100.00% std::condition_variable::wait(std::unique_lock<std::mutex>&) | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 117 (bstore_aio) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% KernelDevice::AioCompletionThread::entry | |
+ 100.00% KernelDevice::_aio_thread | |
+ 100.00% aio_queue_t::get_next_completed | |
+ 100.00% __io_getevents_0_4 | |
Thread: 118 (bstore_aio) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% KernelDevice::AioCompletionThread::entry | |
+ 100.00% KernelDevice::_aio_thread | |
+ 100.00% aio_queue_t::get_next_completed | |
+ 100.00% __io_getevents_0_4 | |
Thread: 119 (bstore_aio) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% KernelDevice::AioCompletionThread::entry | |
+ 100.00% KernelDevice::_aio_thread | |
+ 100.00% aio_queue_t::get_next_completed | |
+ 100.00% __io_getevents_0_4 | |
Thread: 120 (bstore_aio) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% KernelDevice::AioCompletionThread::entry | |
+ 100.00% KernelDevice::_aio_thread | |
+ 81.40% aio_queue_t::get_next_completed | |
| + 81.20% __io_getevents_0_4 | |
| + 0.20% io_getevents | |
+ 18.20% BlueStore::AioReadBatch::aio_finish | |
| + 8.40% BlueStore::PlainRegionReader::postprocess | |
| | + 6.90% BlueStore::RegionReader::_verify_csum | |
| | | + 6.10% bluestore_blob_t::verify_csum | |
| | | | + 5.50% verify<Checksummer::crc32c> | |
| | | | + 4.00% ceph::buffer::ptr::c_str | |
| | | | | + 0.10% ceph::buffer::raw::get_data | |
| | | | + 1.00% calc | |
| | | | + 1.00% ceph::buffer::list::iterator_impl<true>::crc32c | |
| | | | + 0.90% ceph_crc32c | |
| | | | | + 0.90% ceph_crc32c_intel_fast | |
| | | | | + 0.90% ??? | |
| | | | | + 0.90% ??? | |
| | | | | + 0.90% crc32_iscsi_00 | |
| | | | + 0.10% ceph::buffer::list::iterator_impl<true>::get_ptr_and_advance | |
| | | | + 0.10% ceph::buffer::ptr::c_str | |
| | | + 0.50% ~PerfGuard | |
| | | | + 0.30% PerfCounters::tinc | |
| | | | + 0.20% now | |
| | | | + 0.20% clock_gettime | |
| | | | + 0.20% clock_gettime | |
| | | + 0.20% PerfGuard | |
| | | + 0.20% now | |
| | | + 0.20% clock_gettime | |
| | | + 0.10% clock_gettime | |
| | + 0.70% operator[] | |
| | | + 0.70% std::_Rb_tree<unsigned long, std::pair<unsigned long const, ceph::buffer::list>, std::_Select1st<std::pair<unsigned long const, ceph::buffer::list> >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, ceph::buffer::list> > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<unsigned long const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<unsigned long const, ceph::buffer::list> >, std::piecewise_construct_t const&, std::tuple<unsigned long const&>&&, std::tuple<>&&) | |
| | | + 0.40% _M_create_node<const std::piecewise_construct_t&, std::tuple<long unsigned int const&>, std::tuple<> > | |
| | | | + 0.40% _M_get_node | |
| | | | + 0.40% allocate | |
| | | | + 0.40% allocate | |
| | | | + 0.40% tc_new | |
| | | + 0.20% std::_Rb_tree<unsigned long, std::pair<unsigned long const, ceph::buffer::list>, std::_Select1st<std::pair<unsigned long const, ceph::buffer::list> >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, ceph::buffer::list> > >::_M_insert_node | |
| | | + 0.10% std::_Rb_tree_insert_and_rebalance(bool, std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node_base&) | |
| | + 0.40% ceph::buffer::list::substr_of | |
| | | + 0.40% push_back | |
| | | + 0.40% _M_insert<ceph::buffer::ptr> | |
| | | + 0.30% _M_create_node<ceph::buffer::ptr> | |
| | | | + 0.30% _M_get_node | |
| | | | + 0.30% allocate | |
| | | | + 0.30% allocate | |
| | | | + 0.30% tc_new | |
| | | + 0.10% std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*) | |
| | + 0.10% did_read | |
| | + 0.10% ~lock_guard | |
| | + 0.10% unlock | |
| | + 0.10% __gthread_recursive_mutex_unlock | |
| | + 0.10% __gthread_mutex_unlock | |
| + 3.70% BlueStore::AioReadBatch::~AioReadBatch | |
| | + 3.70% ~AioReadBatch | |
| | + 2.70% ~vector | |
| | | + 2.40% _Destroy<BlueStore::AioReadBatch::read_ctx_t*, BlueStore::AioReadBatch::read_ctx_t> | |
| | | | + 2.40% _Destroy<BlueStore::AioReadBatch::read_ctx_t*> | |
| | | | + 2.40% __destroy<BlueStore::AioReadBatch::read_ctx_t*> | |
| | | | + 2.40% _Destroy<BlueStore::AioReadBatch::read_ctx_t> | |
| | | | + 2.40% ~read_ctx_t | |
| | | | + 2.40% ~map | |
| | | | + 2.40% ~_Rb_tree | |
| | | | + 1.90% std::_Rb_tree<boost::intrusive_ptr<BlueStore::Blob>, std::pair<boost::intrusive_ptr<BlueStore::Blob> const, std::unique_ptr<BlueStore::RegionReader, std::default_delete<BlueStore::RegionReader> > >, std::_Select1st<std::pair<boost::intrusive_ptr<BlueStore::Blob> const, std::unique_ptr<BlueStore::RegionReader, std::default_delete<BlueStore::RegionReader> > > >, std::less<boost::intrusive_ptr<BlueStore::Blob> >, std::allocator<std::pair<boost::intrusive_ptr<BlueStore::Blob> const, std::unique_ptr<BlueStore::RegionReader, std::default_delete<BlueStore::RegionReader> > > > >::_M_erase | |
| | | | | + 1.70% _M_drop_node | |
| | | | | + 1.00% _M_destroy_node | |
| | | | | | + 1.00% destroy<std::pair<boost::intrusive_ptr<BlueStore::Blob> const, std::unique_ptr<BlueStore::RegionReader> > > | |
| | | | | | + 1.00% destroy<std::pair<boost::intrusive_ptr<BlueStore::Blob> const, std::unique_ptr<BlueStore::RegionReader> > > | |
| | | | | | + 1.00% ~pair | |
| | | | | | + 0.90% ~unique_ptr | |
| | | | | | | + 0.90% operator() | |
| | | | | | | + 0.90% BlueStore::PlainRegionReader::~PlainRegionReader | |
| | | | | | | + 0.50% ~PlainRegionReader | |
| | | | | | | | + 0.50% ~vector | |
| | | | | | | | + 0.30% _Destroy<BlueStore::PlainRegionReader::plain_region_t*, BlueStore::PlainRegionReader::plain_region_t> | |
| | | | | | | | | + 0.30% _Destroy<BlueStore::PlainRegionReader::plain_region_t*> | |
| | | | | | | | | + 0.30% __destroy<BlueStore::PlainRegionReader::plain_region_t*> | |
| | | | | | | | | + 0.30% _Destroy<BlueStore::PlainRegionReader::plain_region_t> | |
| | | | | | | | | + 0.30% ~plain_region_t | |
| | | | | | | | | + 0.30% ~list | |
| | | | | | | | | + 0.30% ~list | |
| | | | | | | | | + 0.30% ~_List_base | |
| | | | | | | | | + 0.30% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | | | | | + 0.30% _M_put_node | |
| | | | | | | | | + 0.30% deallocate | |
| | | | | | | | | + 0.30% deallocate | |
| | | | | | | | | + 0.30% tc_delete | |
| | | | | | | | | + 0.30% tcmalloc::ThreadCache::ListTooLong(tcmalloc::ThreadCache::FreeList*, unsigned long) | |
| | | | | | | | | + 0.30% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | | | | + 0.30% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | | | | + 0.30% tcmalloc::CentralFreeList::ReleaseListToSpans(void*) | |
| | | | | | | | | + 0.20% tcmalloc::CentralFreeList::ReleaseToSpans(void*) | |
| | | | | | | | + 0.20% ~_Vector_base | |
| | | | | | | | + 0.20% _M_deallocate | |
| | | | | | | | + 0.20% deallocate | |
| | | | | | | | + 0.20% deallocate | |
| | | | | | | | + 0.20% tc_delete | |
| | | | | | | | + 0.10% tcmalloc::ThreadCache::ListTooLong(tcmalloc::ThreadCache::FreeList*, unsigned long) | |
| | | | | | | | + 0.10% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | | + 0.30% tc_delete | |
| | | | | | | + 0.30% tcmalloc::ThreadCache::ListTooLong(tcmalloc::ThreadCache::FreeList*, unsigned long) | |
| | | | | | | + 0.30% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 0.10% ~intrusive_ptr | |
| | | | | | + 0.10% intrusive_ptr_release | |
| | | | | | + 0.10% put | |
| | | | | + 0.70% _M_put_node | |
| | | | | + 0.70% deallocate | |
| | | | | + 0.70% deallocate | |
| | | | | + 0.70% tc_delete | |
| | | | | + 0.70% tcmalloc::ThreadCache::ListTooLong(tcmalloc::ThreadCache::FreeList*, unsigned long) | |
| | | | | + 0.70% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.50% std::_Rb_tree<unsigned long, std::pair<unsigned long const, ceph::buffer::list>, std::_Select1st<std::pair<unsigned long const, ceph::buffer::list> >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, ceph::buffer::list> > >::_M_erase | |
| | | | + 0.50% _M_drop_node | |
| | | | + 0.40% _M_put_node | |
| | | | | + 0.40% deallocate | |
| | | | | + 0.40% deallocate | |
| | | | | + 0.40% tc_delete | |
| | | | | + 0.40% tcmalloc::ThreadCache::ListTooLong(tcmalloc::ThreadCache::FreeList*, unsigned long) | |
| | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.10% _M_destroy_node | |
| | | | + 0.10% destroy<std::pair<unsigned long const, ceph::buffer::list> > | |
| | | | + 0.10% destroy<std::pair<unsigned long const, ceph::buffer::list> > | |
| | | | + 0.10% ~pair | |
| | | | + 0.10% ~list | |
| | | | + 0.10% ~ptr | |
| | | | + 0.10% ceph::buffer::ptr::release | |
| | | + 0.30% ~_Vector_base | |
| | | + 0.30% _M_deallocate | |
| | | + 0.30% deallocate | |
| | | + 0.30% deallocate | |
| | | + 0.30% tc_delete | |
| | | + 0.20% tcmalloc::ThreadCache::ListTooLong(tcmalloc::ThreadCache::FreeList*, unsigned long) | |
| | | + 0.20% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.20% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.20% tcmalloc::CentralFreeList::ReleaseListToSpans(void*) | |
| | | + 0.10% tcmalloc::CentralFreeList::ReleaseToSpans(void*) | |
| | + 1.00% ~IOContext | |
| | + 0.60% ~list | |
| | | + 0.60% ~_List_base | |
| | | + 0.60% std::_List_base<aio_t, std::allocator<aio_t> >::_M_clear | |
| | | + 0.30% destroy<aio_t> | |
| | | | + 0.30% destroy<aio_t> | |
| | | | + 0.30% ~aio_t | |
| | | | + 0.30% ~list | |
| | | | + 0.30% ~list | |
| | | | + 0.30% ~_List_base | |
| | | | + 0.30% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | + 0.20% _M_put_node | |
| | | | | + 0.20% deallocate | |
| | | | | + 0.20% deallocate | |
| | | | | + 0.20% tc_delete | |
| | | | + 0.10% _M_valptr | |
| | | | + 0.10% _M_ptr | |
| | | | + 0.10% _M_addr | |
| | | + 0.20% _M_put_node | |
| | | + 0.20% deallocate | |
| | | + 0.20% deallocate | |
| | | + 0.20% tc_delete | |
| | | + 0.20% tcmalloc::ThreadCache::ListTooLong(tcmalloc::ThreadCache::FreeList*, unsigned long) | |
| | | + 0.20% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | + 0.40% pthread_cond_destroy@@GLIBC_2.3.2 | |
| + 3.50% Context::complete | |
| | + 2.90% PrimaryLogPG::schedule_recovery_work | |
| | | + 2.90% queue | |
| | | + 1.40% SignalOne | |
| | | | + 1.40% pthread_cond_signal@@GLIBC_2.3.2 | |
| | | + 1.20% Locker | |
| | | + 1.20% Mutex::Lock | |
| | | + 1.00% pthread_mutex_lock | |
| | | + 0.90% _L_lock_812 | |
| | | + 0.90% __lll_lock_wait | |
| | + 0.30% AsyncReadEnqueuer::finish | |
| | + 0.10% Mutex::Unlock | |
| | | + 0.10% pthread_mutex_unlock | |
| | + 0.10% FillInVerifyExtent::finish | |
| + 0.80% FillInVerifyExtent::~FillInVerifyExtent | |
| | + 0.40% ~FillInVerifyExtent | |
| | | + 0.40% ~hobject_t | |
| | | + 0.40% ~object_t | |
| | | + 0.40% ~basic_string | |
| | | + 0.40% _M_dispose | |
| | | + 0.30% std::string::_Rep::_M_dispose | |
| | + 0.30% tc_delete | |
| + 0.50% BlueStore::_do_read_compose_result | |
| | + 0.30% ceph::buffer::list::claim_append | |
| | | + 0.10% make_shareable | |
| | | + 0.10% ceph::buffer::ptr::make_shareable | |
| | | + 0.10% ceph::buffer::raw::is_shareable | |
| | + 0.10% should_gather | |
| + 0.40% tc_delete | |
| | + 0.40% tcmalloc::ThreadCache::ListTooLong(tcmalloc::ThreadCache::FreeList*, unsigned long) | |
| | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | + 0.20% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | + 0.20% tcmalloc::CentralFreeList::ReleaseListToSpans(void*) | |
| | + 0.10% tcmalloc::CentralFreeList::ReleaseToSpans(void*) | |
| + 0.10% operator++ | |
| | + 0.10% std::_Rb_tree_increment(std::_Rb_tree_node_base*) | |
| + 0.10% BlueStore::_do_read_is_buffered | |
+ 0.10% KernelDevice::_aio_log_finish | |
Thread: 121 (safe_timer) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% SafeTimerThread::entry | |
+ 100.00% SafeTimer::timer_thread | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 122 (safe_timer) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% SafeTimerThread::entry | |
+ 100.00% SafeTimer::timer_thread | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 123 (safe_timer) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% SafeTimerThread::entry | |
+ 100.00% SafeTimer::timer_thread | |
+ 100.00% WaitUntil | |
+ 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 | |
Thread: 124 (safe_timer) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% SafeTimerThread::entry | |
+ 100.00% SafeTimer::timer_thread | |
+ 100.00% WaitUntil | |
+ 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 | |
Thread: 125 (ceph-osd) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% execute_native_thread_routine | |
+ 100.00% ceph::timer_detail::timer<ceph::time_detail::coarse_mono_clock>::timer_thread | |
+ 100.00% wait_until<ceph::time_detail::coarse_mono_clock, std::chrono::duration<unsigned long, std::ratio<1, 1000000000> > > | |
+ 100.00% __wait_until_impl<std::chrono::duration<unsigned long, std::ratio<1, 1000000000> > > | |
+ 100.00% __gthread_cond_timedwait | |
+ 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 | |
Thread: 126 (admin_socket) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% AdminSocket::entry | |
+ 100.00% poll | |
+ 100.00% poll | |
Thread: 127 (service) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% CephContextServiceThread::entry | |
+ 100.00% WaitInterval | |
+ 100.00% WaitUntil | |
+ 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 | |
Thread: 128 (msgr-worker-2) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% execute_native_thread_routine | |
+ 100.00% std::_Function_handler<void(), NetworkStack::add_thread(unsigned int)::<lambda()> >::_M_invoke(const std::_Any_data &) | |
+ 100.00% operator() | |
+ 100.00% EventCenter::process_events | |
+ 100.00% EpollDriver::event_wait | |
+ 100.00% epoll_wait | |
Thread: 129 (msgr-worker-1) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% execute_native_thread_routine | |
+ 100.00% std::_Function_handler<void(), NetworkStack::add_thread(unsigned int)::<lambda()> >::_M_invoke(const std::_Any_data &) | |
+ 100.00% operator() | |
+ 99.80% EventCenter::process_events | |
+ 56.10% EpollDriver::event_wait | |
| + 55.90% epoll_wait | |
| + 0.20% resize | |
| + 0.20% _M_default_append | |
| + 0.20% _M_allocate | |
| + 0.20% allocate | |
| + 0.20% allocate | |
| + 0.20% tc_new | |
+ 23.70% AsyncConnection::process | |
| + 12.60% DispatchQueue::fast_dispatch | |
| | + 12.60% ms_fast_dispatch | |
| | + 12.60% OSD::ms_fast_dispatch | |
| | + 10.50% OSD::enqueue_op | |
| | | + 9.00% queue | |
| | | | + 9.00% OSD::ShardedOpWQ::_enqueue(OpQueueItem&&) | |
| | | | + 4.40% SignalOne | |
| | | | | + 4.40% pthread_cond_signal@@GLIBC_2.3.2 | |
| | | | + 3.30% Mutex::Unlock | |
| | | | | + 3.30% pthread_mutex_unlock | |
| | | | | + 3.30% _L_unlock_713 | |
| | | | | + 3.30% __lll_unlock_wake | |
| | | | + 0.90% WeightedPriorityQueue<OpQueueItem, unsigned long>::Queue::insert(unsigned int, unsigned long, unsigned int, OpQueueItem&&, bool) | |
| | | | | + 0.70% insert | |
| | | | | + 0.60% insert | |
| | | | | | + 0.60% tc_new | |
| | | | | | + 0.30% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | | | + 0.30% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | | | + 0.30% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | | | | + 0.10% tc_new | |
| | | | + 0.30% Mutex::Lock | |
| | | | + 0.30% pthread_mutex_lock | |
| | | | + 0.30% _L_lock_812 | |
| | | | + 0.30% __lll_lock_wait | |
| | | + 0.40% mark_queued_for_pg | |
| | | | + 0.40% OpRequest::mark_flag_point | |
| | | | + 0.30% TrackedOp::mark_event | |
| | | | | + 0.10% push_back | |
| | | | | | + 0.10% std::vector<TrackedOp::Event, std::allocator<TrackedOp::Event> >::emplace_back<TrackedOp::Event>(TrackedOp::Event&&) | |
| | | | | | + 0.10% construct<TrackedOp::Event, TrackedOp::Event> | |
| | | | | | + 0.10% construct<TrackedOp::Event, TrackedOp::Event> | |
| | | | | | + 0.10% Event | |
| | | | | + 0.10% Locker | |
| | | | | + 0.10% Mutex::Lock | |
| | | | | + 0.10% pthread_mutex_lock | |
| | | | + 0.10% ceph_clock_now | |
| | | | + 0.10% clock_gettime | |
| | | | + 0.10% clock_gettime | |
| | | + 0.30% tc_new | |
| | | + 0.30% PerfCounters::tinc | |
| | | | + 0.10% operator+= | |
| | | + 0.20% unique_ptr<> | |
| | | | + 0.20% __uniq_ptr_impl | |
| | | + 0.10% ceph_clock_now | |
| | | + 0.10% clock_gettime | |
| | + 2.00% OpTracker::create_request<OpRequest, Message*> | |
| | | + 1.10% OpRequest::OpRequest | |
| | | | + 0.80% TrackedOp | |
| | | | + 0.50% Mutex::Mutex | |
| | | | | + 0.20% pthread_mutexattr_init | |
| | | | | + 0.20% pthread_mutex_init | |
| | | | | + 0.10% pthread_mutexattr_settype | |
| | | | + 0.20% std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) | |
| | | | | + 0.20% std::string::_S_construct<char const*> | |
| | | | | + 0.20% std::string::_Rep::_S_create(unsigned long, unsigned long, std::allocator<char> const&) | |
| | | | | + 0.20% tc_new | |
| | | | + 0.10% reserve | |
| | | | + 0.10% _M_allocate_and_copy<std::move_iterator<TrackedOp::Event*> > | |
| | | | + 0.10% _M_allocate | |
| | | | + 0.10% allocate | |
| | | | + 0.10% allocate | |
| | | | + 0.10% tc_new | |
| | | + 0.60% tracking_start | |
| | | | + 0.60% OpTracker::register_inflight_op | |
| | | | + 0.20% Locker | |
| | | | | + 0.20% Mutex::Lock | |
| | | | + 0.10% RLocker | |
| | | | + 0.10% get_read | |
| | | | + 0.10% pthread_rwlock_rdlock | |
| | | + 0.30% tc_new | |
| | + 0.10% maybe_inject_dispatch_delay | |
| + 4.50% AsyncConnection::read_until | |
| | + 4.00% AsyncConnection::read_bulk | |
| | | + 4.00% read | |
| | | + 4.00% PosixConnectedSocketImpl::read | |
| | | + 4.00% read | |
| | | + 4.00% read | |
| | + 0.40% memcpy | |
| | | + 0.40% __memcpy_ssse3 | |
| | + 0.10% ceph::logging::SubsystemMap::should_gather | |
| + 3.60% decode_message | |
| | + 1.40% MOSDOp::decode_payload | |
| | | + 0.80% decode | |
| | | | + 0.40% spg_t::decode | |
| | | | | + 0.20% decode | |
| | | | | + 0.10% pg_t::decode | |
| | | | | | + 0.10% decode | |
| | | | | | + 0.10% decode_raw<ceph_le<unsigned int> > | |
| | | | | | + 0.10% ceph::buffer::list::iterator_impl<false>::copy | |
| | | | | | + 0.10% operator-> | |
| | | | | | + 0.10% _M_valptr | |
| | | | | | + 0.10% _M_ptr | |
| | | | | | + 0.10% _M_addr | |
| | | | | + 0.10% decode_raw<unsigned char> | |
| | | | | + 0.10% ceph::buffer::list::iterator_impl<false>::copy | |
| | | | | + 0.10% ceph::buffer::ptr::copy_out | |
| | | | + 0.30% decode_raw<ceph_le<unsigned int> > | |
| | | | + 0.30% ceph::buffer::list::iterator_impl<false>::copy | |
| | | | + 0.20% ceph::buffer::ptr::copy_out | |
| | | | + 0.20% maybe_inline_memcpy | |
| | | + 0.50% decode<osd_reqid_t, denc_traits<osd_reqid_t, void> > | |
| | | | + 0.40% ceph::buffer::list::iterator::copy_shallow | |
| | | | | + 0.40% ceph::buffer::list::iterator_impl<false>::copy_shallow | |
| | | | + 0.10% ~ptr | |
| | | | + 0.10% ceph::buffer::ptr::release | |
| | | + 0.10% Message::decode_trace | |
| | | + 0.10% decode | |
| | | + 0.10% decode | |
| | | + 0.10% decode_raw<ceph_le<unsigned long long> > | |
| | | + 0.10% ceph::buffer::list::iterator::copy | |
| | + 0.90% ceph::buffer::list::crc32c | |
| | | + 0.40% ceph_crc32c | |
| | | | + 0.20% ceph_crc32c_intel_fast | |
| | | | | + 0.20% ??? | |
| | | | | + 0.20% ??? | |
| | | | | + 0.20% crc32_iscsi_00 | |
| | | | + 0.20% ceph_crc32c_intel_baseline | |
| | | + 0.30% set_crc | |
| | | | + 0.30% operator[] | |
| | | | + 0.30% _M_emplace_hint_unique<const std::piecewise_construct_t&, std::tuple<const std::pair<long unsigned int, long unsigned int>&>, std::tuple<> > | |
| | | | + 0.20% _M_insert_node | |
| | | | | + 0.10% std::_Rb_tree_insert_and_rebalance(bool, std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node_base&) | |
| | | | | + 0.10% _ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_@plt | |
| | | | + 0.10% _M_create_node<const std::piecewise_construct_t&, std::tuple<const std::pair<long unsigned int, long unsigned int>&>, std::tuple<> > | |
| | | | + 0.10% _M_get_node | |
| | | | + 0.10% allocate | |
| | | | + 0.10% allocate | |
| | | | + 0.10% tc_new | |
| | | | + 0.10% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | + 0.10% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | + 0.10% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | | + 0.10% ceph::buffer::ptr::c_str | |
| | + 0.40% intrusive_ptr | |
| | | + 0.40% intrusive_ptr_add_ref | |
| | | + 0.40% get | |
| | + 0.30% tc_new | |
| | + 0.30% MOSDFastDispatchOp | |
| | | + 0.30% Message::Message | |
| | | + 0.20% ceph::buffer::list::list | |
| | | | + 0.10% ceph::buffer::list::iterator::iterator | |
| | | + 0.10% memset | |
| | + 0.10% spg_t | |
| + 0.80% ceph::buffer::create | |
| | + 0.80% ceph::buffer::create_aligned | |
| | + 0.80% ceph::buffer::create_aligned_in_mempool | |
| | + 0.80% create | |
| | + 0.70% tc_posix_memalign | |
| | | + 0.60% (anonymous namespace)::do_memalign(unsigned long, unsigned long) | |
| | | + 0.10% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | + 0.10% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | + 0.10% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | | + 0.10% tcmalloc::AlignmentForSize(unsigned long) | |
| | + 0.10% raw_combined | |
| | + 0.10% raw | |
| | + 0.10% mempool::pool_t::adjust_count | |
| + 0.70% Throttle::get_or_fail | |
| | + 0.20% uniquely_lock<std::mutex&> | |
| | | + 0.20% unique_lock | |
| | | + 0.20% lock | |
| | | + 0.20% lock | |
| | | + 0.20% __gthread_mutex_lock | |
| | | + 0.20% pthread_mutex_lock | |
| | | + 0.10% _L_lock_812 | |
| | | + 0.10% __lll_lock_wait | |
| | + 0.20% PerfCounters::set | |
| | + 0.10% ~unique_lock | |
| | | + 0.10% unlock | |
| | | + 0.10% unlock | |
| | | + 0.10% __gthread_mutex_unlock | |
| | | + 0.10% pthread_mutex_unlock | |
| | + 0.10% PerfCounters::inc | |
| + 0.30% now | |
| | + 0.30% clock_gettime | |
| | + 0.10% clock_gettime | |
| + 0.20% ms_can_fast_dispatch | |
| | + 0.20% OSD::ms_can_fast_dispatch | |
| + 0.20% ceph_clock_now | |
| | + 0.20% clock_gettime | |
| + 0.20% PerfCounters::inc | |
| + 0.10% lock_guard | |
| | + 0.10% std::mutex::lock | |
| | + 0.10% __gthread_mutex_lock | |
| | + 0.10% pthread_mutex_lock | |
| + 0.10% ceph::buffer::ptr::c_str | |
| + 0.10% ceph::buffer::list::push_back | |
| | + 0.10% push_back | |
| | + 0.10% push_back | |
| | + 0.10% _M_insert<ceph::buffer::ptr> | |
| | + 0.10% std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*) | |
| + 0.10% DispatchQueue::post_dispatch | |
| + 0.10% DispatchQueue::dispatch_throttle_release | |
+ 17.50% AsyncConnection::handle_write | |
| + 12.50% AsyncConnection::write_message | |
| | + 11.20% AsyncConnection::_try_send | |
| | | + 10.20% send | |
| | | | + 10.20% PosixConnectedSocketImpl::send | |
| | | | + 9.80% do_sendmsg | |
| | | | | + 9.80% sendmsg | |
| | | | + 0.10% clear | |
| | | | + 0.10% ceph::buffer::ptr::operator=(ceph::buffer::ptr&&) | |
| | | | + 0.10% ceph::buffer::ptr::release | |
| | | | + 0.10% tc_free | |
| | | + 0.60% EventCenter::create_file_event | |
| | | | + 0.60% EpollDriver::add_event | |
| | | | + 0.50% epoll_ctl | |
| | | + 0.10% EventCenter::delete_file_event | |
| | | + 0.10% EpollDriver::del_event | |
| | | + 0.10% epoll_ctl@plt | |
| | + 0.80% RefCountedObject::put | |
| | | + 0.80% MOSDOpReply::~MOSDOpReply | |
| | | + 0.80% ~MOSDOpReply | |
| | | + 0.40% ~vector | |
| | | | + 0.30% ~_Vector_base | |
| | | | | + 0.30% _M_deallocate | |
| | | | | + 0.30% deallocate | |
| | | | | + 0.30% deallocate | |
| | | | | + 0.30% tc_delete | |
| | | | | + 0.20% tcmalloc::ThreadCache::ListTooLong(tcmalloc::ThreadCache::FreeList*, unsigned long) | |
| | | | | + 0.20% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.10% _Destroy<OSDOp*, OSDOp> | |
| | | | + 0.10% _Destroy<OSDOp*> | |
| | | | + 0.10% __destroy<OSDOp*> | |
| | | | + 0.10% _Destroy<OSDOp> | |
| | | | + 0.10% ~OSDOp | |
| | | | + 0.10% ~list | |
| | | | + 0.10% ~ptr | |
| | | | + 0.10% ceph::buffer::ptr::release | |
| | | + 0.40% Message::~Message | |
| | | + 0.40% ~list | |
| | | + 0.40% ~list | |
| | | + 0.40% ~_List_base | |
| | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | + 0.20% destroy<ceph::buffer::ptr> | |
| | | | + 0.20% destroy<ceph::buffer::ptr> | |
| | | | + 0.20% ~ptr | |
| | | | + 0.20% ceph::buffer::ptr::release | |
| | | | + 0.10% tc_free | |
| | | | | + 0.10% tcmalloc::ThreadCache::ListTooLong(tcmalloc::ThreadCache::FreeList*, unsigned long) | |
| | | | | + 0.10% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.10% ceph::buffer::raw_posix_aligned::~raw_posix_aligned | |
| | | | + 0.10% ~raw_posix_aligned | |
| | | + 0.10% _M_put_node | |
| | | + 0.10% deallocate | |
| | | + 0.10% deallocate | |
| | | + 0.10% tc_delete | |
| | + 0.30% ceph::buffer::list::append | |
| | | + 0.20% create | |
| | | | + 0.20% raw_combined | |
| | | | + 0.20% raw | |
| | | | + 0.10% mempool::pool_t::adjust_count | |
| | | | + 0.10% mempool::get_pool | |
| | | + 0.10% ceph::buffer::list::append | |
| | | + 0.10% push_back | |
| | | + 0.10% push_back | |
| | | + 0.10% _M_insert<ceph::buffer::ptr> | |
| | | + 0.10% _M_create_node<ceph::buffer::ptr> | |
| | | + 0.10% construct<ceph::buffer::ptr, ceph::buffer::ptr> | |
| | | + 0.10% construct<ceph::buffer::ptr, ceph::buffer::ptr> | |
| | | + 0.10% ceph::buffer::ptr::ptr(ceph::buffer::ptr&&) | |
| | + 0.10% operator++ | |
| | + 0.10% calc_header_crc | |
| | + 0.10% ceph_crc32c | |
| | + 0.10% ceph_crc32c_intel_fast | |
| | + 0.10% ??? | |
| | + 0.10% ??? | |
| | + 0.10% crc32_iscsi_00 | |
| + 3.20% AsyncConnection::prepare_send_message | |
| | + 3.20% Message::encode | |
| | + 2.10% MOSDOpReply::encode_payload | |
| | | + 1.40% encode | |
| | | | + 1.00% encode | |
| | | | | + 1.00% encode | |
| | | | | + 0.90% encode | |
| | | | | | + 0.90% encode_raw<ceph_le<unsigned int> > | |
| | | | | | + 0.90% ceph::buffer::list::append | |
| | | | | | + 0.30% create | |
| | | | | | | + 0.30% tc_posix_memalign | |
| | | | | | | + 0.30% (anonymous namespace)::do_memalign(unsigned long, unsigned long) | |
| | | | | | | + 0.10% tcmalloc::AlignmentForSize(unsigned long) | |
| | | | | | + 0.30% ceph::buffer::list::append | |
| | | | | | | + 0.30% push_back | |
| | | | | | | + 0.30% push_back | |
| | | | | | | + 0.30% _M_insert<ceph::buffer::ptr> | |
| | | | | | | + 0.30% _M_create_node<ceph::buffer::ptr> | |
| | | | | | | + 0.30% _M_get_node | |
| | | | | | | + 0.30% allocate | |
| | | | | | | + 0.30% allocate | |
| | | | | | | + 0.30% tc_new | |
| | | | | | + 0.10% ceph::buffer::ptr::ptr | |
| | | | | + 0.10% ceph::buffer::list::append | |
| | | | | + 0.10% ceph::buffer::ptr::unused_tail_length | |
| | | | + 0.30% pg_t::encode | |
| | | | | + 0.30% encode | |
| | | | | + 0.30% encode_raw<ceph_le<unsigned long long> > | |
| | | | | + 0.30% ceph::buffer::list::append | |
| | | | | + 0.10% ceph::buffer::ptr::unused_tail_length | |
| | | | | + 0.10% ceph::buffer::ptr::append | |
| | | | | + 0.10% maybe_inline_memcpy | |
| | | | + 0.10% encode_raw<ceph_le<unsigned int> > | |
| | | | + 0.10% ceph::buffer::list::append | |
| | | + 0.50% OSDOp::merge_osd_op_vector_out_data | |
| | | | + 0.20% ceph::buffer::list::append | |
| | | | + 0.20% push_back | |
| | | | + 0.20% _M_insert<ceph::buffer::ptr const&> | |
| | | | + 0.20% _M_create_node<ceph::buffer::ptr const&> | |
| | | | + 0.20% construct<ceph::buffer::ptr, ceph::buffer::ptr const&> | |
| | | | + 0.20% construct<ceph::buffer::ptr, ceph::buffer::ptr const&> | |
| | | | + 0.20% ceph::buffer::ptr::ptr | |
| | | + 0.10% empty | |
| | + 0.50% calc_data_crc | |
| | | + 0.50% ceph::buffer::list::crc32c | |
| | | + 0.50% ceph_crc32c | |
| | | + 0.50% ceph_crc32c_intel_fast | |
| | | + 0.50% ??? | |
| | | + 0.50% ??? | |
| | | + 0.50% crc32_iscsi_00 | |
| | + 0.40% calc_front_crc | |
| | | + 0.40% ceph::buffer::list::crc32c | |
| | | + 0.20% ceph_crc32c | |
| | | | + 0.20% ceph_crc32c_intel_baseline | |
| | | + 0.10% set_crc | |
| | | + 0.10% operator[] | |
| | | + 0.10% _M_emplace_hint_unique<const std::piecewise_construct_t&, std::tuple<const std::pair<long unsigned int, long unsigned int>&>, std::tuple<> > | |
| | | + 0.10% _M_insert_node | |
| | | + 0.10% std::_Rb_tree_insert_and_rebalance(bool, std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node_base&) | |
| | + 0.10% calc_header_crc | |
| | + 0.10% ceph_crc32c | |
| | + 0.10% ceph_crc32c_intel_fast | |
| + 0.90% _get_next_outgoing | |
| | + 0.60% erase | |
| | | + 0.40% _M_erase | |
| | | | + 0.40% _M_put_node | |
| | | | + 0.40% deallocate | |
| | | | + 0.40% deallocate | |
| | | | + 0.30% tc_delete | |
| | | | | + 0.30% tcmalloc::ThreadCache::ListTooLong(tcmalloc::ThreadCache::FreeList*, unsigned long) | |
| | | | | + 0.30% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.10% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.10% tcmalloc::CentralFreeList::ReleaseListToSpans(void*) | |
| | | | | + 0.10% tcmalloc::CentralFreeList::ReleaseToSpans(void*) | |
| | | | | + 0.10% tcmalloc::DLL_Remove(tcmalloc::Span*) | |
| | | | + 0.10% _ZdlPv@plt | |
| | | + 0.20% std::_Rb_tree<int, std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > >, std::_Select1st<std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > > >, std::less<int>, std::allocator<std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > > > >::erase | |
| | | + 0.20% _M_erase_aux | |
| | | + 0.20% clear | |
| | | + 0.20% std::_Rb_tree<int, std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > >, std::_Select1st<std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > > >, std::less<int>, std::allocator<std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > > > >::_M_erase | |
| | | + 0.20% _M_drop_node | |
| | | + 0.20% _M_put_node | |
| | | + 0.20% deallocate | |
| | | + 0.20% deallocate | |
| | | + 0.20% tc_delete | |
| | + 0.30% operator-> | |
| | + 0.30% operator* | |
| | + 0.30% operator-- | |
| | + 0.20% ??? | |
| | + 0.10% std::_Rb_tree_decrement(std::_Rb_tree_node_base*) | |
| + 0.40% lock | |
| | + 0.40% __gthread_mutex_lock | |
| | + 0.40% pthread_mutex_lock | |
| | + 0.30% _L_lock_812 | |
| | + 0.30% __lll_lock_wait | |
| + 0.30% unlock | |
| + 0.30% __gthread_mutex_unlock | |
| + 0.30% pthread_mutex_unlock | |
| + 0.10% _L_unlock_713 | |
| + 0.10% __lll_unlock_wake | |
+ 1.50% do_request | |
| + 1.50% read | |
| + 1.50% read | |
+ 0.20% now | |
| + 0.20% clock_gettime | |
| + 0.10% clock_gettime | |
+ 0.20% deque | |
| + 0.20% _Deque_base | |
| + 0.10% _M_initialize_map | |
| | + 0.10% _M_allocate_map | |
| | + 0.10% allocate | |
| | + 0.10% allocate | |
| | + 0.10% tc_new | |
| | + 0.10% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | + 0.10% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | + 0.10% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| + 0.10% _Deque_impl | |
+ 0.10% ~vector | |
| + 0.10% ~_Vector_base | |
| + 0.10% _M_deallocate | |
| + 0.10% deallocate | |
| + 0.10% deallocate | |
| + 0.10% tc_delete | |
+ 0.10% ~deque | |
| + 0.10% std::_Deque_base<EventCallback*, std::allocator<EventCallback*> >::~_Deque_base | |
| + 0.10% _M_deallocate_map | |
| + 0.10% deallocate | |
| + 0.10% deallocate | |
| + 0.10% tc_delete | |
+ 0.10% C_handle_read::do_request | |
+ 0.10% operator-> | |
Thread: 130 (msgr-worker-0) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% execute_native_thread_routine | |
+ 100.00% std::_Function_handler<void(), NetworkStack::add_thread(unsigned int)::<lambda()> >::_M_invoke(const std::_Any_data &) | |
+ 100.00% operator() | |
+ 99.90% EventCenter::process_events | |
+ 59.20% EpollDriver::event_wait | |
| + 59.10% epoll_wait | |
| | + 0.10% __libc_enable_asynccancel | |
| + 0.10% resize | |
| + 0.10% _M_default_append | |
| + 0.10% _M_allocate | |
| + 0.10% allocate | |
| + 0.10% allocate | |
| + 0.10% tc_new | |
+ 22.20% AsyncConnection::process | |
| + 11.70% DispatchQueue::fast_dispatch | |
| | + 11.70% ms_fast_dispatch | |
| | + 11.70% OSD::ms_fast_dispatch | |
| | + 9.70% OSD::enqueue_op | |
| | | + 9.10% queue | |
| | | | + 9.10% OSD::ShardedOpWQ::_enqueue(OpQueueItem&&) | |
| | | | + 4.40% SignalOne | |
| | | | | + 4.40% pthread_cond_signal@@GLIBC_2.3.2 | |
| | | | + 3.20% Mutex::Unlock | |
| | | | | + 3.20% pthread_mutex_unlock | |
| | | | | + 3.20% _L_unlock_713 | |
| | | | | + 3.20% __lll_unlock_wake | |
| | | | + 0.80% WeightedPriorityQueue<OpQueueItem, unsigned long>::Queue::insert(unsigned int, unsigned long, unsigned int, OpQueueItem&&, bool) | |
| | | | | + 0.40% insert | |
| | | | | | + 0.30% insert | |
| | | | | | | + 0.30% tc_new | |
| | | | | | | + 0.20% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | | | | + 0.20% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | | | | + 0.20% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | | | | | + 0.10% tc_new | |
| | | | | | + 0.10% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | | | + 0.10% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | | | + 0.10% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | | | | + 0.30% tc_new | |
| | | | + 0.70% Mutex::Lock | |
| | | | + 0.50% pthread_mutex_lock | |
| | | | + 0.40% _L_lock_812 | |
| | | | + 0.40% __lll_lock_wait | |
| | | + 0.20% mark_queued_for_pg | |
| | | | + 0.20% OpRequest::mark_flag_point | |
| | | | + 0.20% TrackedOp::mark_event | |
| | | | + 0.10% push_back | |
| | | | + 0.10% Locker | |
| | | | + 0.10% Mutex::Lock | |
| | | | + 0.10% pthread_mutex_lock | |
| | | + 0.10% unique_ptr<> | |
| | | | + 0.10% __uniq_ptr_impl | |
| | | + 0.10% tc_new | |
| | | + 0.10% PerfCounters::tinc | |
| | | | + 0.10% operator++ | |
| | | | + 0.10% fetch_add | |
| | | + 0.10% OpQueueItem::OpQueueItem(std::unique_ptr<OpQueueItem::OpQueueable, std::default_delete<OpQueueItem::OpQueueable> >&&, int, unsigned int, utime_t, unsigned long, unsigned int) | |
| | | + 0.10% maybe_get_op | |
| | | + 0.10% PGOpItem::maybe_get_op | |
| | | + 0.10% optional | |
| | | + 0.10% optional_base | |
| | | + 0.10% construct | |
| | + 2.00% OpTracker::create_request<OpRequest, Message*> | |
| | + 1.10% OpRequest::OpRequest | |
| | | + 0.80% TrackedOp | |
| | | + 0.50% Mutex::Mutex | |
| | | | + 0.20% std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) | |
| | | | + 0.10% pthread_mutexattr_init | |
| | | + 0.20% std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) | |
| | | | + 0.20% std::string::_S_construct<char const*> | |
| | | | + 0.20% std::string::_Rep::_S_create(unsigned long, unsigned long, std::allocator<char> const&) | |
| | | | + 0.20% tc_new | |
| | | + 0.10% reserve | |
| | | + 0.10% _M_allocate_and_copy<std::move_iterator<TrackedOp::Event*> > | |
| | | + 0.10% _M_allocate | |
| | | + 0.10% allocate | |
| | | + 0.10% allocate | |
| | | + 0.10% tc_new | |
| | + 0.70% tracking_start | |
| | | + 0.50% OpTracker::register_inflight_op | |
| | | | + 0.30% RLocker | |
| | | | | + 0.30% get_read | |
| | | | | + 0.30% pthread_rwlock_rdlock | |
| | | | + 0.10% operator bool | |
| | | | | + 0.10% load | |
| | | | + 0.10% Locker | |
| | | | + 0.10% Mutex::Lock | |
| | | | + 0.10% pthread_mutex_lock | |
| | | + 0.10% push_back | |
| | | | + 0.10% emplace_back<TrackedOp::Event> | |
| | | | + 0.10% construct<TrackedOp::Event, TrackedOp::Event> | |
| | | | + 0.10% construct<TrackedOp::Event, TrackedOp::Event> | |
| | | | + 0.10% Event | |
| | | + 0.10% Event | |
| | | + 0.10% basic_string | |
| | | + 0.10% _Alloc_hider | |
| | + 0.20% tc_new | |
| + 5.90% AsyncConnection::read_until | |
| | + 5.30% AsyncConnection::read_bulk | |
| | | + 5.30% read | |
| | | + 5.20% PosixConnectedSocketImpl::read | |
| | | + 5.20% read | |
| | | + 5.20% read | |
| | + 0.20% memcpy | |
| | | + 0.20% __memcpy_ssse3 | |
| | + 0.10% ceph::logging::SubsystemMap::should_gather | |
| + 1.80% decode_message | |
| | + 0.50% intrusive_ptr | |
| | | + 0.50% intrusive_ptr_add_ref | |
| | | + 0.50% get | |
| | + 0.30% MOSDOp::decode_payload | |
| | | + 0.10% decode<osd_reqid_t, denc_traits<osd_reqid_t, void> > | |
| | | | + 0.10% ~ptr | |
| | | | + 0.10% ceph::buffer::ptr::release | |
| | | + 0.10% decode | |
| | | | + 0.10% decode_raw<crimson::dmclock::ReqParams> | |
| | | | + 0.10% ceph::buffer::list::iterator_impl<false>::copy | |
| | | | + 0.10% ceph::buffer::ptr::copy_out | |
| | | | + 0.10% maybe_inline_memcpy | |
| | | + 0.10% Message::decode_trace | |
| | | + 0.10% decode | |
| | | + 0.10% decode | |
| | | + 0.10% decode_raw<ceph_le<unsigned long long> > | |
| | | + 0.10% ceph::buffer::list::iterator_impl<false>::copy | |
| | | + 0.10% ceph::buffer::list::iterator_impl<false>::advance | |
| | + 0.20% set_middle | |
| | | + 0.20% ceph::buffer::list::claim | |
| | | + 0.10% ceph::buffer::list::claim_append | |
| | | + 0.10% begin | |
| | + 0.10% vector | |
| | | + 0.10% _Vector_base | |
| | | + 0.10% _Vector_impl | |
| | + 0.10% tc_new | |
| | + 0.10% set_data | |
| | | + 0.10% share | |
| | | + 0.10% ceph::buffer::list::clear | |
| | + 0.10% iterator | |
| | | + 0.10% iterator_impl | |
| | | + 0.10% _List_iterator | |
| | + 0.10% ceph::buffer::list::crc32c | |
| | | + 0.10% set_crc | |
| | | + 0.10% operator[] | |
| | | + 0.10% _M_emplace_hint_unique<const std::piecewise_construct_t&, std::tuple<const std::pair<long unsigned int, long unsigned int>&>, std::tuple<> > | |
| | | + 0.10% _M_create_node<const std::piecewise_construct_t&, std::tuple<const std::pair<long unsigned int, long unsigned int>&>, std::tuple<> > | |
| | | + 0.10% _M_get_node | |
| | | + 0.10% allocate | |
| | | + 0.10% allocate | |
| | | + 0.10% tc_new | |
| | | + 0.10% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | + 0.10% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | + 0.10% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | + 0.10% MOSDFastDispatchOp | |
| | + 0.10% Message::Message | |
| | + 0.10% memset | |
| + 0.80% Throttle::get_or_fail | |
| | + 0.20% PerfCounters::set | |
| | | + 0.10% operator= | |
| | | + 0.10% store | |
| | + 0.10% ~unique_lock | |
| | | + 0.10% unlock | |
| | | + 0.10% unlock | |
| | | + 0.10% __gthread_mutex_unlock | |
| | | + 0.10% pthread_mutex_unlock | |
| | + 0.10% PerfCounters::inc | |
| + 0.40% ceph::buffer::create | |
| | + 0.40% ceph::buffer::create_aligned | |
| | + 0.40% ceph::buffer::create_aligned_in_mempool | |
| | + 0.40% create | |
| | + 0.30% tc_posix_memalign | |
| | | + 0.30% (anonymous namespace)::do_memalign(unsigned long, unsigned long) | |
| | | + 0.20% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | + 0.20% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | + 0.20% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | | + 0.10% tcmalloc::AlignmentForSize(unsigned long) | |
| | + 0.10% raw_combined | |
| | + 0.10% raw | |
| | + 0.10% mempool::pool_t::adjust_count | |
| | + 0.10% operator+= | |
| + 0.30% ceph::buffer::list::clear | |
| | + 0.10% clear | |
| | | + 0.10% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | + 0.10% ceph::buffer::ptr::operator=(ceph::buffer::ptr&&) | |
| | | + 0.10% ceph::buffer::ptr::release | |
| | + 0.10% begin | |
| | + 0.10% ceph::buffer::list::iterator::iterator | |
| + 0.20% ceph_clock_now | |
| | + 0.10% clock_gettime | |
| | + 0.10% clock_gettime | |
| + 0.20% ceph::buffer::list::push_back | |
| | + 0.20% push_back | |
| | + 0.20% push_back | |
| | + 0.20% _M_insert<ceph::buffer::ptr> | |
| | + 0.20% _M_create_node<ceph::buffer::ptr> | |
| | + 0.20% _M_get_node | |
| | + 0.20% allocate | |
| | + 0.20% allocate | |
| | + 0.20% tc_new | |
| + 0.10% ~intrusive_ptr | |
| | + 0.10% intrusive_ptr_release | |
| | + 0.10% put | |
| | + 0.10% operator-- | |
| + 0.10% ms_can_fast_dispatch | |
| + 0.10% ceph_crc32c | |
| | + 0.10% ceph_crc32c_intel_fast | |
| + 0.10% ceph::buffer::ptr::c_str | |
| + 0.10% ceph::buffer::create_aligned_in_mempool | |
+ 16.30% AsyncConnection::handle_write | |
| + 11.90% AsyncConnection::write_message | |
| | + 10.30% AsyncConnection::_try_send | |
| | | + 9.10% send | |
| | | | + 8.90% PosixConnectedSocketImpl::send | |
| | | | + 8.70% do_sendmsg | |
| | | | | + 8.70% sendmsg | |
| | | | + 0.20% clear | |
| | | | + 0.20% ceph::buffer::ptr::operator=(ceph::buffer::ptr&&) | |
| | | | + 0.20% ceph::buffer::ptr::release | |
| | | | + 0.10% tc_free | |
| | | | + 0.10% ceph::buffer::raw_combined::~raw_combined | |
| | | | + 0.10% ~raw_combined | |
| | | + 0.70% EventCenter::create_file_event | |
| | | | + 0.60% EpollDriver::add_event | |
| | | | | + 0.60% epoll_ctl | |
| | | | + 0.10% should_gather | |
| | | | + 0.10% size | |
| | | + 0.40% EventCenter::delete_file_event | |
| | | + 0.40% EpollDriver::del_event | |
| | | + 0.30% epoll_ctl | |
| | + 1.30% RefCountedObject::put | |
| | | + 1.30% MOSDOpReply::~MOSDOpReply | |
| | | + 1.10% ~MOSDOpReply | |
| | | | + 0.70% Message::~Message | |
| | | | | + 0.60% ~list | |
| | | | | | + 0.60% ~list | |
| | | | | | + 0.60% ~_List_base | |
| | | | | | + 0.60% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | | + 0.50% destroy<ceph::buffer::ptr> | |
| | | | | | | + 0.50% destroy<ceph::buffer::ptr> | |
| | | | | | | + 0.50% ~ptr | |
| | | | | | | + 0.50% ceph::buffer::ptr::release | |
| | | | | | | + 0.40% ceph::buffer::raw_posix_aligned::~raw_posix_aligned | |
| | | | | | | | + 0.40% ~raw_posix_aligned | |
| | | | | | | | + 0.30% tc_free | |
| | | | | | | | | + 0.10% tcmalloc::ThreadCache::ListTooLong(tcmalloc::ThreadCache::FreeList*, unsigned long) | |
| | | | | | | | | + 0.10% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | | | + 0.10% ~raw | |
| | | | | | | | + 0.10% ~map | |
| | | | | | | | + 0.10% ~_Rb_tree | |
| | | | | | | | + 0.10% std::_Rb_tree<std::pair<unsigned long, unsigned long>, std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> >, std::_Select1st<std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> > >, std::less<std::pair<unsigned long, unsigned long> >, std::allocator<std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> > > >::_M_erase | |
| | | | | | | + 0.10% ceph::buffer::raw_combined::~raw_combined | |
| | | | | | | + 0.10% ~raw_combined | |
| | | | | | | + 0.10% ~raw | |
| | | | | | | + 0.10% mempool::pool_t::adjust_count | |
| | | | | | | + 0.10% operator+= | |
| | | | | | + 0.10% _M_put_node | |
| | | | | | + 0.10% deallocate | |
| | | | | | + 0.10% deallocate | |
| | | | | | + 0.10% tc_delete | |
| | | | | + 0.10% ~intrusive_ptr | |
| | | | | + 0.10% intrusive_ptr_release | |
| | | | | + 0.10% put | |
| | | | | + 0.10% operator-- | |
| | | | + 0.30% ~vector | |
| | | | | + 0.30% ~_Vector_base | |
| | | | | + 0.30% _M_deallocate | |
| | | | | + 0.30% deallocate | |
| | | | | + 0.30% deallocate | |
| | | | | + 0.30% tc_delete | |
| | | | | + 0.20% tcmalloc::ThreadCache::ListTooLong(tcmalloc::ThreadCache::FreeList*, unsigned long) | |
| | | | | + 0.20% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.10% ~request_redirect_t | |
| | | | + 0.10% ~list | |
| | | | + 0.10% ~list | |
| | | | + 0.10% ~_List_base | |
| | | | + 0.10% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | + 0.20% tc_delete | |
| | | + 0.20% tcmalloc::ThreadCache::ListTooLong(tcmalloc::ThreadCache::FreeList*, unsigned long) | |
| | | + 0.20% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | + 0.10% ceph::buffer::list::append | |
| | | + 0.10% create | |
| | | + 0.10% tc_posix_memalign | |
| | | + 0.10% (anonymous namespace)::do_memalign(unsigned long, unsigned long) | |
| | + 0.10% PerfCounters::inc | |
| + 2.90% AsyncConnection::prepare_send_message | |
| | + 2.70% Message::encode | |
| | + 1.60% MOSDOpReply::encode_payload | |
| | | + 0.80% encode | |
| | | | + 0.30% pg_t::encode | |
| | | | | + 0.30% encode | |
| | | | | + 0.20% encode_raw<ceph_le<unsigned int> > | |
| | | | | | + 0.20% ceph::buffer::list::append | |
| | | | | | + 0.10% ceph::buffer::ptr::append | |
| | | | | | + 0.10% maybe_inline_memcpy | |
| | | | | + 0.10% encode_raw<ceph_le<unsigned long long> > | |
| | | | | + 0.10% ceph::buffer::list::append | |
| | | | | + 0.10% ceph::buffer::ptr::append | |
| | | | | + 0.10% maybe_inline_memcpy | |
| | | | + 0.30% encode | |
| | | | | + 0.20% encode | |
| | | | | | + 0.10% encode_raw<ceph_le<unsigned int> > | |
| | | | | | + 0.10% encode | |
| | | | | | + 0.10% encode_raw<ceph_le<unsigned int> > | |
| | | | | | + 0.10% ceph::buffer::list::append | |
| | | | | | + 0.10% ceph::buffer::ptr::ptr | |
| | | | | + 0.10% encode_raw<unsigned char> | |
| | | | + 0.10% encode_raw<ceph_le<unsigned long long> > | |
| | | | | + 0.10% ceph::buffer::list::append | |
| | | | | + 0.10% ceph::buffer::ptr::append | |
| | | | | + 0.10% maybe_inline_memcpy | |
| | | | + 0.10% encode_raw<ceph_le<unsigned int> > | |
| | | | + 0.10% ceph::buffer::list::append | |
| | | | + 0.10% ceph::buffer::ptr::append | |
| | | + 0.50% OSDOp::merge_osd_op_vector_out_data | |
| | | | + 0.40% ceph::buffer::list::append | |
| | | | + 0.40% push_back | |
| | | | + 0.40% _M_insert<ceph::buffer::ptr const&> | |
| | | | + 0.40% _M_create_node<ceph::buffer::ptr const&> | |
| | | | + 0.30% construct<ceph::buffer::ptr, ceph::buffer::ptr const&> | |
| | | | | + 0.30% construct<ceph::buffer::ptr, ceph::buffer::ptr const&> | |
| | | | | + 0.30% ceph::buffer::ptr::ptr | |
| | | | + 0.10% _M_get_node | |
| | | | + 0.10% allocate | |
| | | | + 0.10% allocate | |
| | | | + 0.10% tc_new | |
| | | | + 0.10% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | + 0.10% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | + 0.10% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | | + 0.20% Message::encode_trace | |
| | | | + 0.20% encode | |
| | | | + 0.20% encode | |
| | | | + 0.20% encode_raw<ceph_le<unsigned long long> > | |
| | | | + 0.20% ceph::buffer::list::append | |
| | | + 0.10% empty | |
| | + 0.80% calc_data_crc | |
| | | + 0.80% ceph::buffer::list::crc32c | |
| | | + 0.80% ceph_crc32c | |
| | | + 0.80% ceph_crc32c_intel_fast | |
| | | + 0.80% ??? | |
| | | + 0.80% ??? | |
| | | + 0.80% crc32_iscsi_00 | |
| | + 0.30% calc_front_crc | |
| | + 0.30% ceph::buffer::list::crc32c | |
| | + 0.30% ceph_crc32c | |
| | + 0.30% ceph_crc32c_intel_baseline | |
| + 0.50% _get_next_outgoing | |
| | + 0.50% erase | |
| | + 0.40% _M_erase | |
| | | + 0.40% _M_put_node | |
| | | + 0.40% deallocate | |
| | | + 0.40% deallocate | |
| | | + 0.40% tc_delete | |
| | | + 0.30% tcmalloc::ThreadCache::ListTooLong(tcmalloc::ThreadCache::FreeList*, unsigned long) | |
| | | + 0.30% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.10% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.10% tcmalloc::CentralFreeList::ReleaseListToSpans(void*) | |
| | + 0.10% std::_Rb_tree<int, std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > >, std::_Select1st<std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > > >, std::less<int>, std::allocator<std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > > > >::erase | |
| | + 0.10% _M_erase_aux | |
| | + 0.10% clear | |
| | + 0.10% std::_Rb_tree<int, std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > >, std::_Select1st<std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > > >, std::less<int>, std::allocator<std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > > > >::_M_erase | |
| + 0.40% lock | |
| | + 0.40% __gthread_mutex_lock | |
| | + 0.30% pthread_mutex_lock | |
| | | + 0.30% _L_lock_812 | |
| | | + 0.30% __lll_lock_wait | |
| | + 0.10% pthread_mutex_lock@plt | |
| + 0.30% list | |
| | + 0.20% ceph::buffer::list::iterator_impl<false>::advance | |
| | + 0.10% ceph::buffer::list::iterator_impl<false>::iterator_impl | |
| + 0.10% ~ptr | |
| + 0.10% unlock | |
| | + 0.10% __gthread_mutex_unlock | |
| | + 0.10% pthread_mutex_unlock | |
| + 0.10% now | |
| + 0.10% clock_gettime | |
| + 0.10% clock_gettime | |
+ 1.40% do_request | |
| + 1.40% read | |
| + 1.40% read | |
+ 0.30% now | |
| + 0.20% clock_gettime | |
| + 0.10% clock_gettime | |
+ 0.10% ~vector | |
| + 0.10% ~_Vector_base | |
| + 0.10% _M_deallocate | |
| + 0.10% deallocate | |
| + 0.10% deallocate | |
| + 0.10% tc_delete | |
+ 0.10% deque | |
+ 0.10% _Deque_base | |
+ 0.10% _M_initialize_map | |
+ 0.10% _M_allocate_map | |
+ 0.10% allocate | |
+ 0.10% allocate | |
+ 0.10% tc_new | |
Thread: 131 (log) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ceph::logging::Log::entry | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment