Last active
January 18, 2018 15:27
-
-
Save rzarzynski/482fbe74bd9684cc517dc57b8ec057ba to your computer and use it in GitHub Desktop.
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
Hot spots: | |
* Locking in OSD::schedule_recovery_work() in bstore_aio: | |
The underlying recovery_gen_wq does extensive mutex dance around multiple | |
std::lists (_queue, to_process, to_finish). This includes memallocs under | |
coarse-grained lock. See: | |
+ https://github.com/ceph/ceph/blob/2a87e2cbe5438afa2410e866fccb12978c4c8092/src/common/WorkQueue.h#L236-L240 | |
+ https://github.com/ceph/ceph/blob/2a87e2cbe5438afa2410e866fccb12978c4c8092/src/common/WorkQueue.h#L543-L545 | |
+ https://github.com/ceph/ceph/blob/2a87e2cbe5438afa2410e866fccb12978c4c8092/src/common/WorkQueue.cc#L112-L130 | |
+ https://github.com/ceph/ceph/blob/2a87e2cbe5438afa2410e866fccb12978c4c8092/src/common/WorkQueue.h#L192-L224 | |
* The osd_tp_disk thread. | |
By default there is single osd_tp_disk per OSD. The disk_tp pool lacks sharding. | |
* PG::locking in tp_osd_disk | |
tp_osd_tp spent around 9% of the recorded time just waiting on the PG::lock. | |
* The second run of execute_ctx. The whole function takes 31% while its callees, | |
complete_read_ctx and OpTracker::unregister_inflight_op, are responsible for | |
just for ~20%. |
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
rbd_iodepth32: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=rbd, iodepth=32 | |
fio-3.0-32-g83070-dirty | |
Starting 1 process | |
rbd_iodepth32: (groupid=0, jobs=1): err= 0: pid=4071: Wed Jan 17 10:56:31 2018 | |
read: IOPS=25.1k, BW=98.0MiB/s (103MB/s)(5882MiB/60001msec) | |
slat (nsec): min=999, max=1370.8k, avg=7638.31, stdev=20668.87 | |
clat (usec): min=156, max=10010, avg=1266.41, stdev=422.78 | |
lat (usec): min=265, max=10028, avg=1274.04, stdev=421.89 | |
clat percentiles (usec): | |
| 1.00th=[ 523], 5.00th=[ 685], 10.00th=[ 791], 20.00th=[ 930], | |
| 30.00th=[ 1045], 40.00th=[ 1139], 50.00th=[ 1237], 60.00th=[ 1319], | |
| 70.00th=[ 1434], 80.00th=[ 1565], 90.00th=[ 1762], 95.00th=[ 1942], | |
| 99.00th=[ 2376], 99.50th=[ 2671], 99.90th=[ 4817], 99.95th=[ 5407], | |
| 99.99th=[ 6718] | |
bw ( KiB/s): min=92408, max=102480, per=100.00%, avg=100390.51, stdev=1516.69, samples=120 | |
iops : min=23102, max=25620, avg=25097.62, stdev=379.16, samples=120 | |
lat (usec) : 250=0.01%, 500=0.76%, 750=7.06%, 1000=18.18% | |
lat (msec) : 2=70.02%, 4=3.81%, 10=0.18%, 20=0.01% | |
cpu : usr=39.97%, sys=26.98%, ctx=1755038, majf=0, minf=7 | |
IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=100.0%, >=64=0.0% | |
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% | |
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.1%, 64=0.0%, >=64=0.0% | |
issued rwt: total=1505889,0,0, short=0,0,0, dropped=0,0,0 | |
latency : target=0, window=0, percentile=100.00%, depth=32 | |
Run status group 0 (all jobs): | |
READ: bw=98.0MiB/s (103MB/s), 98.0MiB/s-98.0MiB/s (103MB/s-103MB/s), io=5882MiB (6168MB), run=60001-60001msec | |
Disk stats (read/write): | |
dm-1: ios=1502160/1071, merge=0/0, ticks=136336/660, in_queue=138028, util=83.17%, aggrios=1505889/1253, aggrmerge=0/0, aggrticks=135140/676, aggrin_queue=136736, aggrutil=82.97% | |
dm-0: ios=1505889/1253, merge=0/0, ticks=135140/676, in_queue=136736, util=82.97%, aggrios=1505889/907, aggrmerge=0/346, aggrticks=105416/580, aggrin_queue=105832, aggrutil=78.31% | |
nvme0n1: ios=1505889/907, merge=0/346, ticks=105416/580, in_queue=105832, util=78.31% |
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
Thread: 15 (bstore_aio) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% KernelDevice::AioCompletionThread::entry | |
+ 100.00% KernelDevice::_aio_thread | |
+ 90.90% aio_queue_t::get_next_completed | |
| + 90.80% ??? | |
| + 0.10% io_getevents | |
+ 8.40% BlueStore::AioReadBatch::aio_finish | |
| + 4.10% PrimaryLogPG::schedule_recovery_work | |
| | + 4.10% ThreadPool::WorkQueueVal<GenContext<ThreadPool::TPHandle&>*, GenContext<ThreadPool::TPHandle&>*>::queue | |
| | + 3.70% Mutex::Locker::Locker | |
| | | + 3.70% Mutex::Lock | |
| | | + 2.00% Mutex::_will_lock | |
| | | | + 2.00% lockdep_will_lock | |
| | | | + 1.80% __GI___pthread_mutex_lock | |
| | | | | + 1.60% __lll_lock_wait | |
| | | | + 0.20% __GI___pthread_mutex_unlock | |
| | | | + 0.20% __pthread_mutex_unlock_usercnt | |
| | | | + 0.10% __lll_unlock_wake | |
| | | + 1.30% __GI___pthread_mutex_lock | |
| | | | + 1.30% __lll_lock_wait | |
| | | + 0.40% Mutex::TryLock | |
| | | + 0.40% Mutex::_locked | |
| | | + 0.40% lockdep_locked | |
| | | + 0.20% __GI___pthread_mutex_unlock | |
| | | | + 0.20% __pthread_mutex_unlock_usercnt | |
| | | | + 0.20% __lll_unlock_wake | |
| | | + 0.10% __pthread_self | |
| | | + 0.10% __GI___pthread_mutex_lock | |
| | | + 0.10% __lll_lock_wait | |
| | + 0.30% Cond::SignalOne | |
| | | + 0.30% pthread_cond_signal@@GLIBC_2.3.2 | |
| | + 0.10% GenContextWQ::_enqueue | |
| | + 0.10% std::__cxx11::list<GenContext<ThreadPool::TPHandle&>*, std::allocator<GenContext<ThreadPool::TPHandle&>*> >::push_back | |
| | + 0.10% std::__cxx11::list<GenContext<ThreadPool::TPHandle&>*, std::allocator<GenContext<ThreadPool::TPHandle&>*> >::_M_insert<GenContext<ThreadPool::TPHandle&>* const&> | |
| | + 0.10% std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*) | |
| + 2.40% BlueStore::PlainRegionReader::postprocess | |
| | + 1.80% BlueStore::RegionReader::_verify_csum | |
| | | + 1.30% bluestore_blob_t::verify_csum | |
| | | | + 1.30% Checksummer::verify<Checksummer::crc32c> | |
| | | | + 0.70% Checksummer::crc32c::calc | |
| | | | | + 0.70% ceph::buffer::list::iterator_impl<true>::crc32c | |
| | | | | + 0.60% ceph_crc32c | |
| | | | | | + 0.60% ceph_crc32c_intel_fast | |
| | | | | | + 0.60% ??? | |
| | | | | | + 0.60% ??? | |
| | | | | | + 0.60% crc32_iscsi_00 | |
| | | | | + 0.10% ceph::buffer::list::iterator_impl<true>::get_ptr_and_advance | |
| | | | | + 0.10% ceph::buffer::ptr::c_str | |
| | | | + 0.30% ceph::buffer::ptr::c_str | |
| | | | | + 0.10% ceph::buffer::raw::get_data | |
| | | | + 0.20% ceph::buffer::list::begin | |
| | | | + 0.20% ceph::buffer::list::iterator_impl<true>::advance | |
| | | + 0.20% PerfGuard::~PerfGuard | |
| | | | + 0.10% PerfCounters::tinc | |
| | | + 0.20% PerfGuard::PerfGuard | |
| | | + 0.20% ceph::time_detail::real_clock::now | |
| | | + 0.10% __GI___clock_gettime | |
| | | + 0.10% clock_gettime | |
| | + 0.30% ceph::buffer::list::substr_of | |
| | | + 0.10% std::__cxx11::list<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::push_back(ceph::buffer::ptr&&) | |
| | | | + 0.10% std::__cxx11::list<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_insert<ceph::buffer::ptr>(std::_List_iterator<ceph::buffer::ptr>, ceph::buffer::ptr&&) | |
| | | | + 0.10% std::__cxx11::list<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_create_node<ceph::buffer::ptr>(ceph::buffer::ptr&&) | |
| | | | + 0.10% std::__cxx11::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_get_node | |
| | | | + 0.10% std::allocator_traits<std::allocator<std::_List_node<ceph::buffer::ptr> > >::allocate | |
| | | | + 0.10% __gnu_cxx::new_allocator<std::_List_node<ceph::buffer::ptr> >::allocate | |
| | | | + 0.10% operator new(unsigned long) | |
| | | | + 0.10% malloc | |
| | | + 0.10% ceph::buffer::ptr::ptr | |
| | | + 0.10% ceph::buffer::list::clear | |
| | | + 0.10% ceph::buffer::ptr::operator=(ceph::buffer::ptr&&) | |
| | + 0.20% std::map<unsigned long, ceph::buffer::list, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, ceph::buffer::list> > >::operator[] | |
| | + 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_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% 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<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_create_node<std::piecewise_construct_t const&, std::tuple<unsigned long const&>, std::tuple<> >(std::piecewise_construct_t const&, std::tuple<unsigned long const&>&&, std::tuple<>&&) | |
| | + 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_get_node | |
| | + 0.10% std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<unsigned long const, ceph::buffer::list> > > >::allocate | |
| | + 0.10% __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<unsigned long const, ceph::buffer::list> > >::allocate | |
| | + 0.10% operator new(unsigned long) | |
| | + 0.10% malloc | |
| + 0.60% BlueStore::AioReadBatch::~AioReadBatch | |
| | + 0.60% BlueStore::AioReadBatch::~AioReadBatch | |
| | + 0.40% boost::container::small_vector<BlueStore::AioReadBatch::read_ctx_t, 1ul, boost::container::new_allocator<BlueStore::AioReadBatch::read_ctx_t> >::~small_vector | |
| | | + 0.40% boost::container::small_vector_base<BlueStore::AioReadBatch::read_ctx_t, boost::container::new_allocator<BlueStore::AioReadBatch::read_ctx_t> >::~small_vector_base | |
| | | + 0.40% boost::container::vector<BlueStore::AioReadBatch::read_ctx_t, boost::container::small_vector_allocator<boost::container::new_allocator<BlueStore::AioReadBatch::read_ctx_t> > >::~vector | |
| | | + 0.40% boost::container::destroy_alloc_n<boost::container::small_vector_allocator<boost::container::new_allocator<BlueStore::AioReadBatch::read_ctx_t> >, BlueStore::AioReadBatch::read_ctx_t*, unsigned long> | |
| | | + 0.40% boost::container::allocator_traits<boost::container::small_vector_allocator<boost::container::new_allocator<BlueStore::AioReadBatch::read_ctx_t> > >::destroy<BlueStore::AioReadBatch::read_ctx_t> | |
| | | + 0.40% boost::container::allocator_traits<boost::container::small_vector_allocator<boost::container::new_allocator<BlueStore::AioReadBatch::read_ctx_t> > >::priv_destroy<BlueStore::AioReadBatch::read_ctx_t> | |
| | | + 0.40% BlueStore::AioReadBatch::read_ctx_t::~read_ctx_t | |
| | | + 0.40% BlueStore::cache_response_t::~cache_response_t | |
| | | + 0.40% std::map<boost::intrusive_ptr<BlueStore::Blob>, 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> > > > >::~map | |
| | | + 0.40% 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> > > > >::~_Rb_tree | |
| | | + 0.40% 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 | |
| | | + 0.40% 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_drop_node | |
| | | + 0.30% 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_destroy_node | |
| | | | + 0.30% std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<boost::intrusive_ptr<BlueStore::Blob> const, std::unique_ptr<BlueStore::RegionReader, std::default_delete<BlueStore::RegionReader> > > > > >::destroy<std::pair<boost::intrusive_ptr<BlueStore::Blob> const, std::unique_ptr<BlueStore::RegionReader, std::default_delete<BlueStore::RegionReader> > > > | |
| | | | + 0.30% __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<boost::intrusive_ptr<BlueStore::Blob> const, std::unique_ptr<BlueStore::RegionReader, std::default_delete<BlueStore::RegionReader> > > > >::destroy<std::pair<boost::intrusive_ptr<BlueStore::Blob> const, std::unique_ptr<BlueStore::RegionReader, std::default_delete<BlueStore::RegionReader> > > > | |
| | | | + 0.30% std::pair<boost::intrusive_ptr<BlueStore::Blob> const, std::unique_ptr<BlueStore::RegionReader, std::default_delete<BlueStore::RegionReader> > >::~pair | |
| | | | + 0.30% std::unique_ptr<BlueStore::RegionReader, std::default_delete<BlueStore::RegionReader> >::~unique_ptr | |
| | | | + 0.30% std::default_delete<BlueStore::RegionReader>::operator() | |
| | | | + 0.20% free | |
| | | | | + 0.10% ??? | |
| | | | | + 0.10% ??? | |
| | | | + 0.10% BlueStore::PlainRegionReader::~PlainRegionReader | |
| | | | + 0.10% BlueStore::PlainRegionReader::~PlainRegionReader | |
| | | | + 0.10% BlueStore::RegionReader::~RegionReader | |
| | | | + 0.10% boost::intrusive_ptr<BlueStore::Blob>::~intrusive_ptr | |
| | | | + 0.10% intrusive_ptr_release | |
| | | | + 0.10% BlueStore::Blob::put | |
| | | + 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_put_node | |
| | | + 0.10% std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<boost::intrusive_ptr<BlueStore::Blob> const, std::unique_ptr<BlueStore::RegionReader, std::default_delete<BlueStore::RegionReader> > > > > >::deallocate | |
| | | + 0.10% __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<boost::intrusive_ptr<BlueStore::Blob> const, std::unique_ptr<BlueStore::RegionReader, std::default_delete<BlueStore::RegionReader> > > > >::deallocate | |
| | | + 0.10% free | |
| | | + 0.10% ??? | |
| | + 0.20% IOContext::~IOContext | |
| | + 0.10% pthread_cond_destroy@plt | |
| | + 0.10% __pthread_cond_destroy | |
| + 0.30% free | |
| | + 0.20% ??? | |
| | + 0.10% ??? | |
| + 0.20% PrimaryLogPG::OpContext::BlessedReadCompleter::complete | |
| | + 0.10% PrimaryLogPG::OpContext::BlessedReadCompleter::finish | |
| | + 0.10% boost::intrusive_ptr<PrimaryLogPG>::operator-> | |
| + 0.20% Mutex::Unlock | |
| | + 0.20% Mutex::_will_unlock | |
| | + 0.20% lockdep_will_unlock | |
| | + 0.10% std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::erase | |
| | | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::erase | |
| | | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_erase_aux | |
| | | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::clear | |
| | | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_erase | |
| | | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_drop_node | |
| | | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_put_node | |
| | | + 0.10% std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<int const, ceph::BackTrace*> > > >::deallocate | |
| | | + 0.10% __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<int const, ceph::BackTrace*> > >::deallocate | |
| | | + 0.10% free | |
| | + 0.10% __GI___pthread_mutex_unlock | |
| | + 0.10% __pthread_mutex_unlock_usercnt | |
| | + 0.10% __lll_unlock_wake | |
| + 0.20% BlueStore::_do_read_compose_result | |
| | + 0.20% ceph::buffer::list::claim_append | |
| | + 0.10% ceph::buffer::list::begin | |
| | + 0.10% ceph::buffer::list::iterator::iterator | |
| + 0.10% FillInVerifyExtent::~FillInVerifyExtent | |
| | + 0.10% FillInVerifyExtent::~FillInVerifyExtent | |
| | + 0.10% hobject_t::~hobject_t | |
| | + 0.10% object_t::~object_t | |
| | + 0.10% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string | |
| | + 0.10% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_dispose | |
| | + 0.10% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_destroy | |
| | + 0.10% std::allocator_traits<std::allocator<char> >::deallocate | |
| | + 0.10% __gnu_cxx::new_allocator<char>::deallocate | |
| | + 0.10% free | |
| | + 0.10% ??? | |
| | + 0.10% ??? | |
| | + 0.10% ??? | |
| + 0.10% BlueStore::_do_read_compose_sparse_result | |
| + 0.10% ceph::buffer::list::claim_append | |
| + 0.10% ceph::buffer::list::make_shareable | |
| + 0.10% ceph::buffer::ptr::make_shareable | |
| + 0.10% ceph::buffer::raw::is_shareable | |
+ 0.20% aio_cb | |
+ 0.10% ceph::logging::SubsystemMap::should_gather | |
+ 0.10% std::vector<ceph::logging::Subsystem, std::allocator<ceph::logging::Subsystem> >::size | |
... | |
Thread: 58 (tp_osd_disk) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ThreadPool::WorkThread::entry | |
+ 100.00% ThreadPool::worker | |
+ 51.90% Cond::WaitInterval | |
| + 51.90% Cond::WaitUntil | |
| + 51.90% pthread_cond_timedwait@@GLIBC_2.3.2 | |
| + 0.30% __pthread_mutex_cond_lock | |
| + 0.30% __lll_lock_wait | |
+ 43.10% ThreadPool::WorkQueueVal<GenContext<ThreadPool::TPHandle&>*, GenContext<ThreadPool::TPHandle&>*>::_void_process | |
| + 41.90% GenContextWQ::_process | |
| | + 41.90% GenContext<ThreadPool::TPHandle&>::complete<ThreadPool::TPHandle&> | |
| | + 40.70% non-virtual thunk to PrimaryLogPG::OpContext::start_async_reads(PrimaryLogPG*)::BlessedReadCompleter::finish(ThreadPool::TPHandle&) | |
| | | + 31.50% PrimaryLogPG::execute_ctx | |
| | | | + 11.90% PrimaryLogPG::complete_read_ctx | |
| | | | | + 4.70% PG::publish_stats_to_osd | |
| | | | | | + 2.50% md_config_t::get_val<unsigned long> | |
| | | | | | | + 2.50% md_config_t::get_val_generic | |
| | | | | | | + 2.30% md_config_t::_get_val_generic | |
| | | | | | | | + 0.80% std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::variant<boost::blank, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, long, double, bool, entity_addr_t, uuid_d>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, boost::variant<boost::blank, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, long, double, bool, entity_addr_t, uuid_d> > > >::at | |
| | | | | | | | | + 0.80% std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::variant<boost::blank, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, long, double, bool, entity_addr_t, uuid_d>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, boost::variant<boost::blank, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, long, double, bool, entity_addr_t, uuid_d> > > >::lower_bound | |
| | | | | | | | | + 0.80% std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, boost::variant<boost::blank, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, long, double, bool, entity_addr_t, uuid_d> >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, boost::variant<boost::blank, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, long, double, bool, entity_addr_t, uuid_d> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, boost::variant<boost::blank, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, long, double, bool, entity_addr_t, uuid_d> > > >::lower_bound | |
| | | | | | | | | + 0.80% std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, boost::variant<boost::blank, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, long, double, bool, entity_addr_t, uuid_d> >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, boost::variant<boost::blank, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, long, double, bool, entity_addr_t, uuid_d> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, boost::variant<boost::blank, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, long, double, bool, entity_addr_t, uuid_d> > > >::_M_lower_bound | |
| | | | | | | | | + 0.80% std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::operator() | |
| | | | | | | | | + 0.80% std::operator< <char, std::char_traits<char>, std::allocator<char> > | |
| | | | | | | | | + 0.80% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::compare | |
| | | | | | | | | + 0.70% std::char_traits<char>::compare | |
| | | | | | | | | + 0.70% __memcmp_sse4_1 | |
| | | | | | | | + 0.80% std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, Option const&, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, Option const&> > >::find | |
| | | | | | | | | + 0.80% std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, Option const&>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, Option const&> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, Option const&> > >::find | |
| | | | | | | | | + 0.70% std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, Option const&>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, Option const&> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, Option const&> > >::_M_lower_bound | |
| | | | | | | | | + 0.70% std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::operator() | |
| | | | | | | | | + 0.70% std::operator< <char, std::char_traits<char>, std::allocator<char> > | |
| | | | | | | | | + 0.70% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::compare | |
| | | | | | | | | + 0.70% std::char_traits<char>::compare | |
| | | | | | | | | + 0.70% __memcmp_sse4_1 | |
| | | | | | | | + 0.60% ConfFile::normalize_key_name | |
| | | | | | | | + 0.50% ConfFile::trim_whitespace | |
| | | | | | | | + 0.20% isspace@plt | |
| | | | | | | | + 0.10% strlen | |
| | | | | | | | + 0.10% isspace | |
| | | | | | | + 0.10% Mutex::Locker::Locker | |
| | | | | | | + 0.10% Mutex::Lock | |
| | | | | | | + 0.10% __GI___pthread_mutex_lock | |
| | | | | | + 0.50% Mutex::Unlock | |
| | | | | | | + 0.50% Mutex::_will_unlock | |
| | | | | | | + 0.50% lockdep_will_unlock | |
| | | | | | | + 0.20% std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::erase | |
| | | | | | | | + 0.20% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::erase | |
| | | | | | | | + 0.20% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_erase_aux | |
| | | | | | | | + 0.10% std::_Rb_tree_const_iterator<std::pair<int const, ceph::BackTrace*> >::operator++ | |
| | | | | | | | | + 0.10% std::_Rb_tree_increment(std::_Rb_tree_node_base const*)@plt | |
| | | | | | | | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_erase_aux | |
| | | | | | | | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_drop_node | |
| | | | | | | | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_put_node | |
| | | | | | | | + 0.10% std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<int const, ceph::BackTrace*> > > >::deallocate | |
| | | | | | | | + 0.10% __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<int const, ceph::BackTrace*> > >::deallocate | |
| | | | | | | | + 0.10% free | |
| | | | | | | + 0.10% std::unordered_map<unsigned long, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > > >::operator[] | |
| | | | | | | | + 0.10% std::__detail::_Map_base<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true>, true>::operator[] | |
| | | | | | | | + 0.10% std::_Hashtable<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_bucket_index | |
| | | | | | | | + 0.10% std::__detail::_Hash_code_base<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::__detail::_Select1st, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, false>::_M_bucket_index | |
| | | | | | | | + 0.10% std::__detail::_Mod_range_hashing::operator() | |
| | | | | | | + 0.10% __GI___pthread_mutex_unlock | |
| | | | | | | | + 0.10% __pthread_mutex_unlock_usercnt | |
| | | | | | | + 0.10% __GI___pthread_mutex_lock | |
| | | | | | | + 0.10% __lll_lock_wait | |
| | | | | | + 0.40% PG::_update_calc_stats | |
| | | | | | | + 0.30% std::shared_ptr<OSDMap const>::~shared_ptr | |
| | | | | | | | + 0.30% std::__shared_ptr<OSDMap const, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr | |
| | | | | | | | + 0.30% std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count | |
| | | | | | | | + 0.30% std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release | |
| | | | | | | + 0.10% PG::get_osdmap | |
| | | | | | + 0.30% pg_stat_t::operator= | |
| | | | | | | + 0.10% std::vector<int, std::allocator<int> >::operator= | |
| | | | | | + 0.20% Mutex::Lock | |
| | | | | | | + 0.10% Mutex::_will_lock | |
| | | | | | | | + 0.10% lockdep_will_lock | |
| | | | | | | | + 0.10% __pthread_self | |
| | | | | | | + 0.10% Mutex::TryLock | |
| | | | | | | + 0.10% Mutex::_locked | |
| | | | | | | + 0.10% lockdep_locked | |
| | | | | | | + 0.10% std::unordered_map<unsigned long, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > > >::operator[] | |
| | | | | | | + 0.10% std::__detail::_Map_base<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true>, true>::operator[] | |
| | | | | | | + 0.10% std::_Hashtable<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_bucket_index | |
| | | | | | | + 0.10% std::__detail::_Hash_code_base<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::__detail::_Select1st, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, false>::_M_bucket_index | |
| | | | | | | + 0.10% std::__detail::_Mod_range_hashing::operator() | |
| | | | | | + 0.10% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string | |
| | | | | | | + 0.10% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_dispose | |
| | | | | | | + 0.10% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_destroy | |
| | | | | | | + 0.10% std::allocator_traits<std::allocator<char> >::deallocate | |
| | | | | | | + 0.10% __gnu_cxx::new_allocator<char>::deallocate | |
| | | | | | | + 0.10% free | |
| | | | | | + 0.10% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string | |
| | | | | | | + 0.10% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*> | |
| | | | | | | + 0.10% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct_aux<char const*> | |
| | | | | | | + 0.10% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*> | |
| | | | | | | + 0.10% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_S_copy_chars | |
| | | | | | | + 0.10% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_S_copy | |
| | | | | | | + 0.10% std::char_traits<char>::copy | |
| | | | | | | + 0.10% __memcpy_avx_unaligned | |
| | | | | | + 0.10% pg_stat_t::~pg_stat_t | |
| | | | | | | + 0.10% std::vector<int, std::allocator<int> >::~vector | |
| | | | | | | + 0.10% std::_Vector_base<int, std::allocator<int> >::~_Vector_base | |
| | | | | | | + 0.10% std::_Vector_base<int, std::allocator<int> >::_M_deallocate | |
| | | | | | | + 0.10% std::allocator_traits<std::allocator<int> >::deallocate | |
| | | | | | | + 0.10% __gnu_cxx::new_allocator<int>::deallocate | |
| | | | | | | + 0.10% free | |
| | | | | | + 0.10% pg_stat_t::pg_stat_t | |
| | | | | | + 0.10% operator== | |
| | | | | | + 0.10% free | |
| | | | | | + 0.10% PG::_update_blocked_by | |
| | | | | | + 0.10% ??? | |
| | | | | | + 0.10% ??? | |
| | | | | | + 0.10% __GI___pthread_mutex_lock | |
| | | | | + 3.50% PrimaryLogPG::close_op_ctx | |
| | | | | | + 1.70% PrimaryLogPG::release_object_locks | |
| | | | | | | + 0.80% ObcLockManager::put_locks | |
| | | | | | | | + 0.40% std::pair<hobject_t const, ObcLockManager::ObjectLockState>::pair | |
| | | | | | | | | + 0.40% hobject_t::hobject_t | |
| | | | | | | | | + 0.20% object_t::object_t | |
| | | | | | | | | | + 0.20% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string | |
| | | | | | | | | | + 0.10% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*> | |
| | | | | | | | | | + 0.10% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct_aux<char*> | |
| | | | | | | | | | + 0.10% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*> | |
| | | | | | | | | + 0.10% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string | |
| | | | | | | | + 0.20% std::map<hobject_t, ObcLockManager::ObjectLockState, std::less<hobject_t>, std::allocator<std::pair<hobject_t const, ObcLockManager::ObjectLockState> > >::clear | |
| | | | | | | | | + 0.20% std::_Rb_tree<hobject_t, std::pair<hobject_t const, ObcLockManager::ObjectLockState>, std::_Select1st<std::pair<hobject_t const, ObcLockManager::ObjectLockState> >, std::less<hobject_t>, std::allocator<std::pair<hobject_t const, ObcLockManager::ObjectLockState> > >::clear | |
| | | | | | | | | + 0.20% std::_Rb_tree<hobject_t, std::pair<hobject_t const, ObcLockManager::ObjectLockState>, std::_Select1st<std::pair<hobject_t const, ObcLockManager::ObjectLockState> >, std::less<hobject_t>, std::allocator<std::pair<hobject_t const, ObcLockManager::ObjectLockState> > >::_M_erase | |
| | | | | | | | | + 0.20% std::_Rb_tree<hobject_t, std::pair<hobject_t const, ObcLockManager::ObjectLockState>, std::_Select1st<std::pair<hobject_t const, ObcLockManager::ObjectLockState> >, std::less<hobject_t>, std::allocator<std::pair<hobject_t const, ObcLockManager::ObjectLockState> > >::_M_drop_node | |
| | | | | | | | | + 0.20% std::_Rb_tree<hobject_t, std::pair<hobject_t const, ObcLockManager::ObjectLockState>, std::_Select1st<std::pair<hobject_t const, ObcLockManager::ObjectLockState> >, std::less<hobject_t>, std::allocator<std::pair<hobject_t const, ObcLockManager::ObjectLockState> > >::_M_put_node | |
| | | | | | | | | + 0.20% std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<hobject_t const, ObcLockManager::ObjectLockState> > > >::deallocate | |
| | | | | | | | | + 0.20% __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<hobject_t const, ObcLockManager::ObjectLockState> > >::deallocate | |
| | | | | | | | | + 0.10% free | |
| | | | | | | | + 0.20% std::make_pair<hobject_t&, std::__cxx11::list<boost::intrusive_ptr<OpRequest>, std::allocator<boost::intrusive_ptr<OpRequest> > > >(hobject_t&, std::__cxx11::list<boost::intrusive_ptr<OpRequest>, std::allocator<boost::intrusive_ptr<OpRequest> > >&&) | |
| | | | | | | | + 0.20% std::pair<hobject_t, std::__cxx11::list<boost::intrusive_ptr<OpRequest>, std::allocator<boost::intrusive_ptr<OpRequest> > > >::pair<hobject_t&, std::__cxx11::list<boost::intrusive_ptr<OpRequest>, std::allocator<boost::intrusive_ptr<OpRequest> > >, true>(hobject_t&, std::__cxx11::list<boost::intrusive_ptr<OpRequest>, std::allocator<boost::intrusive_ptr<OpRequest> > >&&) | |
| | | | | | | | + 0.20% hobject_t::hobject_t | |
| | | | | | | | + 0.20% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string | |
| | | | | | | | + 0.20% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*> | |
| | | | | | | | + 0.20% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct_aux<char*> | |
| | | | | | | | + 0.20% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*> | |
| | | | | | | + 0.50% std::__cxx11::list<std::pair<hobject_t, std::__cxx11::list<boost::intrusive_ptr<OpRequest>, std::allocator<boost::intrusive_ptr<OpRequest> > > >, std::allocator<std::pair<hobject_t, std::__cxx11::list<boost::intrusive_ptr<OpRequest>, std::allocator<boost::intrusive_ptr<OpRequest> > > > > >::~list | |
| | | | | | | | + 0.50% std::__cxx11::_List_base<std::pair<hobject_t, std::__cxx11::list<boost::intrusive_ptr<OpRequest>, std::allocator<boost::intrusive_ptr<OpRequest> > > >, std::allocator<std::pair<hobject_t, std::__cxx11::list<boost::intrusive_ptr<OpRequest>, std::allocator<boost::intrusive_ptr<OpRequest> > > > > >::~_List_base | |
| | | | | | | | + 0.50% std::__cxx11::_List_base<std::pair<hobject_t, std::__cxx11::list<boost::intrusive_ptr<OpRequest>, std::allocator<boost::intrusive_ptr<OpRequest> > > >, std::allocator<std::pair<hobject_t, std::__cxx11::list<boost::intrusive_ptr<OpRequest>, std::allocator<boost::intrusive_ptr<OpRequest> > > > > >::_M_clear | |
| | | | | | | | + 0.30% std::allocator_traits<std::allocator<std::_List_node<std::pair<hobject_t, std::__cxx11::list<boost::intrusive_ptr<OpRequest>, std::allocator<boost::intrusive_ptr<OpRequest> > > > > > >::destroy<std::pair<hobject_t, std::__cxx11::list<boost::intrusive_ptr<OpRequest>, std::allocator<boost::intrusive_ptr<OpRequest> > > > > | |
| | | | | | | | | + 0.30% __gnu_cxx::new_allocator<std::_List_node<std::pair<hobject_t, std::__cxx11::list<boost::intrusive_ptr<OpRequest>, std::allocator<boost::intrusive_ptr<OpRequest> > > > > >::destroy<std::pair<hobject_t, std::__cxx11::list<boost::intrusive_ptr<OpRequest>, std::allocator<boost::intrusive_ptr<OpRequest> > > > > | |
| | | | | | | | | + 0.30% std::pair<hobject_t, std::__cxx11::list<boost::intrusive_ptr<OpRequest>, std::allocator<boost::intrusive_ptr<OpRequest> > > >::~pair | |
| | | | | | | | | + 0.30% hobject_t::~hobject_t | |
| | | | | | | | | + 0.30% object_t::~object_t | |
| | | | | | | | | + 0.30% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string | |
| | | | | | | | | + 0.30% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_dispose | |
| | | | | | | | | + 0.30% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_destroy | |
| | | | | | | | | + 0.30% std::allocator_traits<std::allocator<char> >::deallocate | |
| | | | | | | | | + 0.30% __gnu_cxx::new_allocator<char>::deallocate | |
| | | | | | | | | + 0.20% free | |
| | | | | | | | | + 0.10% operator delete(void*) | |
| | | | | | | | + 0.20% std::__cxx11::_List_base<std::pair<hobject_t, std::__cxx11::list<boost::intrusive_ptr<OpRequest>, std::allocator<boost::intrusive_ptr<OpRequest> > > >, std::allocator<std::pair<hobject_t, std::__cxx11::list<boost::intrusive_ptr<OpRequest>, std::allocator<boost::intrusive_ptr<OpRequest> > > > > >::_M_put_node | |
| | | | | | | | + 0.20% std::allocator_traits<std::allocator<std::_List_node<std::pair<hobject_t, std::__cxx11::list<boost::intrusive_ptr<OpRequest>, std::allocator<boost::intrusive_ptr<OpRequest> > > > > > >::deallocate | |
| | | | | | | | + 0.20% __gnu_cxx::new_allocator<std::_List_node<std::pair<hobject_t, std::__cxx11::list<boost::intrusive_ptr<OpRequest>, std::allocator<boost::intrusive_ptr<OpRequest> > > > > >::deallocate | |
| | | | | | | | + 0.20% free | |
| | | | | | | | + 0.10% ??? | |
| | | | | | | + 0.20% hobject_t::get_head | |
| | | | | | | | + 0.20% hobject_t::hobject_t | |
| | | | | | | | + 0.20% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string | |
| | | | | | | | + 0.20% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*> | |
| | | | | | | | + 0.20% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct_aux<char*> | |
| | | | | | | | + 0.20% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*> | |
| | | | | | | + 0.10% hobject_t::~hobject_t | |
| | | | | | | | + 0.10% object_t::~object_t | |
| | | | | | | | + 0.10% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string | |
| | | | | | | | + 0.10% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_dispose | |
| | | | | | | | + 0.10% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_destroy | |
| | | | | | | | + 0.10% std::allocator_traits<std::allocator<char> >::deallocate | |
| | | | | | | | + 0.10% __gnu_cxx::new_allocator<char>::deallocate | |
| | | | | | | | + 0.10% free | |
| | | | | | | + 0.10% PG::requeue_ops | |
| | | | | | | + 0.10% std::__cxx11::list<boost::intrusive_ptr<OpRequest>, std::allocator<boost::intrusive_ptr<OpRequest> > >::clear | |
| | | | | | | + 0.10% std::__cxx11::_List_base<boost::intrusive_ptr<OpRequest>, std::allocator<boost::intrusive_ptr<OpRequest> > >::_M_clear | |
| | | | | | + 1.50% PrimaryLogPG::OpContext::~OpContext | |
| | | | | | | + 0.60% std::unique_ptr<ObjectStore::ReadTransaction, std::default_delete<ObjectStore::ReadTransaction> >::~unique_ptr | |
| | | | | | | | + 0.60% std::default_delete<ObjectStore::ReadTransaction>::operator() | |
| | | | | | | | + 0.50% BlueStore::BlueReadTrans::~BlueReadTrans | |
| | | | | | | | | + 0.50% BlueStore::BlueReadTrans::~BlueReadTrans | |
| | | | | | | | | + 0.20% boost::intrusive_ptr<ObjectStore::CollectionImpl>::~intrusive_ptr | |
| | | | | | | | | | + 0.20% intrusive_ptr_release | |
| | | | | | | | | | + 0.20% RefCountedObject::put | |
| | | | | | | | | | + 0.20% std::__atomic_base<unsigned long>::operator-- | |
| | | | | | | | | + 0.20% boost::intrusive_ptr<BlueStore::Onode>::~intrusive_ptr | |
| | | | | | | | | + 0.20% intrusive_ptr_release | |
| | | | | | | | | + 0.20% BlueStore::Onode::put | |
| | | | | | | | + 0.10% free | |
| | | | | | | | + 0.10% ??? | |
| | | | | | | + 0.40% ObjectState::~ObjectState | |
| | | | | | | | + 0.30% free | |
| | | | | | | | | + 0.20% ??? | |
| | | | | | | | | + 0.20% ??? | |
| | | | | | | | | + 0.10% ??? | |
| | | | | | | | | + 0.10% ??? | |
| | | | | | | | + 0.10% object_info_t::~object_info_t | |
| | | | | | | | + 0.10% interval_set<unsigned long, std::map<unsigned long, unsigned long, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > > >::~interval_set | |
| | | | | | | | + 0.10% std::map<unsigned long, unsigned long, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > >::~map | |
| | | | | | | | + 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> > >::~_Rb_tree | |
| | | | | | | | + 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_erase | |
| | | | | | | | + 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_drop_node | |
| | | | | | | | + 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_put_node | |
| | | | | | | | + 0.10% std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<unsigned long const, unsigned long> > > >::deallocate | |
| | | | | | | | + 0.10% __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<unsigned long const, unsigned long> > >::deallocate | |
| | | | | | | | + 0.10% free | |
| | | | | | | + 0.20% std::map<int, std::unique_ptr<PrimaryLogPG::OpFinisher, std::default_delete<PrimaryLogPG::OpFinisher> >, std::less<int>, std::allocator<std::pair<int const, std::unique_ptr<PrimaryLogPG::OpFinisher, std::default_delete<PrimaryLogPG::OpFinisher> > > > >::~map | |
| | | | | | | | + 0.20% std::_Rb_tree<int, std::pair<int const, std::unique_ptr<PrimaryLogPG::OpFinisher, std::default_delete<PrimaryLogPG::OpFinisher> > >, std::_Select1st<std::pair<int const, std::unique_ptr<PrimaryLogPG::OpFinisher, std::default_delete<PrimaryLogPG::OpFinisher> > > >, std::less<int>, std::allocator<std::pair<int const, std::unique_ptr<PrimaryLogPG::OpFinisher, std::default_delete<PrimaryLogPG::OpFinisher> > > > >::~_Rb_tree | |
| | | | | | | | + 0.20% std::_Rb_tree<int, std::pair<int const, std::unique_ptr<PrimaryLogPG::OpFinisher, std::default_delete<PrimaryLogPG::OpFinisher> > >, std::_Select1st<std::pair<int const, std::unique_ptr<PrimaryLogPG::OpFinisher, std::default_delete<PrimaryLogPG::OpFinisher> > > >, std::less<int>, std::allocator<std::pair<int const, std::unique_ptr<PrimaryLogPG::OpFinisher, std::default_delete<PrimaryLogPG::OpFinisher> > > > >::_M_erase | |
| | | | | | | | + 0.20% std::_Rb_tree<int, std::pair<int const, std::unique_ptr<PrimaryLogPG::OpFinisher, std::default_delete<PrimaryLogPG::OpFinisher> > >, std::_Select1st<std::pair<int const, std::unique_ptr<PrimaryLogPG::OpFinisher, std::default_delete<PrimaryLogPG::OpFinisher> > > >, std::less<int>, std::allocator<std::pair<int const, std::unique_ptr<PrimaryLogPG::OpFinisher, std::default_delete<PrimaryLogPG::OpFinisher> > > > >::_M_drop_node | |
| | | | | | | | + 0.20% std::_Rb_tree<int, std::pair<int const, std::unique_ptr<PrimaryLogPG::OpFinisher, std::default_delete<PrimaryLogPG::OpFinisher> > >, std::_Select1st<std::pair<int const, std::unique_ptr<PrimaryLogPG::OpFinisher, std::default_delete<PrimaryLogPG::OpFinisher> > > >, std::less<int>, std::allocator<std::pair<int const, std::unique_ptr<PrimaryLogPG::OpFinisher, std::default_delete<PrimaryLogPG::OpFinisher> > > > >::_M_destroy_node | |
| | | | | | | | + 0.20% std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<int const, std::unique_ptr<PrimaryLogPG::OpFinisher, std::default_delete<PrimaryLogPG::OpFinisher> > > > > >::destroy<std::pair<int const, std::unique_ptr<PrimaryLogPG::OpFinisher, std::default_delete<PrimaryLogPG::OpFinisher> > > > | |
| | | | | | | | + 0.20% __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<int const, std::unique_ptr<PrimaryLogPG::OpFinisher, std::default_delete<PrimaryLogPG::OpFinisher> > > > >::destroy<std::pair<int const, std::unique_ptr<PrimaryLogPG::OpFinisher, std::default_delete<PrimaryLogPG::OpFinisher> > > > | |
| | | | | | | | + 0.20% std::pair<int const, std::unique_ptr<PrimaryLogPG::OpFinisher, std::default_delete<PrimaryLogPG::OpFinisher> > >::~pair | |
| | | | | | | | + 0.20% std::unique_ptr<PrimaryLogPG::OpFinisher, std::default_delete<PrimaryLogPG::OpFinisher> >::~unique_ptr | |
| | | | | | | | + 0.20% std::default_delete<PrimaryLogPG::OpFinisher>::operator() | |
| | | | | | | | + 0.10% free | |
| | | | | | | | + 0.10% PrimaryLogPG::OpContext::ReadFinisher::~ReadFinisher | |
| | | | | | | + 0.10% std::vector<std::pair<osd_reqid_t, unsigned long>, mempool::pool_allocator<(mempool::pool_index_t)14, std::pair<osd_reqid_t, unsigned long> > >::~vector | |
| | | | | | | + 0.10% std::__cxx11::list<std::function<void ()>, std::allocator<std::function<void ()> > >::~list() | |
| | | | | | | | + 0.10% std::__cxx11::_List_base<std::function<void ()>, std::allocator<std::function<void ()> > >::~_List_base() | |
| | | | | | | | + 0.10% std::__cxx11::_List_base<std::function<void ()>, std::allocator<std::function<void ()> > >::_M_clear() | |
| | | | | | | + 0.10% hobject_t::~hobject_t | |
| | | | | | | + 0.10% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string | |
| | | | | | | + 0.10% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_dispose | |
| | | | | | | + 0.10% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_is_local | |
| | | | | | | + 0.10% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_local_data | |
| | | | | | + 0.20% TrackedOp::put | |
| | | | | | + 0.10% std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >::reset | |
| | | | | | + 0.10% std::default_delete<PGTransaction>::operator() | |
| | | | | | + 0.10% free | |
| | | | | + 2.10% OSDService::send_message_osd_client | |
| | | | | | + 2.10% AsyncConnection::send_message | |
| | | | | | + 0.80% std::lock_guard<std::mutex>::lock_guard | |
| | | | | | | + 0.80% std::mutex::lock | |
| | | | | | | + 0.80% __gthread_mutex_lock | |
| | | | | | | + 0.70% __GI___pthread_mutex_lock | |
| | | | | | | + 0.60% __lll_lock_wait | |
| | | | | | + 0.60% std::__cxx11::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > >::emplace_back<ceph::buffer::list, Message*&>(ceph::buffer::list&&, Message*&) | |
| | | | | | | + 0.60% std::__cxx11::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > >::_M_insert<ceph::buffer::list, Message*&>(std::_List_iterator<std::pair<ceph::buffer::list, Message*> >, ceph::buffer::list&&, Message*&) | |
| | | | | | | + 0.60% std::__cxx11::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > >::_M_create_node<ceph::buffer::list, Message*&>(ceph::buffer::list&&, Message*&) | |
| | | | | | | + 0.30% std::allocator_traits<std::allocator<std::_List_node<std::pair<ceph::buffer::list, Message*> > > >::construct<std::pair<ceph::buffer::list, Message*>, ceph::buffer::list, Message*&>(std::allocator<std::_List_node<std::pair<ceph::buffer::list, Message*> > >&, std::pair<ceph::buffer::list, Message*>*, ceph::buffer::list&&, Message*&) | |
| | | | | | | | + 0.30% __gnu_cxx::new_allocator<std::_List_node<std::pair<ceph::buffer::list, Message*> > >::construct<std::pair<ceph::buffer::list, Message*>, ceph::buffer::list, Message*&>(std::pair<ceph::buffer::list, Message*>*, ceph::buffer::list&&, Message*&) | |
| | | | | | | | + 0.30% std::pair<ceph::buffer::list, Message*>::pair<ceph::buffer::list, Message*&, true>(ceph::buffer::list&&, Message*&) | |
| | | | | | | | + 0.30% ceph::buffer::list::list(ceph::buffer::list&&) | |
| | | | | | | | + 0.10% ceph::buffer::ptr::swap | |
| | | | | | | | + 0.10% ceph::buffer::list::clear | |
| | | | | | | | + 0.10% ceph::buffer::list::begin | |
| | | | | | | | + 0.10% ceph::buffer::list::iterator_impl<false>::iterator_impl | |
| | | | | | | + 0.30% std::__cxx11::_List_base<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > >::_M_get_node | |
| | | | | | | + 0.30% std::allocator_traits<std::allocator<std::_List_node<std::pair<ceph::buffer::list, Message*> > > >::allocate | |
| | | | | | | + 0.30% __gnu_cxx::new_allocator<std::_List_node<std::pair<ceph::buffer::list, Message*> > >::allocate | |
| | | | | | | + 0.30% operator new(unsigned long) | |
| | | | | | | + 0.30% malloc | |
| | | | | | | + 0.10% ??? | |
| | | | | | | + 0.10% ??? | |
| | | | | | + 0.30% EventCenter::dispatch_event_external | |
| | | | | | | + 0.20% std::mutex::lock | |
| | | | | | | | + 0.20% __gthread_mutex_lock | |
| | | | | | | | + 0.20% __GI___pthread_mutex_lock | |
| | | | | | | | + 0.10% __lll_lock_wait | |
| | | | | | | + 0.10% std::deque<EventCallback*, std::allocator<EventCallback*> >::push_back | |
| | | | | | | + 0.10% std::allocator_traits<std::allocator<EventCallback*> >::construct<EventCallback*, EventCallback* const&> | |
| | | | | | | + 0.10% __gnu_cxx::new_allocator<EventCallback*>::construct<EventCallback*, EventCallback* const&> | |
| | | | | | + 0.20% PerfCounters::inc | |
| | | | | | + 0.10% std::map<int, std::__cxx11::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::__cxx11::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > > > >::operator[](int&&) | |
| | | | | | | + 0.10% std::map<int, std::__cxx11::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::__cxx11::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > > > >::lower_bound | |
| | | | | | | + 0.10% std::_Rb_tree<int, std::pair<int const, std::__cxx11::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > >, std::_Select1st<std::pair<int const, std::__cxx11::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::__cxx11::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > > > >::lower_bound | |
| | | | | | | + 0.10% std::_Rb_tree<int, std::pair<int const, std::__cxx11::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > >, std::_Select1st<std::pair<int const, std::__cxx11::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::__cxx11::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > > > >::_M_lower_bound | |
| | | | | | + 0.10% std::lock_guard<std::mutex>::~lock_guard | |
| | | | | | + 0.10% std::mutex::unlock | |
| | | | | | + 0.10% __gthread_mutex_unlock | |
| | | | | | + 0.10% __GI___pthread_mutex_unlock | |
| | | | | | + 0.10% __pthread_mutex_unlock_usercnt | |
| | | | | + 1.00% PrimaryLogPG::log_op_stats | |
| | | | | | + 0.30% PerfCounters::hinc | |
| | | | | | | + 0.10% PerfHistogram<2>::inc<long, long> | |
| | | | | | | + 0.10% PerfHistogram<2>::get_raw_index_for_value<long, long> | |
| | | | | | | + 0.10% PerfHistogram<2>::get_raw_index_internal<0, long (*)(long, PerfHistogramCommon::axis_config_d const&), long> | |
| | | | | | | + 0.10% PerfHistogramCommon::get_bucket_for_axis | |
| | | | | | | + 0.10% get_quants | |
| | | | | | + 0.20% operator-= | |
| | | | | | + 0.20% PerfCounters::inc | |
| | | | | | | + 0.10% std::__atomic_base<unsigned long>::operator+= | |
| | | | | | + 0.10% ceph_clock_now | |
| | | | | | | + 0.10% __GI___clock_gettime | |
| | | | | | | + 0.10% clock_gettime | |
| | | | | | | + 0.10% ??? | |
| | | | | | + 0.10% PerfCounters::tinc | |
| | | | | | | + 0.10% std::__atomic_base<unsigned long>::operator+= | |
| | | | | | + 0.10% OpRequest::may_read | |
| | | | | | + 0.10% OpRequest::need_read_cap | |
| | | | | + 0.60% MOSDOpReply::claim_op_out_data | |
| | | | | + 0.60% ceph::buffer::list::claim | |
| | | | | + 0.60% ceph::buffer::list::clear | |
| | | | | + 0.30% std::__cxx11::list<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::clear | |
| | | | | | + 0.30% std::__cxx11::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | | + 0.20% std::allocator_traits<std::allocator<std::_List_node<ceph::buffer::ptr> > >::destroy<ceph::buffer::ptr> | |
| | | | | | | + 0.20% __gnu_cxx::new_allocator<std::_List_node<ceph::buffer::ptr> >::destroy<ceph::buffer::ptr> | |
| | | | | | | + 0.20% ceph::buffer::ptr::~ptr | |
| | | | | | | + 0.20% ceph::buffer::ptr::release | |
| | | | | | + 0.10% std::__cxx11::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_put_node | |
| | | | | | + 0.10% std::allocator_traits<std::allocator<std::_List_node<ceph::buffer::ptr> > >::deallocate | |
| | | | | | + 0.10% __gnu_cxx::new_allocator<std::_List_node<ceph::buffer::ptr> >::deallocate | |
| | | | | | + 0.10% free | |
| | | | | + 0.10% ceph::buffer::ptr::~ptr | |
| | | | | | + 0.10% ceph::buffer::ptr::release | |
| | | | | + 0.10% ceph::buffer::ptr::operator=(ceph::buffer::ptr&&) | |
| | | | + 10.40% intrusive_ptr_release | |
| | | | | + 9.40% OpTracker::unregister_inflight_op | |
| | | | | | + 4.20% OpHistory::insert | |
| | | | | | | + 2.40% TrackedOp::get_duration | |
| | | | | | | | + 1.00% Mutex::Locker::Locker | |
| | | | | | | | | + 1.00% Mutex::Lock | |
| | | | | | | | | + 0.60% Mutex::_will_lock | |
| | | | | | | | | | + 0.60% lockdep_will_lock | |
| | | | | | | | | | + 0.20% __GI___pthread_mutex_unlock | |
| | | | | | | | | | | + 0.20% __pthread_mutex_unlock_usercnt | |
| | | | | | | | | | + 0.10% std::_Rb_tree_iterator<std::pair<int const, ceph::BackTrace*> >::operator++ | |
| | | | | | | | | + 0.30% Mutex::TryLock | |
| | | | | | | | | | + 0.30% Mutex::_locked | |
| | | | | | | | | | + 0.30% lockdep_locked | |
| | | | | | | | | | + 0.20% std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::operator[] | |
| | | | | | | | | | | + 0.20% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<int const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<int const, ceph::BackTrace*> >, std::piecewise_construct_t const&, std::tuple<int const&>&&, std::tuple<>&&) | |
| | | | | | | | | | | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_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% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_get_insert_hint_unique_pos | |
| | | | | | | | | | | + 0.10% std::_Rb_tree_iterator<std::pair<int const, ceph::BackTrace*> >::operator-- | |
| | | | | | | | | | | + 0.10% ??? | |
| | | | | | | | | | + 0.10% __GI___pthread_mutex_lock | |
| | | | | | | | | + 0.10% __GI___pthread_mutex_lock | |
| | | | | | | | + 0.90% Mutex::Locker::~Locker | |
| | | | | | | | | + 0.90% Mutex::Unlock | |
| | | | | | | | | + 0.90% Mutex::_will_unlock | |
| | | | | | | | | + 0.90% lockdep_will_unlock | |
| | | | | | | | | + 0.30% std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::erase | |
| | | | | | | | | | + 0.30% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::erase | |
| | | | | | | | | | + 0.30% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_erase_aux | |
| | | | | | | | | | + 0.30% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_erase_aux | |
| | | | | | | | | | + 0.30% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_drop_node | |
| | | | | | | | | | + 0.30% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_put_node | |
| | | | | | | | | | + 0.30% std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<int const, ceph::BackTrace*> > > >::deallocate | |
| | | | | | | | | | + 0.30% __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<int const, ceph::BackTrace*> > >::deallocate | |
| | | | | | | | | | + 0.30% free | |
| | | | | | | | | + 0.10% std::unordered_map<unsigned long, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > > >::operator[] | |
| | | | | | | | | | + 0.10% std::__detail::_Map_base<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true>, true>::operator[] | |
| | | | | | | | | | + 0.10% std::_Hashtable<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_find_node | |
| | | | | | | | | | + 0.10% std::_Hashtable<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_find_before_node | |
| | | | | | | | | + 0.10% std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::operator[] | |
| | | | | | | | | | + 0.10% std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::lower_bound | |
| | | | | | | | | | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::lower_bound | |
| | | | | | | | | | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_lower_bound | |
| | | | | | | | | + 0.10% ceph::logging::SubsystemMap::should_gather | |
| | | | | | | | | | + 0.10% std::vector<ceph::logging::Subsystem, std::allocator<ceph::logging::Subsystem> >::size | |
| | | | | | | | | + 0.10% __GI___pthread_mutex_unlock | |
| | | | | | | | | | + 0.10% __pthread_mutex_unlock_usercnt | |
| | | | | | | | | + 0.10% __GI___pthread_mutex_lock | |
| | | | | | | | + 0.30% TrackedOp::Event::compare | |
| | | | | | | | + 0.10% operator- | |
| | | | | | | + 0.70% Mutex::Locker::~Locker | |
| | | | | | | | + 0.70% Mutex::Unlock | |
| | | | | | | | + 0.60% Mutex::_will_unlock | |
| | | | | | | | + 0.60% lockdep_will_unlock | |
| | | | | | | | + 0.20% std::unordered_map<unsigned long, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > > >::operator[] | |
| | | | | | | | | + 0.10% std::__detail::_Map_base<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true>, true>::operator[] | |
| | | | | | | | | + 0.10% std::_Hashtable<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_find_node | |
| | | | | | | | | + 0.10% std::_Hashtable<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_find_before_node | |
| | | | | | | | + 0.20% std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::erase | |
| | | | | | | | | + 0.20% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::erase | |
| | | | | | | | | + 0.20% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_erase_aux | |
| | | | | | | | | + 0.20% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_erase_aux | |
| | | | | | | | | + 0.10% std::_Rb_tree_rebalance_for_erase(std::_Rb_tree_node_base*, std::_Rb_tree_node_base&) | |
| | | | | | | | | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_drop_node | |
| | | | | | | | | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_put_node | |
| | | | | | | | | + 0.10% std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<int const, ceph::BackTrace*> > > >::deallocate | |
| | | | | | | | | + 0.10% __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<int const, ceph::BackTrace*> > >::deallocate | |
| | | | | | | | | + 0.10% free | |
| | | | | | | | + 0.10% __GI___pthread_mutex_unlock | |
| | | | | | | | + 0.10% __pthread_mutex_unlock_usercnt | |
| | | | | | | + 0.40% Mutex::Locker::Locker | |
| | | | | | | | + 0.40% Mutex::Lock | |
| | | | | | | | + 0.30% Mutex::_will_lock | |
| | | | | | | | | + 0.30% lockdep_will_lock | |
| | | | | | | | | + 0.20% std::unordered_map<unsigned long, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > > >::operator[] | |
| | | | | | | | | + 0.20% std::__detail::_Map_base<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true>, true>::operator[] | |
| | | | | | | | | + 0.10% std::_Hashtable<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_find_node | |
| | | | | | | | | + 0.10% std::_Hashtable<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_find_before_node | |
| | | | | | | | + 0.10% Mutex::TryLock | |
| | | | | | | | + 0.10% Mutex::_locked | |
| | | | | | | | + 0.10% lockdep_locked | |
| | | | | | | | + 0.10% __GI___pthread_mutex_unlock | |
| | | | | | | | + 0.10% __pthread_mutex_unlock_usercnt | |
| | | | | | | + 0.30% std::set<std::pair<utime_t, boost::intrusive_ptr<TrackedOp> >, std::less<std::pair<utime_t, boost::intrusive_ptr<TrackedOp> > >, std::allocator<std::pair<utime_t, boost::intrusive_ptr<TrackedOp> > > >::insert(std::pair<utime_t, boost::intrusive_ptr<TrackedOp> >&&) | |
| | | | | | | | + 0.20% std::_Rb_tree<std::pair<utime_t, boost::intrusive_ptr<TrackedOp> >, std::pair<utime_t, boost::intrusive_ptr<TrackedOp> >, std::_Identity<std::pair<utime_t, boost::intrusive_ptr<TrackedOp> > >, std::less<std::pair<utime_t, boost::intrusive_ptr<TrackedOp> > >, std::allocator<std::pair<utime_t, boost::intrusive_ptr<TrackedOp> > > >::_M_insert_unique<std::pair<utime_t, boost::intrusive_ptr<TrackedOp> > >(std::pair<utime_t, boost::intrusive_ptr<TrackedOp> >&&) | |
| | | | | | | | + 0.20% std::_Rb_tree<std::pair<utime_t, boost::intrusive_ptr<TrackedOp> >, std::pair<utime_t, boost::intrusive_ptr<TrackedOp> >, std::_Identity<std::pair<utime_t, boost::intrusive_ptr<TrackedOp> > >, std::less<std::pair<utime_t, boost::intrusive_ptr<TrackedOp> > >, std::allocator<std::pair<utime_t, boost::intrusive_ptr<TrackedOp> > > >::_M_get_insert_unique_pos | |
| | | | | | | | + 0.20% std::less<std::pair<utime_t, boost::intrusive_ptr<TrackedOp> > >::operator() | |
| | | | | | | | + 0.20% std::operator< <utime_t, boost::intrusive_ptr<TrackedOp> > | |
| | | | | | | | + 0.20% operator< | |
| | | | | | | + 0.20% std::set<std::pair<double, boost::intrusive_ptr<TrackedOp> >, std::less<std::pair<double, boost::intrusive_ptr<TrackedOp> > >, std::allocator<std::pair<double, boost::intrusive_ptr<TrackedOp> > > >::insert(std::pair<double, boost::intrusive_ptr<TrackedOp> >&&) | |
| | | | | | | | + 0.20% std::_Rb_tree<std::pair<double, boost::intrusive_ptr<TrackedOp> >, std::pair<double, boost::intrusive_ptr<TrackedOp> >, std::_Identity<std::pair<double, boost::intrusive_ptr<TrackedOp> > >, std::less<std::pair<double, boost::intrusive_ptr<TrackedOp> > >, std::allocator<std::pair<double, boost::intrusive_ptr<TrackedOp> > > >::_M_insert_unique<std::pair<double, boost::intrusive_ptr<TrackedOp> > >(std::pair<double, boost::intrusive_ptr<TrackedOp> >&&) | |
| | | | | | | | + 0.10% std::_Rb_tree<std::pair<double, boost::intrusive_ptr<TrackedOp> >, std::pair<double, boost::intrusive_ptr<TrackedOp> >, std::_Identity<std::pair<double, boost::intrusive_ptr<TrackedOp> > >, std::less<std::pair<double, boost::intrusive_ptr<TrackedOp> > >, std::allocator<std::pair<double, boost::intrusive_ptr<TrackedOp> > > >::_M_insert_<std::pair<double, boost::intrusive_ptr<TrackedOp> >, std::_Rb_tree<std::pair<double, boost::intrusive_ptr<TrackedOp> >, std::pair<double, boost::intrusive_ptr<TrackedOp> >, std::_Identity<std::pair<double, boost::intrusive_ptr<TrackedOp> > >, std::less<std::pair<double, boost::intrusive_ptr<TrackedOp> > >, std::allocator<std::pair<double, boost::intrusive_ptr<TrackedOp> > > >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<double, boost::intrusive_ptr<TrackedOp> >&&, std::_Rb_tree<std::pair<double, boost::intrusive_ptr<TrackedOp> >, std::pair<double, boost::intrusive_ptr<TrackedOp> >, std::_Identity<std::pair<double, boost::intrusive_ptr<TrackedOp> > >, std::less<std::pair<double, boost::intrusive_ptr<TrackedOp> > >, std::allocator<std::pair<double, boost::intrusive_ptr<TrackedOp> > > >::_Alloc_node&) | |
| | | | | | | | + 0.10% std::_Rb_tree<std::pair<double, boost::intrusive_ptr<TrackedOp> >, std::pair<double, boost::intrusive_ptr<TrackedOp> >, std::_Identity<std::pair<double, boost::intrusive_ptr<TrackedOp> > >, std::less<std::pair<double, boost::intrusive_ptr<TrackedOp> > >, std::allocator<std::pair<double, boost::intrusive_ptr<TrackedOp> > > >::_Alloc_node::operator()<std::pair<double, boost::intrusive_ptr<TrackedOp> > >(std::pair<double, boost::intrusive_ptr<TrackedOp> >&&) const | |
| | | | | | | | + 0.10% std::_Rb_tree<std::pair<double, boost::intrusive_ptr<TrackedOp> >, std::pair<double, boost::intrusive_ptr<TrackedOp> >, std::_Identity<std::pair<double, boost::intrusive_ptr<TrackedOp> > >, std::less<std::pair<double, boost::intrusive_ptr<TrackedOp> > >, std::allocator<std::pair<double, boost::intrusive_ptr<TrackedOp> > > >::_M_create_node<std::pair<double, boost::intrusive_ptr<TrackedOp> > >(std::pair<double, boost::intrusive_ptr<TrackedOp> >&&) | |
| | | | | | | | + 0.10% std::_Rb_tree<std::pair<double, boost::intrusive_ptr<TrackedOp> >, std::pair<double, boost::intrusive_ptr<TrackedOp> >, std::_Identity<std::pair<double, boost::intrusive_ptr<TrackedOp> > >, std::less<std::pair<double, boost::intrusive_ptr<TrackedOp> > >, std::allocator<std::pair<double, boost::intrusive_ptr<TrackedOp> > > >::_M_get_node | |
| | | | | | | | + 0.10% std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<double, boost::intrusive_ptr<TrackedOp> > > > >::allocate | |
| | | | | | | | + 0.10% __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<double, boost::intrusive_ptr<TrackedOp> > > >::allocate | |
| | | | | | | | + 0.10% operator new(unsigned long) | |
| | | | | | | | + 0.10% malloc | |
| | | | | | | + 0.20% OpHistory::cleanup | |
| | | | | | | + 0.10% std::set<std::pair<utime_t, boost::intrusive_ptr<TrackedOp> >, std::less<std::pair<utime_t, boost::intrusive_ptr<TrackedOp> > >, std::allocator<std::pair<utime_t, boost::intrusive_ptr<TrackedOp> > > >::erase | |
| | | | | | | + 0.10% operator- | |
| | | | | | | + 0.10% utime_t::nsec | |
| | | | | | + 1.40% RWLock::RLocker::RLocker | |
| | | | | | | + 1.40% RWLock::get_read | |
| | | | | | | + 1.20% __GI___pthread_rwlock_rdlock | |
| | | | | | | + 0.20% lockdep_locked | |
| | | | | | | + 0.10% std::unordered_map<unsigned long, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > > >::operator[] | |
| | | | | | | | + 0.10% std::__detail::_Map_base<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true>, true>::operator[] | |
| | | | | | | | + 0.10% std::_Hashtable<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_find_node | |
| | | | | | | | + 0.10% std::_Hashtable<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_find_before_node | |
| | | | | | | + 0.10% __GI___pthread_mutex_lock | |
| | | | | | | + 0.10% __lll_lock_wait | |
| | | | | | + 1.30% boost::intrusive_ptr<TrackedOp>::~intrusive_ptr | |
| | | | | | | + 1.30% intrusive_ptr_release | |
| | | | | | | + 1.30% TrackedOp::put | |
| | | | | | | + 1.30% OpRequest::~OpRequest | |
| | | | | | | + 1.30% OpRequest::~OpRequest | |
| | | | | | | + 1.00% TrackedOp::~TrackedOp | |
| | | | | | | | + 0.70% Mutex::~Mutex | |
| | | | | | | | | + 0.70% lockdep_unregister | |
| | | | | | | | | + 0.50% std::map<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<int>, std::allocator<std::pair<int const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::find | |
| | | | | | | | | | + 0.50% std::_Rb_tree<int, std::pair<int const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::_Select1st<std::pair<int const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<int>, std::allocator<std::pair<int const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::find | |
| | | | | | | | | | + 0.50% std::_Rb_tree<int, std::pair<int const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::_Select1st<std::pair<int const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<int>, std::allocator<std::pair<int const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::_M_lower_bound | |
| | | | | | | | | + 0.20% std::map<int, int, std::less<int>, std::allocator<std::pair<int const, int> > >::operator[] | |
| | | | | | | | | + 0.20% std::map<int, int, std::less<int>, std::allocator<std::pair<int const, int> > >::lower_bound | |
| | | | | | | | | + 0.20% std::_Rb_tree<int, std::pair<int const, int>, std::_Select1st<std::pair<int const, int> >, std::less<int>, std::allocator<std::pair<int const, int> > >::lower_bound | |
| | | | | | | | | + 0.20% std::_Rb_tree<int, std::pair<int const, int>, std::_Select1st<std::pair<int const, int> >, std::less<int>, std::allocator<std::pair<int const, int> > >::_M_lower_bound | |
| | | | | | | | + 0.20% std::vector<TrackedOp::Event, std::allocator<TrackedOp::Event> >::~vector | |
| | | | | | | | | + 0.20% std::_Vector_base<TrackedOp::Event, std::allocator<TrackedOp::Event> >::~_Vector_base | |
| | | | | | | | | + 0.20% std::_Vector_base<TrackedOp::Event, std::allocator<TrackedOp::Event> >::_M_deallocate | |
| | | | | | | | | + 0.20% std::allocator_traits<std::allocator<TrackedOp::Event> >::deallocate | |
| | | | | | | | | + 0.20% __gnu_cxx::new_allocator<TrackedOp::Event>::deallocate | |
| | | | | | | | | + 0.20% free | |
| | | | | | | | | + 0.20% ??? | |
| | | | | | | | | + 0.10% __GI___pthread_mutex_lock | |
| | | | | | | | | + 0.10% ??? | |
| | | | | | | | + 0.10% boost::intrusive::list_base_hook<void, void, void>::~list_base_hook | |
| | | | | | | + 0.30% RefCountedObject::put | |
| | | | | | | + 0.30% MOSDOp::~MOSDOp | |
| | | | | | | + 0.30% MOSDOp::~MOSDOp | |
| | | | | | | + 0.20% std::vector<OSDOp, std::allocator<OSDOp> >::~vector | |
| | | | | | | | + 0.20% std::_Vector_base<OSDOp, std::allocator<OSDOp> >::~_Vector_base | |
| | | | | | | | + 0.20% std::_Vector_base<OSDOp, std::allocator<OSDOp> >::_M_deallocate | |
| | | | | | | | + 0.20% std::allocator_traits<std::allocator<OSDOp> >::deallocate | |
| | | | | | | | + 0.20% __gnu_cxx::new_allocator<OSDOp>::deallocate | |
| | | | | | | | + 0.20% free | |
| | | | | | | + 0.10% MOSDFastDispatchOp::~MOSDFastDispatchOp | |
| | | | | | | + 0.10% Message::~Message | |
| | | | | | + 1.10% OpRequest::_unregistered | |
| | | | | | | + 0.60% Message::clear_payload | |
| | | | | | | | + 0.30% ceph::buffer::list::clear | |
| | | | | | | | | + 0.10% ceph::buffer::ptr::~ptr | |
| | | | | | | | | | + 0.10% ceph::buffer::ptr::release | |
| | | | | | | | | + 0.10% ceph::buffer::list::begin | |
| | | | | | | | | + 0.10% ceph::buffer::list::iterator_impl<false>::advance | |
| | | | | | | | + 0.10% Throttle::put | |
| | | | | | | + 0.50% Message::clear_data | |
| | | | | | | + 0.30% MOSDOp::clear_buffers | |
| | | | | | | | + 0.10% OSDOp::clear_data | |
| | | | | | | + 0.10% ceph::buffer::list::clear | |
| | | | | | | + 0.10% Throttle::put | |
| | | | | | | + 0.10% std::unique_lock<std::mutex>::~unique_lock | |
| | | | | | + 0.60% Mutex::Locker::Locker | |
| | | | | | | + 0.60% Mutex::Lock | |
| | | | | | | + 0.30% Mutex::TryLock | |
| | | | | | | | + 0.30% Mutex::_locked | |
| | | | | | | | + 0.30% lockdep_locked | |
| | | | | | | | + 0.10% std::unordered_map<unsigned long, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > > >::operator[] | |
| | | | | | | | | + 0.10% std::__detail::_Map_base<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true>, true>::operator[] | |
| | | | | | | | | + 0.10% std::_Hashtable<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_find_node | |
| | | | | | | | | + 0.10% std::_Hashtable<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_find_before_node | |
| | | | | | | | + 0.10% lockdep_force_backtrace | |
| | | | | | | | + 0.10% __GI___pthread_mutex_lock | |
| | | | | | | + 0.10% Mutex::_will_lock | |
| | | | | | | + 0.10% lockdep_will_lock | |
| | | | | | | + 0.10% std::unordered_map<unsigned long, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > > >::operator[] | |
| | | | | | | + 0.10% std::__detail::_Map_base<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true>, true>::operator[] | |
| | | | | | | + 0.10% std::_Hashtable<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_find_node | |
| | | | | | | + 0.10% std::_Hashtable<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_find_before_node | |
| | | | | | + 0.30% Mutex::Locker::~Locker | |
| | | | | | | + 0.30% Mutex::Unlock | |
| | | | | | | + 0.30% Mutex::_will_unlock | |
| | | | | | | + 0.30% lockdep_will_unlock | |
| | | | | | | + 0.10% std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::erase | |
| | | | | | | | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::erase | |
| | | | | | | | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_erase_aux | |
| | | | | | | | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_erase_aux | |
| | | | | | | | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_drop_node | |
| | | | | | | | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_put_node | |
| | | | | | | | + 0.10% std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<int const, ceph::BackTrace*> > > >::deallocate | |
| | | | | | | | + 0.10% __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<int const, ceph::BackTrace*> > >::deallocate | |
| | | | | | | | + 0.10% free | |
| | | | | | | + 0.10% __GI___pthread_mutex_unlock | |
| | | | | | | | + 0.10% __pthread_mutex_unlock_usercnt | |
| | | | | | | + 0.10% __GI___pthread_mutex_lock | |
| | | | | | + 0.20% RWLock::RLocker::~RLocker | |
| | | | | | | + 0.20% RWLock::unlock | |
| | | | | | | + 0.10% std::__atomic_base<unsigned int>::operator-- | |
| | | | | | | | + 0.10% std::__atomic_base<unsigned int>::fetch_sub | |
| | | | | | | + 0.10% lockdep_will_unlock | |
| | | | | | | + 0.10% std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::erase | |
| | | | | | | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::erase | |
| | | | | | | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_erase_aux | |
| | | | | | | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_erase_aux | |
| | | | | | | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_drop_node | |
| | | | | | | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_put_node | |
| | | | | | | + 0.10% std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<int const, ceph::BackTrace*> > > >::deallocate | |
| | | | | | | + 0.10% __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<int const, ceph::BackTrace*> > >::deallocate | |
| | | | | | | + 0.10% free | |
| | | | | | | + 0.10% ??? | |
| | | | | | + 0.10% std::__atomic_base<int>::operator= | |
| | | | | | | + 0.10% std::__atomic_base<int>::store | |
| | | | | | + 0.10% ceph_clock_now | |
| | | | | | + 0.10% __GI___clock_gettime | |
| | | | | | + 0.10% clock_gettime | |
| | | | | | + 0.10% ??? | |
| | | | | + 1.00% TrackedOp::put | |
| | | | | + 0.90% TrackedOp::mark_event | |
| | | | | + 0.40% Mutex::Locker::~Locker | |
| | | | | | + 0.40% Mutex::Unlock | |
| | | | | | + 0.40% Mutex::_will_unlock | |
| | | | | | + 0.40% lockdep_will_unlock | |
| | | | | | + 0.30% std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::erase | |
| | | | | | | + 0.30% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::erase | |
| | | | | | | + 0.30% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_erase_aux | |
| | | | | | | + 0.30% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_erase_aux | |
| | | | | | | + 0.30% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_drop_node | |
| | | | | | | + 0.30% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_put_node | |
| | | | | | | + 0.30% std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<int const, ceph::BackTrace*> > > >::deallocate | |
| | | | | | | + 0.30% __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<int const, ceph::BackTrace*> > >::deallocate | |
| | | | | | | + 0.30% free | |
| | | | | | + 0.10% std::unordered_map<unsigned long, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > > >::operator[] | |
| | | | | | + 0.10% std::__detail::_Map_base<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true>, true>::operator[] | |
| | | | | | + 0.10% std::_Hashtable<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_find_node | |
| | | | | | + 0.10% std::_Hashtable<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_find_before_node | |
| | | | | + 0.40% Mutex::Locker::Locker | |
| | | | | + 0.40% Mutex::Lock | |
| | | | | + 0.10% __GI___pthread_mutex_lock | |
| | | | | + 0.10% Mutex::_will_lock | |
| | | | | | + 0.10% lockdep_will_lock | |
| | | | | | + 0.10% __GI___pthread_mutex_lock | |
| | | | | + 0.10% Mutex::TryLock | |
| | | | | + 0.10% Mutex::_locked | |
| | | | | + 0.10% lockdep_locked | |
| | | | | + 0.10% std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::operator[] | |
| | | | | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<int const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<int const, ceph::BackTrace*> >, std::piecewise_construct_t const&, std::tuple<int const&>&&, std::tuple<>&&) | |
| | | | | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_create_node<std::piecewise_construct_t const&, std::tuple<int const&>, std::tuple<> >(std::piecewise_construct_t const&, std::tuple<int const&>&&, std::tuple<>&&) | |
| | | | | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_get_node | |
| | | | | + 0.10% std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<int const, ceph::BackTrace*> > > >::allocate | |
| | | | | + 0.10% __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<int const, ceph::BackTrace*> > >::allocate | |
| | | | | + 0.10% operator new(unsigned long) | |
| | | | | + 0.10% malloc | |
| | | | + 2.70% PrimaryLogPG::prepare_transaction | |
| | | | | + 2.60% PrimaryLogPG::do_osd_ops | |
| | | | | + 1.20% md_config_t::get_val<bool> | |
| | | | | | + 1.10% md_config_t::get_val_generic | |
| | | | | | + 1.00% md_config_t::_get_val_generic | |
| | | | | | | + 0.60% std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::variant<boost::blank, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, long, double, bool, entity_addr_t, uuid_d>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, boost::variant<boost::blank, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, long, double, bool, entity_addr_t, uuid_d> > > >::at | |
| | | | | | | | + 0.60% std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::variant<boost::blank, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, long, double, bool, entity_addr_t, uuid_d>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, boost::variant<boost::blank, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, long, double, bool, entity_addr_t, uuid_d> > > >::lower_bound | |
| | | | | | | | + 0.60% std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, boost::variant<boost::blank, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, long, double, bool, entity_addr_t, uuid_d> >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, boost::variant<boost::blank, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, long, double, bool, entity_addr_t, uuid_d> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, boost::variant<boost::blank, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, long, double, bool, entity_addr_t, uuid_d> > > >::lower_bound | |
| | | | | | | | + 0.60% std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, boost::variant<boost::blank, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, long, double, bool, entity_addr_t, uuid_d> >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, boost::variant<boost::blank, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, long, double, bool, entity_addr_t, uuid_d> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, boost::variant<boost::blank, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, long, double, bool, entity_addr_t, uuid_d> > > >::_M_lower_bound | |
| | | | | | | | + 0.40% std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::operator() | |
| | | | | | | | + 0.40% std::operator< <char, std::char_traits<char>, std::allocator<char> > | |
| | | | | | | | + 0.40% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::compare | |
| | | | | | | | + 0.40% std::char_traits<char>::compare | |
| | | | | | | | + 0.40% __memcmp_sse4_1 | |
| | | | | | | + 0.30% ConfFile::normalize_key_name | |
| | | | | | | | + 0.30% ConfFile::trim_whitespace | |
| | | | | | | | + 0.20% isspace | |
| | | | | | | | + 0.10% strlen | |
| | | | | | | + 0.10% std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, Option const&, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, Option const&> > >::find | |
| | | | | | | + 0.10% std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, Option const&>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, Option const&> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, Option const&> > >::find | |
| | | | | | | + 0.10% std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, Option const&>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, Option const&> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, Option const&> > >::_M_lower_bound | |
| | | | | | + 0.10% Mutex::Locker::Locker | |
| | | | | | + 0.10% Mutex::Lock | |
| | | | | | + 0.10% __GI___pthread_mutex_lock | |
| | | | | + 0.30% std::map<int, std::unique_ptr<PrimaryLogPG::OpFinisher, std::default_delete<PrimaryLogPG::OpFinisher> >, std::less<int>, std::allocator<std::pair<int const, std::unique_ptr<PrimaryLogPG::OpFinisher, std::default_delete<PrimaryLogPG::OpFinisher> > > > >::find | |
| | | | | | + 0.30% std::_Rb_tree<int, std::pair<int const, std::unique_ptr<PrimaryLogPG::OpFinisher, std::default_delete<PrimaryLogPG::OpFinisher> > >, std::_Select1st<std::pair<int const, std::unique_ptr<PrimaryLogPG::OpFinisher, std::default_delete<PrimaryLogPG::OpFinisher> > > >, std::less<int>, std::allocator<std::pair<int const, std::unique_ptr<PrimaryLogPG::OpFinisher, std::default_delete<PrimaryLogPG::OpFinisher> > > > >::find | |
| | | | | | + 0.20% std::_Rb_tree<int, std::pair<int const, std::unique_ptr<PrimaryLogPG::OpFinisher, std::default_delete<PrimaryLogPG::OpFinisher> > >, std::_Select1st<std::pair<int const, std::unique_ptr<PrimaryLogPG::OpFinisher, std::default_delete<PrimaryLogPG::OpFinisher> > > >, std::less<int>, std::allocator<std::pair<int const, std::unique_ptr<PrimaryLogPG::OpFinisher, std::default_delete<PrimaryLogPG::OpFinisher> > > > >::_M_lower_bound | |
| | | | | | + 0.10% std::_Rb_tree<int, std::pair<int const, std::unique_ptr<PrimaryLogPG::OpFinisher, std::default_delete<PrimaryLogPG::OpFinisher> > >, std::_Select1st<std::pair<int const, std::unique_ptr<PrimaryLogPG::OpFinisher, std::default_delete<PrimaryLogPG::OpFinisher> > > >, std::less<int>, std::allocator<std::pair<int const, std::unique_ptr<PrimaryLogPG::OpFinisher, std::default_delete<PrimaryLogPG::OpFinisher> > > > >::_M_end | |
| | | | | + 0.20% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string | |
| | | | | | + 0.20% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_dispose | |
| | | | | | + 0.20% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_destroy | |
| | | | | | + 0.20% std::allocator_traits<std::allocator<char> >::deallocate | |
| | | | | | + 0.20% __gnu_cxx::new_allocator<char>::deallocate | |
| | | | | | + 0.20% free | |
| | | | | + 0.20% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string | |
| | | | | + 0.10% std::char_traits<char>::length | |
| | | | | | + 0.10% strlen | |
| | | | | + 0.10% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*> | |
| | | | | + 0.10% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct_aux<char const*> | |
| | | | | + 0.10% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*> | |
| | | | | + 0.10% operator new(unsigned long) | |
| | | | | + 0.10% malloc | |
| | | | | + 0.10% ??? | |
| | | | | + 0.10% ??? | |
| | | | | + 0.10% ??? | |
| | | | + 1.70% PrimaryLogPG::do_osd_op_effects | |
| | | | | + 1.50% Connection::get_priv | |
| | | | | | + 0.60% Mutex::Locker::~Locker | |
| | | | | | | + 0.60% Mutex::Unlock | |
| | | | | | | + 0.60% Mutex::_will_unlock | |
| | | | | | | + 0.60% lockdep_will_unlock | |
| | | | | | | + 0.40% std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::erase | |
| | | | | | | | + 0.40% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::erase | |
| | | | | | | | + 0.40% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_erase_aux | |
| | | | | | | | + 0.30% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_erase_aux | |
| | | | | | | | | + 0.20% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_drop_node | |
| | | | | | | | | | + 0.20% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_put_node | |
| | | | | | | | | | + 0.20% std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<int const, ceph::BackTrace*> > > >::deallocate | |
| | | | | | | | | | + 0.20% __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<int const, ceph::BackTrace*> > >::deallocate | |
| | | | | | | | | | + 0.10% operator delete(void*)@plt | |
| | | | | | | | | | + 0.10% free@plt | |
| | | | | | | | | + 0.10% std::_Rb_tree_rebalance_for_erase(std::_Rb_tree_node_base*, std::_Rb_tree_node_base&) | |
| | | | | | | | + 0.10% std::_Rb_tree_const_iterator<std::pair<int const, ceph::BackTrace*> >::operator++ | |
| | | | | | | | + 0.10% std::_Rb_tree_increment(std::_Rb_tree_node_base*) | |
| | | | | | | + 0.10% std::unordered_map<unsigned long, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > > >::operator[] | |
| | | | | | | | + 0.10% std::__detail::_Map_base<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true>, true>::operator[] | |
| | | | | | | | + 0.10% std::_Hashtable<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_find_node | |
| | | | | | | | + 0.10% std::_Hashtable<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_find_before_node | |
| | | | | | | + 0.10% std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::operator[] | |
| | | | | | | + 0.10% std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::lower_bound | |
| | | | | | | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::lower_bound | |
| | | | | | | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_lower_bound | |
| | | | | | + 0.60% Mutex::Locker::Locker | |
| | | | | | | + 0.60% Mutex::Lock | |
| | | | | | | + 0.30% Mutex::_will_lock | |
| | | | | | | | + 0.30% lockdep_will_lock | |
| | | | | | | | + 0.10% __GI___pthread_mutex_unlock | |
| | | | | | | | + 0.10% __pthread_mutex_unlock_usercnt | |
| | | | | | | + 0.20% __GI___pthread_mutex_lock | |
| | | | | | | | + 0.20% __lll_lock_wait | |
| | | | | | | + 0.10% Mutex::TryLock | |
| | | | | | | + 0.10% Mutex::_locked | |
| | | | | | | + 0.10% lockdep_locked | |
| | | | | | | + 0.10% __GI___pthread_mutex_lock | |
| | | | | | | + 0.10% __lll_lock_wait | |
| | | | | | + 0.30% RefCountedObject::get | |
| | | | | + 0.10% std::shared_ptr<ObjectContext>::~shared_ptr | |
| | | | | | + 0.10% std::__shared_ptr<ObjectContext, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr | |
| | | | | | + 0.10% std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count | |
| | | | | | + 0.10% std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release | |
| | | | | + 0.10% std::shared_ptr<ObjectContext>::shared_ptr | |
| | | | | + 0.10% std::__shared_ptr<ObjectContext, (__gnu_cxx::_Lock_policy)2>::__shared_ptr | |
| | | | | + 0.10% std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count | |
| | | | | + 0.10% std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_add_ref_copy | |
| | | | | + 0.10% __gnu_cxx::__atomic_add_dispatch | |
| | | | | + 0.10% __gnu_cxx::__atomic_add | |
| | | | + 1.30% PrimaryLogPG::OpContext::reset_obs | |
| | | | | + 0.70% ObjectState::ObjectState | |
| | | | | | + 0.60% object_info_t::object_info_t | |
| | | | | | + 0.20% object_manifest_t::object_manifest_t | |
| | | | | | | + 0.20% hobject_t::hobject_t | |
| | | | | | | + 0.10% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string | |
| | | | | | | + 0.10% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*> | |
| | | | | | | + 0.10% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct_aux<char*> | |
| | | | | | | + 0.10% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*> | |
| | | | | | + 0.20% hobject_t::hobject_t | |
| | | | | | | + 0.20% object_t::object_t | |
| | | | | | | + 0.20% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string | |
| | | | | | | + 0.20% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*> | |
| | | | | | | + 0.20% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct_aux<char*> | |
| | | | | | | + 0.20% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*> | |
| | | | | | | + 0.20% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_S_copy_chars | |
| | | | | | | + 0.20% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_S_copy | |
| | | | | | | + 0.20% std::char_traits<char>::copy | |
| | | | | | | + 0.20% __memcpy_avx_unaligned | |
| | | | | | + 0.10% interval_set<unsigned long, std::map<unsigned long, unsigned long, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > > >::interval_set | |
| | | | | | + 0.10% std::map<unsigned long, unsigned long, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > >::map | |
| | | | | | + 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> > >::_Rb_tree | |
| | | | | | + 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_copy | |
| | | | | | + 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_copy<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> > >::_Alloc_node> | |
| | | | | | + 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_copy<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> > >::_Alloc_node> | |
| | | | | | + 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_clone_node<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> > >::_Alloc_node> | |
| | | | | | + 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> > >::_Alloc_node::operator()<std::pair<unsigned long const, unsigned long> const&> | |
| | | | | | + 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_create_node<std::pair<unsigned long const, unsigned long> const&> | |
| | | | | | + 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_get_node | |
| | | | | | + 0.10% std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<unsigned long const, unsigned long> > > >::allocate | |
| | | | | | + 0.10% __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<unsigned long const, unsigned long> > >::allocate | |
| | | | | + 0.30% ObjectState::operator=(ObjectState&&) | |
| | | | | | + 0.30% object_info_t::operator=(object_info_t&&) | |
| | | | | | + 0.10% interval_set<unsigned long, std::map<unsigned long, unsigned long, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > > >::operator=(interval_set<unsigned long, std::map<unsigned long, unsigned long, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > > >&&) | |
| | | | | | + 0.10% std::map<unsigned long, unsigned long, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > >::operator=(std::map<unsigned long, unsigned long, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, 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> > >::operator=(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> > >&&) | |
| | | | | | + 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_move_assign | |
| | | | | | + 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> > >::clear | |
| | | | | | + 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_erase | |
| | | | | | + 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_drop_node | |
| | | | | | + 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_put_node | |
| | | | | | + 0.10% std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<unsigned long const, unsigned long> > > >::deallocate | |
| | | | | | + 0.10% __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<unsigned long const, unsigned long> > >::deallocate | |
| | | | | | + 0.10% free | |
| | | | | + 0.20% ObjectState::~ObjectState | |
| | | | | | + 0.10% object_info_t::~object_info_t | |
| | | | | | | + 0.10% interval_set<unsigned long, std::map<unsigned long, unsigned long, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > > >::~interval_set | |
| | | | | | | + 0.10% std::map<unsigned long, unsigned long, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > >::~map | |
| | | | | | | + 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> > >::~_Rb_tree | |
| | | | | | + 0.10% free | |
| | | | | + 0.10% SnapSet::operator= | |
| | | | + 1.10% MOSDOpReply::MOSDOpReply | |
| | | | | + 0.30% std::vector<OSDOp, std::allocator<OSDOp> >::vector | |
| | | | | | + 0.30% std::__uninitialized_copy_a<__gnu_cxx::__normal_iterator<OSDOp const*, std::vector<OSDOp, std::allocator<OSDOp> > >, OSDOp*, OSDOp> | |
| | | | | | + 0.30% std::uninitialized_copy<__gnu_cxx::__normal_iterator<OSDOp const*, std::vector<OSDOp, std::allocator<OSDOp> > >, OSDOp*> | |
| | | | | | + 0.30% std::__uninitialized_copy<false>::__uninit_copy<__gnu_cxx::__normal_iterator<OSDOp const*, std::vector<OSDOp, std::allocator<OSDOp> > >, OSDOp*> | |
| | | | | | + 0.30% std::_Construct<OSDOp, OSDOp const&> | |
| | | | | | + 0.30% OSDOp::OSDOp | |
| | | | | | + 0.30% ceph::buffer::list::list | |
| | | | | | + 0.30% std::__cxx11::list<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::list | |
| | | | | | + 0.30% std::__cxx11::list<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_initialize_dispatch<std::_List_const_iterator<ceph::buffer::ptr> > | |
| | | | | | + 0.10% std::__cxx11::list<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::push_back | |
| | | | | | + 0.10% std::__cxx11::list<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_insert<ceph::buffer::ptr const&> | |
| | | | | | + 0.10% std::__cxx11::list<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_create_node<ceph::buffer::ptr const&> | |
| | | | | | + 0.10% std::allocator_traits<std::allocator<std::_List_node<ceph::buffer::ptr> > >::construct<ceph::buffer::ptr, ceph::buffer::ptr const&> | |
| | | | | | + 0.10% __gnu_cxx::new_allocator<std::_List_node<ceph::buffer::ptr> >::construct<ceph::buffer::ptr, ceph::buffer::ptr const&> | |
| | | | | | + 0.10% ceph::buffer::ptr::ptr | |
| | | | | + 0.30% object_t::object_t | |
| | | | | | + 0.30% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string | |
| | | | | | + 0.20% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*> | |
| | | | | | + 0.20% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct_aux<char*> | |
| | | | | | + 0.20% std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*> | |
| | | | | | + 0.20% operator new(unsigned long) | |
| | | | | | + 0.20% malloc | |
| | | | | + 0.20% request_redirect_t::request_redirect_t | |
| | | | | | + 0.20% ceph::buffer::list::list | |
| | | | | | + 0.10% ceph::buffer::list::iterator_impl<false>::advance | |
| | | | | + 0.10% Message::Message | |
| | | | | + 0.10% ceph::buffer::list::list | |
| | | | | + 0.10% ceph::buffer::list::iterator_impl<false>::iterator_impl | |
| | | | + 0.90% ObjectContext::ondisk_read_lock | |
| | | | | + 0.40% Mutex::Lock | |
| | | | | | + 0.20% Mutex::_will_lock | |
| | | | | | | + 0.20% lockdep_will_lock | |
| | | | | | | + 0.10% __GI___pthread_mutex_unlock | |
| | | | | | | | + 0.10% __pthread_mutex_unlock_usercnt | |
| | | | | | | + 0.10% __GI___pthread_mutex_lock | |
| | | | | | + 0.20% Mutex::TryLock | |
| | | | | | + 0.20% Mutex::_locked | |
| | | | | | + 0.20% lockdep_locked | |
| | | | | | + 0.10% std::unordered_map<unsigned long, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > > >::operator[] | |
| | | | | | | + 0.10% std::__detail::_Map_base<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true>, true>::operator[] | |
| | | | | | | + 0.10% std::_Hashtable<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_find_node | |
| | | | | | | + 0.10% std::_Hashtable<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_find_before_node | |
| | | | | | + 0.10% __GI___pthread_mutex_unlock | |
| | | | | | + 0.10% __pthread_mutex_unlock_usercnt | |
| | | | | + 0.30% Mutex::Unlock | |
| | | | | + 0.20% Mutex::_will_unlock | |
| | | | | + 0.20% lockdep_will_unlock | |
| | | | | + 0.20% __GI___pthread_mutex_lock | |
| | | | + 0.60% ObjectContext::ondisk_read_unlock | |
| | | | | + 0.60% Mutex::Lock | |
| | | | | + 0.40% Mutex::_will_lock | |
| | | | | | + 0.40% lockdep_will_lock | |
| | | | | | + 0.20% __GI___pthread_mutex_lock | |
| | | | | | | + 0.20% __lll_lock_wait | |
| | | | | | + 0.10% std::unordered_map<unsigned long, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > > >::operator[] | |
| | | | | | | + 0.10% std::__detail::_Map_base<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true>, true>::operator[] | |
| | | | | | + 0.10% __pthread_self | |
| | | | | + 0.10% __GI___pthread_mutex_lock | |
| | | | | + 0.10% Mutex::TryLock | |
| | | | | + 0.10% Mutex::_locked | |
| | | | | + 0.10% lockdep_locked | |
| | | | | + 0.10% std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::operator[] | |
| | | | | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<int const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<int const, ceph::BackTrace*> >, std::piecewise_construct_t const&, std::tuple<int const&>&&, std::tuple<>&&) | |
| | | | | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_create_node<std::piecewise_construct_t const&, std::tuple<int const&>, std::tuple<> >(std::piecewise_construct_t const&, std::tuple<int const&>&&, std::tuple<>&&) | |
| | | | | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_get_node | |
| | | | | + 0.10% std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<int const, ceph::BackTrace*> > > >::allocate | |
| | | | | + 0.10% __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<int const, ceph::BackTrace*> > >::allocate | |
| | | | | + 0.10% operator new(unsigned long) | |
| | | | | + 0.10% malloc | |
| | | | + 0.20% std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >::reset | |
| | | | | + 0.20% std::default_delete<PGTransaction>::operator() | |
| | | | | + 0.10% free | |
| | | | | + 0.10% PGTransaction::~PGTransaction | |
| | | | | + 0.10% std::map<hobject_t, PGTransaction::ObjectOperation, std::less<hobject_t>, std::allocator<std::pair<hobject_t const, PGTransaction::ObjectOperation> > >::~map | |
| | | | + 0.20% free | |
| | | | + 0.20% Mutex::Unlock | |
| | | | | + 0.10% __GI___pthread_mutex_unlock | |
| | | | | | + 0.10% __pthread_mutex_unlock_usercnt | |
| | | | | + 0.10% Mutex::_will_unlock | |
| | | | | + 0.10% lockdep_will_unlock | |
| | | | | + 0.10% std::unordered_map<unsigned long, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > > >::operator[] | |
| | | | | + 0.10% std::__detail::_Map_base<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true>, true>::operator[] | |
| | | | | + 0.10% std::_Hashtable<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_bucket_index | |
| | | | | + 0.10% std::__detail::_Hash_code_base<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::__detail::_Select1st, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, false>::_M_bucket_index | |
| | | | | + 0.10% std::__detail::_Mod_range_hashing::operator() | |
| | | | + 0.10% std::shared_ptr<ObjectContext>::shared_ptr | |
| | | | | + 0.10% std::__shared_ptr<ObjectContext, (__gnu_cxx::_Lock_policy)2>::__shared_ptr | |
| | | | + 0.10% operator new(unsigned long) | |
| | | | | + 0.10% malloc | |
| | | | + 0.10% boost::intrusive_ptr<OpRequest>::intrusive_ptr | |
| | | | + 0.10% intrusive_ptr_add_ref | |
| | | | + 0.10% TrackedOp::get | |
| | | | + 0.10% std::__atomic_base<int>::operator++ | |
| | | + 8.50% PG::lock | |
| | | | + 8.40% Mutex::Lock | |
| | | | + 8.20% __GI___pthread_mutex_lock | |
| | | | | + 8.20% __lll_lock_wait | |
| | | | + 0.10% Mutex::_will_lock | |
| | | | | + 0.10% lockdep_will_lock | |
| | | | | + 0.10% __GI___pthread_mutex_unlock | |
| | | | | + 0.10% __pthread_mutex_unlock_usercnt | |
| | | | + 0.10% Mutex::TryLock | |
| | | | + 0.10% Mutex::_locked | |
| | | | + 0.10% lockdep_locked | |
| | | | + 0.10% __GI___pthread_mutex_lock | |
| | | | + 0.10% __lll_lock_wait | |
| | | + 0.70% PrimaryLogPG::OpContext::finish_read | |
| | | + 0.50% std::__cxx11::list<std::pair<boost::intrusive_ptr<OpRequest>, PrimaryLogPG::OpContext*>, std::allocator<std::pair<boost::intrusive_ptr<OpRequest>, PrimaryLogPG::OpContext*> > >::remove_if<PrimaryLogPG::OpContext::finish_read(PrimaryLogPG*)::<lambda(const std::pair<boost::intrusive_ptr<OpRequest>, PrimaryLogPG::OpContext*>&)> > | |
| | | + 0.30% std::__cxx11::list<std::pair<boost::intrusive_ptr<OpRequest>, PrimaryLogPG::OpContext*>, std::allocator<std::pair<boost::intrusive_ptr<OpRequest>, PrimaryLogPG::OpContext*> > >::_M_erase | |
| | | | + 0.20% std::allocator_traits<std::allocator<std::_List_node<std::pair<boost::intrusive_ptr<OpRequest>, PrimaryLogPG::OpContext*> > > >::destroy<std::pair<boost::intrusive_ptr<OpRequest>, PrimaryLogPG::OpContext*> > | |
| | | | | + 0.20% __gnu_cxx::new_allocator<std::_List_node<std::pair<boost::intrusive_ptr<OpRequest>, PrimaryLogPG::OpContext*> > >::destroy<std::pair<boost::intrusive_ptr<OpRequest>, PrimaryLogPG::OpContext*> > | |
| | | | | + 0.20% std::pair<boost::intrusive_ptr<OpRequest>, PrimaryLogPG::OpContext*>::~pair | |
| | | | | + 0.20% boost::intrusive_ptr<OpRequest>::~intrusive_ptr | |
| | | | | + 0.20% intrusive_ptr_release | |
| | | | | + 0.20% TrackedOp::put | |
| | | | + 0.10% std::__cxx11::_List_base<std::pair<boost::intrusive_ptr<OpRequest>, PrimaryLogPG::OpContext*>, std::allocator<std::pair<boost::intrusive_ptr<OpRequest>, PrimaryLogPG::OpContext*> > >::_M_put_node | |
| | | | + 0.10% std::allocator_traits<std::allocator<std::_List_node<std::pair<boost::intrusive_ptr<OpRequest>, PrimaryLogPG::OpContext*> > > >::deallocate | |
| | | | + 0.10% __gnu_cxx::new_allocator<std::_List_node<std::pair<boost::intrusive_ptr<OpRequest>, PrimaryLogPG::OpContext*> > >::deallocate | |
| | | | + 0.10% free | |
| | | | + 0.10% ??? | |
| | | | + 0.10% ??? | |
| | | + 0.10% std::_List_iterator<std::pair<boost::intrusive_ptr<OpRequest>, PrimaryLogPG::OpContext*> >::operator++ | |
| | + 0.70% Mutex::Unlock | |
| | | + 0.40% Mutex::_will_unlock | |
| | | | + 0.40% lockdep_will_unlock | |
| | | | + 0.20% std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::erase | |
| | | | | + 0.20% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::erase | |
| | | | | + 0.20% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_erase_aux | |
| | | | | + 0.20% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::clear | |
| | | | | + 0.20% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_erase | |
| | | | | + 0.20% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_drop_node | |
| | | | | + 0.20% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_put_node | |
| | | | | + 0.20% std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<int const, ceph::BackTrace*> > > >::deallocate | |
| | | | | + 0.20% __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<int const, ceph::BackTrace*> > >::deallocate | |
| | | | | + 0.20% free | |
| | | | | + 0.10% ??? | |
| | | | | + 0.10% ??? | |
| | | | + 0.10% std::unordered_map<unsigned long, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > > >::operator[] | |
| | | | | + 0.10% std::__detail::_Map_base<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true>, true>::operator[] | |
| | | | | + 0.10% std::_Hashtable<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_find_node | |
| | | | | + 0.10% std::_Hashtable<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_find_before_node | |
| | | | + 0.10% __GI___pthread_mutex_lock | |
| | | | + 0.10% __lll_lock_wait | |
| | | + 0.20% __GI___pthread_mutex_unlock | |
| | | + 0.20% __pthread_mutex_unlock_usercnt | |
| | | + 0.20% __lll_unlock_wake | |
| | + 0.40% free | |
| | | + 0.40% ??? | |
| | | + 0.20% ??? | |
| | | | + 0.10% ??? | |
| | | + 0.10% __memmove_avx_unaligned | |
| | | + 0.10% __GI___pthread_mutex_lock | |
| | | + 0.10% __lll_lock_wait | |
| | + 0.10% non-virtual thunk to PrimaryLogPG::OpContext::start_async_reads(PrimaryLogPG*)::BlessedReadCompleter::~BlessedReadCompleter() | |
| + 0.90% Mutex::Lock | |
| | + 0.50% Mutex::TryLock | |
| | | + 0.50% Mutex::_locked | |
| | | + 0.50% lockdep_locked | |
| | | + 0.30% std::unordered_map<unsigned long, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > > >::operator[] | |
| | | | + 0.30% std::__detail::_Map_base<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true>, true>::operator[] | |
| | | | + 0.30% std::_Hashtable<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_find_node | |
| | | | + 0.30% std::_Hashtable<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_find_before_node | |
| | | + 0.10% std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::operator[] | |
| | | | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<int const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<int const, ceph::BackTrace*> >, std::piecewise_construct_t const&, std::tuple<int const&>&&, std::tuple<>&&) | |
| | | | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_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&)@plt | |
| | | + 0.10% __GI___pthread_mutex_lock | |
| | + 0.40% Mutex::_will_lock | |
| | + 0.40% lockdep_will_lock | |
| | + 0.40% __GI___pthread_mutex_lock | |
| | + 0.40% __lll_lock_wait | |
| + 0.20% Mutex::Unlock | |
| + 0.20% Mutex::_will_unlock | |
| + 0.20% lockdep_will_unlock | |
| + 0.10% std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::erase | |
| | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::erase | |
| | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_erase_aux | |
| + 0.10% __GI___pthread_mutex_lock | |
| + 0.10% __lll_lock_wait | |
+ 1.30% ThreadPool::WorkQueueVal<std::pair<boost::intrusive_ptr<PG>, std::shared_ptr<DeletingState> >, std::pair<boost::intrusive_ptr<PG>, std::shared_ptr<DeletingState> > >::_void_dequeue | |
| + 0.50% Mutex::Locker::~Locker | |
| | + 0.50% Mutex::Unlock | |
| | + 0.40% Mutex::_will_unlock | |
| | | + 0.40% lockdep_will_unlock | |
| | | + 0.30% std::unordered_map<unsigned long, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > > >::operator[] | |
| | | | + 0.30% std::__detail::_Map_base<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true>, true>::operator[] | |
| | | | + 0.30% std::_Hashtable<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_find_node | |
| | | | + 0.30% std::_Hashtable<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_find_before_node | |
| | | + 0.10% std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::erase | |
| | | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::erase | |
| | | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_erase_aux | |
| | | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_erase_aux | |
| | | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_drop_node | |
| | | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_put_node | |
| | | + 0.10% std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<int const, ceph::BackTrace*> > > >::deallocate | |
| | | + 0.10% __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<int const, ceph::BackTrace*> > >::deallocate | |
| | | + 0.10% free | |
| | + 0.10% __GI___pthread_mutex_unlock | |
| | + 0.10% __pthread_mutex_unlock_usercnt | |
| + 0.50% Mutex::Locker::Locker | |
| + 0.50% Mutex::Lock | |
| + 0.40% Mutex::TryLock | |
| | + 0.40% Mutex::_locked | |
| | + 0.40% lockdep_locked | |
| | + 0.20% __GI___pthread_mutex_lock | |
| | | + 0.10% __lll_lock_wait | |
| | + 0.10% std::unordered_map<unsigned long, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > > >::operator[] | |
| | | + 0.10% std::__detail::_Map_base<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true>, true>::operator[] | |
| | | + 0.10% std::_Hashtable<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_find_node | |
| | | + 0.10% std::_Hashtable<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_find_before_node | |
| | + 0.10% std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::operator[] | |
| | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<int const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<int const, ceph::BackTrace*> >, std::piecewise_construct_t const&, std::tuple<int const&>&&, std::tuple<>&&) | |
| | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_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% Mutex::_will_lock | |
| + 0.10% lockdep_will_lock | |
| + 0.10% ceph::logging::SubsystemMap::should_gather | |
+ 1.30% ThreadPool::WorkQueueVal<GenContext<ThreadPool::TPHandle&>*, GenContext<ThreadPool::TPHandle&>*>::_void_dequeue | |
| + 0.80% Mutex::Locker::Locker | |
| | + 0.80% Mutex::Lock | |
| | + 0.40% Mutex::_will_lock | |
| | | + 0.40% lockdep_will_lock | |
| | | + 0.10% std::unordered_map<unsigned long, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > > >::operator[] | |
| | | | + 0.10% std::__detail::_Map_base<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true>, true>::operator[] | |
| | | | + 0.10% std::_Hashtable<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_find_node | |
| | | | + 0.10% std::_Hashtable<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_find_before_node | |
| | | + 0.10% __GI___pthread_mutex_lock | |
| | | + 0.10% __lll_lock_wait | |
| | + 0.30% Mutex::TryLock | |
| | + 0.30% Mutex::_locked | |
| | + 0.30% lockdep_locked | |
| | + 0.20% __GI___pthread_mutex_lock | |
| | + 0.10% __lll_lock_wait | |
| + 0.30% Mutex::Locker::~Locker | |
| | + 0.30% Mutex::Unlock | |
| | + 0.30% Mutex::_will_unlock | |
| | + 0.30% lockdep_will_unlock | |
| | + 0.30% std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::erase | |
| | + 0.30% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::erase | |
| | + 0.30% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_erase_aux | |
| | + 0.20% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_erase_aux | |
| | | + 0.20% std::_Rb_tree_rebalance_for_erase(std::_Rb_tree_node_base*, std::_Rb_tree_node_base&) | |
| | + 0.10% std::_Rb_tree_const_iterator<std::pair<int const, ceph::BackTrace*> >::operator++ | |
| | + 0.10% std::_Rb_tree_increment(std::_Rb_tree_node_base*) | |
| + 0.20% std::__cxx11::list<GenContext<ThreadPool::TPHandle&>*, std::allocator<GenContext<ThreadPool::TPHandle&>*> >::push_back | |
| + 0.20% std::__cxx11::list<GenContext<ThreadPool::TPHandle&>*, std::allocator<GenContext<ThreadPool::TPHandle&>*> >::_M_insert<GenContext<ThreadPool::TPHandle&>* const&> | |
| + 0.20% std::__cxx11::list<GenContext<ThreadPool::TPHandle&>*, std::allocator<GenContext<ThreadPool::TPHandle&>*> >::_M_create_node<GenContext<ThreadPool::TPHandle&>* const&> | |
| + 0.20% std::__cxx11::_List_base<GenContext<ThreadPool::TPHandle&>*, std::allocator<GenContext<ThreadPool::TPHandle&>*> >::_M_get_node | |
| + 0.20% std::allocator_traits<std::allocator<std::_List_node<GenContext<ThreadPool::TPHandle&>*> > >::allocate | |
| + 0.20% __gnu_cxx::new_allocator<std::_List_node<GenContext<ThreadPool::TPHandle&>*> >::allocate | |
| + 0.20% operator new(unsigned long) | |
| + 0.20% malloc | |
+ 0.80% ThreadPool::WorkQueueVal<GenContext<ThreadPool::TPHandle&>*, GenContext<ThreadPool::TPHandle&>*>::_void_process_finish | |
| + 0.60% Mutex::Lock | |
| | + 0.30% Mutex::_will_lock | |
| | | + 0.30% lockdep_will_lock | |
| | | + 0.10% std::unordered_map<unsigned long, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > > >::operator[] | |
| | | | + 0.10% std::__detail::_Map_base<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true>, true>::operator[] | |
| | | | + 0.10% std::_Hashtable<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_find_node | |
| | | | + 0.10% std::_Hashtable<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_find_before_node | |
| | | + 0.10% std::_Rb_tree_iterator<std::pair<int const, ceph::BackTrace*> >::operator++ | |
| | | | + 0.10% std::_Rb_tree_increment(std::_Rb_tree_node_base*) | |
| | | + 0.10% __GI___pthread_mutex_unlock | |
| | | + 0.10% __pthread_mutex_unlock_usercnt | |
| | + 0.30% Mutex::TryLock | |
| | + 0.30% Mutex::_locked | |
| | + 0.30% lockdep_locked | |
| | + 0.10% std::unordered_map<unsigned long, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > > >::operator[] | |
| | | + 0.10% std::__detail::_Map_base<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true>, true>::operator[] | |
| | | + 0.10% std::_Hashtable<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_find_node | |
| | | + 0.10% std::_Hashtable<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_find_before_node | |
| | + 0.10% std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::operator[] | |
| | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<int const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<int const, ceph::BackTrace*> >, std::piecewise_construct_t const&, std::tuple<int const&>&&, std::tuple<>&&) | |
| | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_get_insert_hint_unique_pos | |
| + 0.20% Mutex::Unlock | |
| + 0.20% Mutex::_will_unlock | |
| + 0.20% lockdep_will_unlock | |
| + 0.10% std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::erase | |
| | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::erase | |
| | + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_erase_aux | |
| | + 0.10% std::_Rb_tree_const_iterator<std::pair<int const, ceph::BackTrace*> >::operator++ | |
| | + 0.10% std::_Rb_tree_increment(std::_Rb_tree_node_base*) | |
| + 0.10% __GI___pthread_mutex_unlock | |
| + 0.10% __pthread_mutex_unlock_usercnt | |
+ 0.60% Mutex::Lock | |
| + 0.50% __GI___pthread_mutex_lock | |
| | + 0.50% __lll_lock_wait | |
| + 0.10% Mutex::_will_lock | |
| + 0.10% lockdep_will_lock | |
| + 0.10% std::unordered_map<unsigned long, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > > >::operator[] | |
| + 0.10% std::__detail::_Map_base<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true>, true>::operator[] | |
| + 0.10% std::_Hashtable<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_find_node | |
+ 0.50% ThreadPool::TPHandle::reset_tp_timeout | |
| + 0.50% ceph::HeartbeatMap::reset_timeout | |
| + 0.20% std::__atomic_base<unsigned int>::operator= | |
| | + 0.20% std::__atomic_base<unsigned int>::store | |
| + 0.10% ceph::time_detail::coarse_mono_clock::now | |
| | + 0.10% __GI___clock_gettime | |
| | + 0.10% clock_gettime | |
| + 0.10% ceph::logging::SubsystemMap::should_gather | |
+ 0.50% Mutex::Unlock | |
+ 0.30% Mutex::_will_unlock | |
| + 0.30% lockdep_will_unlock | |
| + 0.20% std::unordered_map<unsigned long, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > > >::operator[] | |
| | + 0.20% std::__detail::_Map_base<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true>, true>::operator[] | |
| | + 0.20% std::_Hashtable<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_find_node | |
| | + 0.20% std::_Hashtable<unsigned long, std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > >, std::allocator<std::pair<unsigned long const, std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > > > >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_find_before_node | |
| + 0.10% std::map<int, ceph::BackTrace*, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::erase | |
| + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::erase | |
| + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_erase_aux | |
| + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::clear | |
| + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_erase | |
| + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_drop_node | |
| + 0.10% std::_Rb_tree<int, std::pair<int const, ceph::BackTrace*>, std::_Select1st<std::pair<int const, ceph::BackTrace*> >, std::less<int>, std::allocator<std::pair<int const, ceph::BackTrace*> > >::_M_put_node | |
| + 0.10% std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<int const, ceph::BackTrace*> > > >::deallocate | |
| + 0.10% __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<int const, ceph::BackTrace*> > >::deallocate | |
| + 0.10% ??? | |
| + 0.10% ??? | |
+ 0.20% __GI___pthread_mutex_unlock | |
+ 0.20% __pthread_mutex_unlock_usercnt |
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
rbd_iodepth32: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=rbd, iodepth=32 | |
fio-3.0-32-g83070-dirty | |
Starting 1 process | |
rbd_iodepth32: (groupid=0, jobs=1): err= 0: pid=25871: Tue Jan 16 14:40:45 2018 | |
read: IOPS=26.2k, BW=102MiB/s (107MB/s)(6140MiB/60003msec) | |
slat (nsec): min=1021, max=610135, avg=7956.98, stdev=19520.20 | |
clat (usec): min=200, max=11145, avg=1212.57, stdev=438.04 | |
lat (usec): min=207, max=11153, avg=1220.53, stdev=437.20 | |
clat percentiles (usec): | |
| 1.00th=[ 498], 5.00th=[ 676], 10.00th=[ 775], 20.00th=[ 906], | |
| 30.00th=[ 1004], 40.00th=[ 1090], 50.00th=[ 1172], 60.00th=[ 1254], | |
| 70.00th=[ 1336], 80.00th=[ 1450], 90.00th=[ 1647], 95.00th=[ 1827], | |
| 99.00th=[ 2737], 99.50th=[ 3785], 99.90th=[ 4817], 99.95th=[ 5211], | |
| 99.99th=[ 6652] | |
bw ( KiB/s): min=85664, max=107648, per=99.98%, avg=104758.91, stdev=3508.98, samples=120 | |
iops : min=21416, max=26912, avg=26189.67, stdev=877.24, samples=120 | |
lat (usec) : 250=0.01%, 500=1.03%, 750=7.38%, 1000=21.31% | |
lat (msec) : 2=67.45%, 4=2.42%, 10=0.40%, 20=0.01% | |
cpu : usr=38.92%, sys=27.91%, ctx=1967517, majf=0, minf=6 | |
IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=100.0%, >=64=0.0% | |
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% | |
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.1%, 64=0.0%, >=64=0.0% | |
issued rwt: total=1571837,0,0, short=0,0,0, dropped=0,0,0 | |
latency : target=0, window=0, percentile=100.00%, depth=32 | |
Run status group 0 (all jobs): | |
READ: bw=102MiB/s (107MB/s), 102MiB/s-102MiB/s (107MB/s-107MB/s), io=6140MiB (6438MB), run=60003-60003msec | |
Disk stats (read/write): | |
dm-1: ios=1570462/895, merge=0/0, ticks=141076/608, in_queue=142660, util=92.40%, aggrios=1571837/1059, aggrmerge=0/0, aggrticks=139596/616, aggrin_queue=141008, aggrutil=92.26% | |
dm-0: ios=1571837/1059, merge=0/0, ticks=139596/616, in_queue=141008, util=92.26%, aggrios=1571837/776, aggrmerge=0/283, aggrticks=112212/568, aggrin_queue=112708, aggrutil=87.51% | |
nvme0n1: ios=1571837/776, merge=0/283, ticks=112212/568, in_queue=112708, util=87.51% |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment