Created
January 19, 2018 15:31
-
-
Save rzarzynski/83c8b8a79b9cf5574d8f9546d41f1b6c to your computer and use it in GitHub Desktop.
bstore_aio load during 4 KiB randreads
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: 120 (bstore_aio) - 1000 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% KernelDevice::AioCompletionThread::entry | |
+ 100.00% KernelDevice::_aio_thread | |
+ 89.50% BlueStore::AioReadBatch::aio_finish | |
| + 85.30% BlueStore::PlainRegionReader::postprocess | |
| | + 63.30% BlueStore::RegionReader::_verify_csum | |
| | | + 63.30% bluestore_blob_t::verify_csum | |
| | | + 63.30% verify<Checksummer::crc32c> | |
| | | + 62.20% calc | |
| | | | + 62.20% ceph::buffer::list::iterator_impl<true>::crc32c | |
| | | | + 60.80% ceph_crc32c | |
| | | | | + 60.80% ceph_crc32c_intel_fast | |
| | | | | + 60.70% ??? | |
| | | | | + 60.60% ??? | |
| | | | | | + 60.60% crc32_iscsi_00 | |
| | | | | + 0.10% crc32_iscsi_00 | |
| | | | + 1.00% ceph::buffer::list::iterator_impl<true>::get_ptr_and_advance | |
| | | | + 0.70% ceph::buffer::ptr::c_str | |
| | | + 0.90% ceph::buffer::ptr::c_str | |
| | + 20.60% did_read | |
| | | + 18.10% lock_guard | |
| | | | + 18.10% lock | |
| | | | + 18.10% __gthread_recursive_mutex_lock | |
| | | | + 18.10% __gthread_mutex_lock | |
| | | | + 18.10% pthread_mutex_lock | |
| | | | + 18.10% _L_lock_870 | |
| | | | + 18.10% __lll_lock_wait | |
| | | + 0.90% BlueStore::Buffer::operator new | |
| | | | + 0.90% allocate | |
| | | | + 0.90% tc_newarray | |
| | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | | | + 0.20% tcmalloc::DLL_Remove(tcmalloc::Span*) | |
| | | + 0.80% BlueStore::BufferSpace::_discard | |
| | | | + 0.40% std::_Rb_tree<unsigned int, std::pair<unsigned int const, std::unique_ptr<BlueStore::Buffer, std::default_delete<BlueStore::Buffer> > >, std::_Select1st<std::pair<unsigned int const, std::unique_ptr<BlueStore::Buffer, std::default_delete<BlueStore::Buffer> > > >, std::less<unsigned int>, mempool::pool_allocator<(mempool::pool_index_t)4, std::pair<unsigned int const, std::unique_ptr<BlueStore::Buffer, std::default_delete<BlueStore::Buffer> > > > >::_M_erase_aux | |
| | | | | + 0.40% _M_drop_node | |
| | | | | + 0.30% _M_destroy_node | |
| | | | | | + 0.30% destroy<std::pair<unsigned int const, std::unique_ptr<BlueStore::Buffer> > > | |
| | | | | | + 0.30% _S_destroy<mempool::pool_allocator<(mempool::pool_index_t)4, std::_Rb_tree_node<std::pair<unsigned int const, std::unique_ptr<BlueStore::Buffer> > > >, std::pair<unsigned int const, std::unique_ptr<BlueStore::Buffer> > > | |
| | | | | | + 0.30% destroy<std::pair<unsigned int const, std::unique_ptr<BlueStore::Buffer> > > | |
| | | | | | + 0.30% ~pair | |
| | | | | | + 0.30% ~unique_ptr | |
| | | | | | + 0.30% operator() | |
| | | | | | + 0.20% ~Buffer | |
| | | | | | | + 0.20% ~list | |
| | | | | | | + 0.20% ~list | |
| | | | | | | + 0.20% ~_List_base | |
| | | | | | | + 0.20% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | | | + 0.20% destroy<ceph::buffer::ptr> | |
| | | | | | | + 0.20% destroy<ceph::buffer::ptr> | |
| | | | | | | + 0.20% ~ptr | |
| | | | | | | + 0.20% ceph::buffer::ptr::release | |
| | | | | | | + 0.20% ceph::buffer::raw_posix_aligned::~raw_posix_aligned | |
| | | | | | | + 0.20% ~raw_posix_aligned | |
| | | | | | | + 0.20% tc_free | |
| | | | | | | + 0.20% tcmalloc::ThreadCache::ListTooLong(tcmalloc::ThreadCache::FreeList*, unsigned long) | |
| | | | | | | + 0.20% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | | + 0.20% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | | + 0.20% tcmalloc::CentralFreeList::ReleaseListToSpans(void*) | |
| | | | | | | + 0.20% tcmalloc::CentralFreeList::ReleaseToSpans(void*) | |
| | | | | | | + 0.20% tcmalloc::PageHeap::Delete(tcmalloc::Span*) | |
| | | | | | | + 0.20% tcmalloc::PageHeap::MergeIntoFreeList(tcmalloc::Span*) | |
| | | | | | | + 0.20% tcmalloc::PageHeap::DecommitSpan(tcmalloc::Span*) | |
| | | | | | | + 0.20% TCMalloc_SystemRelease(void*, unsigned long) | |
| | | | | | | + 0.20% madvise | |
| | | | | | + 0.10% BlueStore::Buffer::operator delete | |
| | | | | | + 0.10% deallocate | |
| | | | | | + 0.10% operator-= | |
| | | | | + 0.10% _M_put_node | |
| | | | | + 0.10% deallocate | |
| | | | | + 0.10% deallocate | |
| | | | | + 0.10% tc_deletearray | |
| | | | + 0.30% _data_lower_bound | |
| | | | | + 0.30% lower_bound | |
| | | | | + 0.30% lower_bound | |
| | | | | + 0.20% _M_lower_bound | |
| | | | | + 0.10% _M_end | |
| | | | + 0.10% ceph::logging::SubsystemMap::should_gather | |
| | | | + 0.10% size | |
| | | + 0.60% BlueStore::BufferSpace::_add_buffer | |
| | | | + 0.40% ceph::buffer::list::reassign_to_mempool | |
| | | | | + 0.40% reassign_to_mempool | |
| | | | | + 0.40% mempool::pool_t::adjust_count | |
| | | | | + 0.30% operator+= | |
| | | | + 0.20% operator[] | |
| | | | + 0.20% _M_emplace_hint_unique<const std::piecewise_construct_t&, std::tuple<unsigned int const&>, std::tuple<> > | |
| | | | + 0.20% _M_create_node<const std::piecewise_construct_t&, std::tuple<unsigned int const&>, std::tuple<> > | |
| | | | + 0.20% _M_get_node | |
| | | | + 0.20% allocate | |
| | | | + 0.20% allocate | |
| | | | + 0.10% tc_newarray | |
| | | | + 0.10% operator+= | |
| | | + 0.10% ~lock_guard | |
| | | | + 0.10% unlock | |
| | | | + 0.10% __gthread_recursive_mutex_unlock | |
| | | | + 0.10% __gthread_mutex_unlock | |
| | | | + 0.10% pthread_mutex_unlock | |
| | | | + 0.10% _L_unlock_713 | |
| | | | + 0.10% __lll_unlock_wake | |
| | | + 0.10% Buffer | |
| | | + 0.10% list | |
| | | + 0.10% list | |
| | | + 0.10% _M_initialize_dispatch<std::_List_const_iterator<ceph::buffer::ptr> > | |
| | | + 0.10% emplace_back<ceph::buffer::ptr const&> | |
| | | + 0.10% _M_insert<ceph::buffer::ptr const&> | |
| | | + 0.10% _M_create_node<ceph::buffer::ptr const&> | |
| | | + 0.10% construct<ceph::buffer::ptr, ceph::buffer::ptr const&> | |
| | | + 0.10% construct<ceph::buffer::ptr, ceph::buffer::ptr const&> | |
| | | + 0.10% ceph::buffer::ptr::ptr | |
| | + 0.60% ceph::buffer::list::substr_of | |
| | | + 0.30% push_back | |
| | | | + 0.30% _M_insert<ceph::buffer::ptr> | |
| | | | + 0.30% _M_create_node<ceph::buffer::ptr> | |
| | | | + 0.30% _M_get_node | |
| | | | + 0.30% allocate | |
| | | | + 0.30% allocate | |
| | | | + 0.30% tc_new | |
| | | | + 0.10% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | + 0.10% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | + 0.10% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | | + 0.10% ceph::buffer::ptr::ptr | |
| | + 0.20% 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.20% std::_Rb_tree<unsigned long, std::pair<unsigned long const, ceph::buffer::list>, std::_Select1st<std::pair<unsigned long const, ceph::buffer::list> >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, ceph::buffer::list> > >::_M_insert_node | |
| | | + 0.20% std::_Rb_tree_insert_and_rebalance | |
| | + 0.10% get_cache | |
| + 2.70% BlueStore::AioReadBatch::~AioReadBatch | |
| | + 2.70% ~AioReadBatch | |
| | + 1.40% ~small_vector | |
| | | + 1.40% ~small_vector_base | |
| | | + 1.40% ~vector | |
| | | + 1.40% destroy_alloc_n<boost::container::small_vector_allocator<boost::container::new_allocator<BlueStore::AioReadBatch::read_ctx_t> >, BlueStore::AioReadBatch::read_ctx_t*, unsigned long> | |
| | | + 1.40% destroy<BlueStore::AioReadBatch::read_ctx_t> | |
| | | + 1.40% priv_destroy<BlueStore::AioReadBatch::read_ctx_t> | |
| | | + 1.40% ~read_ctx_t | |
| | | + 1.40% ~cache_response_t | |
| | | + 1.40% ~map | |
| | | + 1.40% ~_Rb_tree | |
| | | + 1.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_erase | |
| | | | + 1.20% 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.80% 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.70% 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.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_erase | |
| | | | | | | | + 0.20% _M_drop_node | |
| | | | | | | | | + 0.20% _M_destroy_node | |
| | | | | | | | | + 0.20% destroy<std::pair<boost::intrusive_ptr<BlueStore::Blob> const, std::unique_ptr<BlueStore::RegionReader> > > | |
| | | | | | | | | + 0.20% destroy<std::pair<boost::intrusive_ptr<BlueStore::Blob> const, std::unique_ptr<BlueStore::RegionReader> > > | |
| | | | | | | | | + 0.20% ~pair | |
| | | | | | | | | + 0.10% ~unique_ptr | |
| | | | | | | | | | + 0.10% operator() | |
| | | | | | | | | | + 0.10% BlueStore::PlainRegionReader::~PlainRegionReader | |
| | | | | | | | | | + 0.10% tc_delete | |
| | | | | | | | | | + 0.10% tcmalloc::ThreadCache::ListTooLong(tcmalloc::ThreadCache::FreeList*, unsigned long) | |
| | | | | | | | | | + 0.10% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | | | | + 0.10% ~intrusive_ptr | |
| | | | | | | | | + 0.10% intrusive_ptr_release | |
| | | | | | | | | + 0.10% 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_erase | |
| | | | | | | | + 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_erase | |
| | | | | | | | + 0.10% _M_drop_node | |
| | | | | | | | + 0.10% _M_destroy_node | |
| | | | | | | | + 0.10% destroy<std::pair<boost::intrusive_ptr<BlueStore::Blob> const, std::unique_ptr<BlueStore::RegionReader> > > | |
| | | | | | | | + 0.10% destroy<std::pair<boost::intrusive_ptr<BlueStore::Blob> const, std::unique_ptr<BlueStore::RegionReader> > > | |
| | | | | | | | + 0.10% ~pair | |
| | | | | | | | + 0.10% ~unique_ptr | |
| | | | | | | | + 0.10% operator() | |
| | | | | | | + 0.30% _M_drop_node | |
| | | | | | | + 0.30% _M_destroy_node | |
| | | | | | | + 0.30% destroy<std::pair<boost::intrusive_ptr<BlueStore::Blob> const, std::unique_ptr<BlueStore::RegionReader> > > | |
| | | | | | | + 0.30% destroy<std::pair<boost::intrusive_ptr<BlueStore::Blob> const, std::unique_ptr<BlueStore::RegionReader> > > | |
| | | | | | | + 0.30% ~pair | |
| | | | | | | + 0.20% ~unique_ptr | |
| | | | | | | | + 0.20% operator() | |
| | | | | | | | + 0.20% BlueStore::PlainRegionReader::~PlainRegionReader | |
| | | | | | | | + 0.20% ~PlainRegionReader | |
| | | | | | | | + 0.20% ~small_vector | |
| | | | | | | | + 0.20% ~small_vector_base | |
| | | | | | | | + 0.20% ~vector | |
| | | | | | | | + 0.20% destroy_alloc_n<boost::container::small_vector_allocator<boost::container::new_allocator<BlueStore::PlainRegionReader::plain_region_t> >, BlueStore::PlainRegionReader::plain_region_t*, unsigned long> | |
| | | | | | | | + 0.20% destroy<BlueStore::PlainRegionReader::plain_region_t> | |
| | | | | | | | + 0.20% priv_destroy<BlueStore::PlainRegionReader::plain_region_t> | |
| | | | | | | | + 0.20% ~plain_region_t | |
| | | | | | | | + 0.20% ~list | |
| | | | | | | | + 0.20% ~list | |
| | | | | | | | + 0.20% ~_List_base | |
| | | | | | | | + 0.20% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | | | | + 0.10% destroy<ceph::buffer::ptr> | |
| | | | | | | | | + 0.10% destroy<ceph::buffer::ptr> | |
| | | | | | | | | + 0.10% ~ptr | |
| | | | | | | | | + 0.10% ceph::buffer::ptr::release | |
| | | | | | | | + 0.10% _M_put_node | |
| | | | | | | | + 0.10% deallocate | |
| | | | | | | | + 0.10% deallocate | |
| | | | | | | | + 0.10% tc_delete | |
| | | | | | | | + 0.10% tcmalloc::ThreadCache::ListTooLong(tcmalloc::ThreadCache::FreeList*, unsigned long) | |
| | | | | | | | + 0.10% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | | + 0.10% ~intrusive_ptr | |
| | | | | | | + 0.10% intrusive_ptr_release | |
| | | | | | | + 0.10% put | |
| | | | | | + 0.10% _M_drop_node | |
| | | | | | + 0.10% _M_destroy_node | |
| | | | | | + 0.10% destroy<std::pair<boost::intrusive_ptr<BlueStore::Blob> const, std::unique_ptr<BlueStore::RegionReader> > > | |
| | | | | | + 0.10% destroy<std::pair<boost::intrusive_ptr<BlueStore::Blob> const, std::unique_ptr<BlueStore::RegionReader> > > | |
| | | | | | + 0.10% ~pair | |
| | | | | | + 0.10% ~unique_ptr | |
| | | | | | + 0.10% operator() | |
| | | | | | + 0.10% BlueStore::PlainRegionReader::~PlainRegionReader | |
| | | | | | + 0.10% ~PlainRegionReader | |
| | | | | | + 0.10% ~small_vector | |
| | | | | | + 0.10% ~small_vector_base | |
| | | | | | + 0.10% ~vector | |
| | | | | | + 0.10% destroy_alloc_n<boost::container::small_vector_allocator<boost::container::new_allocator<BlueStore::PlainRegionReader::plain_region_t> >, BlueStore::PlainRegionReader::plain_region_t*, unsigned long> | |
| | | | | | + 0.10% destroy<BlueStore::PlainRegionReader::plain_region_t> | |
| | | | | | + 0.10% priv_destroy<BlueStore::PlainRegionReader::plain_region_t> | |
| | | | | | + 0.10% ~plain_region_t | |
| | | | | | + 0.10% ~list | |
| | | | | | + 0.10% ~list | |
| | | | | | + 0.10% ~_List_base | |
| | | | | | + 0.10% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | | + 0.10% _M_put_node | |
| | | | | | + 0.10% deallocate | |
| | | | | | + 0.10% deallocate | |
| | | | | | + 0.10% tc_delete | |
| | | | | | + 0.10% tcmalloc::ThreadCache::ListTooLong(tcmalloc::ThreadCache::FreeList*, unsigned long) | |
| | | | | | + 0.10% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.40% _M_drop_node | |
| | | | | + 0.30% _M_destroy_node | |
| | | | | | + 0.30% destroy<std::pair<boost::intrusive_ptr<BlueStore::Blob> const, std::unique_ptr<BlueStore::RegionReader> > > | |
| | | | | | + 0.30% destroy<std::pair<boost::intrusive_ptr<BlueStore::Blob> const, std::unique_ptr<BlueStore::RegionReader> > > | |
| | | | | | + 0.30% ~pair | |
| | | | | | + 0.30% ~unique_ptr | |
| | | | | | + 0.30% operator() | |
| | | | | | + 0.20% BlueStore::PlainRegionReader::~PlainRegionReader | |
| | | | | | + 0.10% ~PlainRegionReader | |
| | | | | | | + 0.10% ~RegionReader | |
| | | | | | | + 0.10% ~ghobject_t | |
| | | | | | | + 0.10% ~hobject_t | |
| | | | | | | + 0.10% ~basic_string | |
| | | | | | | + 0.10% _M_rep | |
| | | | | | + 0.10% tc_delete | |
| | | | | + 0.10% _M_put_node | |
| | | | | + 0.10% deallocate | |
| | | | | + 0.10% deallocate | |
| | | | | + 0.10% tc_delete | |
| | | | + 0.10% _M_drop_node | |
| | | | + 0.10% _M_destroy_node | |
| | | | + 0.10% destroy<std::pair<boost::intrusive_ptr<BlueStore::Blob> const, std::unique_ptr<BlueStore::RegionReader> > > | |
| | | | + 0.10% destroy<std::pair<boost::intrusive_ptr<BlueStore::Blob> const, std::unique_ptr<BlueStore::RegionReader> > > | |
| | | | + 0.10% ~pair | |
| | | | + 0.10% ~unique_ptr | |
| | | | + 0.10% operator() | |
| | | | + 0.10% BlueStore::PlainRegionReader::~PlainRegionReader | |
| | | | + 0.10% tc_delete | |
| | | | + 0.10% tcmalloc::ThreadCache::ListTooLong(tcmalloc::ThreadCache::FreeList*, unsigned long) | |
| | | | + 0.10% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.10% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.10% tcmalloc::CentralFreeList::ReleaseListToSpans(void*) | |
| | | | + 0.10% tcmalloc::CentralFreeList::ReleaseToSpans(void*) | |
| | | | + 0.10% tcmalloc::DLL_Remove(tcmalloc::Span*) | |
| | | + 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_erase | |
| | | + 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_erase | |
| | | + 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_erase | |
| | | + 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_erase | |
| | | + 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_erase | |
| | | + 0.10% _M_drop_node | |
| | | + 0.10% _M_put_node | |
| | | + 0.10% deallocate | |
| | | + 0.10% deallocate | |
| | | + 0.10% tc_delete | |
| | + 1.30% ~IOContext | |
| | + 1.30% ~list | |
| | + 1.30% ~_List_base | |
| | + 1.30% std::_List_base<aio_t, std::allocator<aio_t> >::_M_clear | |
| | + 0.70% _M_put_node | |
| | | + 0.70% deallocate | |
| | | + 0.70% deallocate | |
| | | + 0.70% tc_delete | |
| | | + 0.70% tcmalloc::ThreadCache::ListTooLong(tcmalloc::ThreadCache::FreeList*, unsigned long) | |
| | | + 0.70% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.30% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.30% tcmalloc::CentralFreeList::ReleaseListToSpans(void*) | |
| | | + 0.30% tcmalloc::CentralFreeList::ReleaseToSpans(void*) | |
| | | + 0.20% SpinLock::SlowLock() | |
| | | | + 0.20% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.10% tcmalloc::PageHeap::Delete(tcmalloc::Span*) | |
| | | + 0.10% tcmalloc::PageHeap::MergeIntoFreeList(tcmalloc::Span*) | |
| | | + 0.10% tcmalloc::PageHeap::DecommitSpan(tcmalloc::Span*) | |
| | | + 0.10% TCMalloc_SystemRelease(void*, unsigned long) | |
| | | + 0.10% madvise | |
| | + 0.60% destroy<aio_t> | |
| | + 0.60% destroy<aio_t> | |
| | + 0.60% ~aio_t | |
| | + 0.60% ~list | |
| | + 0.50% ~list | |
| | | + 0.50% ~_List_base | |
| | | + 0.50% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | + 0.20% _M_put_node | |
| | | | + 0.20% deallocate | |
| | | | + 0.20% deallocate | |
| | | | + 0.20% tc_delete | |
| | | + 0.10% destroy<ceph::buffer::ptr> | |
| | | + 0.10% destroy<ceph::buffer::ptr> | |
| | | + 0.10% ~ptr | |
| | | + 0.10% ceph::buffer::ptr::release | |
| | + 0.10% ~ptr | |
| + 0.70% operator++ | |
| | + 0.70% std::_Rb_tree_increment | |
| | + 0.70% local_Rb_tree_increment | |
| + 0.20% operator= | |
| | + 0.10% clear | |
| | + 0.10% begin | |
| + 0.10% tc_delete | |
| + 0.10% Context::complete | |
| | + 0.10% ToSparseReadResult::finish | |
| | + 0.10% encode_destructively | |
| | + 0.10% encode | |
| | + 0.10% encode_raw<ceph_le<unsigned int> > | |
| | + 0.10% ceph::buffer::list::append | |
| | + 0.10% create | |
| | + 0.10% raw_combined | |
| | + 0.10% raw | |
| | + 0.10% mempool::pool_t::adjust_count | |
| | + 0.10% operator+= | |
| + 0.10% BlueStore::_do_read_compose_result | |
| + 0.10% ceph::buffer::list::claim_append | |
| + 0.10% make_shareable | |
| + 0.10% ceph::buffer::ptr::make_shareable | |
+ 9.70% aio_queue_t::get_next_completed | |
| + 9.40% __io_getevents_0_4 | |
| + 0.10% io_getevents | |
+ 0.10% is_linked | |
+ 0.10% this_ptr |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment