Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Thread: 1 (fio) - 2000 samples
- + 100.00% main
- + 100.00% fio_backend
- + 100.00% run_threads
- + 100.00% do_usleep
- + 100.00% usleep
- + 100.00% nanosleep
- Thread: 2 (fio) - 2000 samples
- + 100.00% clone
- + 100.00% start_thread
- + 100.00% thread_main
- + 100.00% do_io
- + 99.80% wait_for_completions
- | + 99.80% io_u_queued_complete
- | + 99.80% td_io_getevents
- | + 99.80% fio_rbd_getevents
- | + 99.80% rbd_iter_events
- | + 97.75% poll
- | | + 97.75% poll
- | + 1.50% fri_check_complete
- | | + 1.50% rbd_aio_release
- | | + 1.50% librbd::RBD::AioCompletion::release
- | | + 1.50% release
- | | + 1.50% Mutex::Lock
- | | + 1.50% __GI___pthread_mutex_lock
- | | + 1.50% _L_lock_840
- | | + 1.50% __lll_lock_wait
- | + 0.50% rbd_poll_io_events
- | + 0.50% librbd::poll_io_events
- | + 0.50% Locker
- | + 0.50% Mutex::Lock
- | + 0.40% __GI___pthread_mutex_lock
- | + 0.30% _L_lock_791
- | + 0.30% __lll_lock_wait
- + 0.15% td_io_queue
- | + 0.15% fio_rbd_queue
- | + 0.10% rbd_aio_write
- | | + 0.10% create_write_raw
- | | + 0.10% ceph::buffer::copy
- | | + 0.05% memcpy
- | | + 0.05% ceph::buffer::create_aligned
- | + 0.05% rbd_aio_create_completion
- + 0.05% io_queue_event
- Thread: 3 (taskfin_librbd) - 2000 samples
- + 100.00% clone
- + 100.00% start_thread
- + 100.00% Finisher::finisher_thread_entry
- + 100.00% Wait
- + 100.00% pthread_cond_wait@@GLIBC_2.3.2
- Thread: 4 (safe_timer) - 2000 samples
- + 100.00% clone
- + 100.00% start_thread
- + 100.00% SafeTimerThread::entry
- + 100.00% SafeTimer::timer_thread
- + 100.00% Wait
- + 100.00% pthread_cond_wait@@GLIBC_2.3.2
- Thread: 5 (flusher) - 2000 samples
- + 100.00% clone
- + 100.00% start_thread
- + 100.00% ObjectCacher::FlusherThread::entry
- + 100.00% ObjectCacher::flusher_entry
- + 100.00% WaitInterval<std::chrono::duration<long> >
- + 100.00% pthread_cond_timedwait@@GLIBC_2.3.2
- Thread: 6 (fn_anonymous) - 2000 samples
- + 100.00% clone
- + 100.00% start_thread
- + 100.00% Finisher::finisher_thread_entry
- + 100.00% Wait
- + 100.00% pthread_cond_wait@@GLIBC_2.3.2
- Thread: 7 (tp_librbd) - 2000 samples
- + 100.00% clone
- + 100.00% start_thread
- + 100.00% ThreadPool::WorkThread::entry
- + 100.00% ThreadPool::worker
- + 95.45% librbd::io::ImageRequestWQ::process
- | + 93.55% librbd::io::ImageRequest<librbd::ImageCtx>::send
- | | + 92.65% librbd::io::AbstractImageWriteRequest<librbd::ImageCtx>::send_request
- | | | + 86.10% librbd::io::ImageWriteRequest<librbd::ImageCtx>::send_object_cache_requests
- | | | | + 84.75% librbd::ImageCtx::write_to_cache
- | | | | | + 70.20% ObjectCacher::writex
- | | | | | | + 56.80% ObjectCacher::_wait_for_write
- | | | | | | | + 56.05% ObjectCacher::flush_set
- | | | | | | | | + 53.35% ObjectCacher::flush
- | | | | | | | | | + 53.25% ObjectCacher::bh_write
- | | | | | | | | | | + 51.90% librbd::LibrbdWriteback::write
- | | | | | | | | | | | + 41.30% librbd::io::AbstractObjectWriteRequest::send
- | | | | | | | | | | | | + 39.00% librbd::io::ObjectWriteRequest::send_write
- | | | | | | | | | | | | | + 38.85% librbd::io::AbstractObjectWriteRequest::send_write
- | | | | | | | | | | | | | + 38.85% librbd::io::AbstractObjectWriteRequest::send_pre_object_map_update
- | | | | | | | | | | | | | + 37.80% librbd::io::AbstractObjectWriteRequest::send_write_op
- | | | | | | | | | | | | | | + 33.40% librados::IoCtx::aio_operate
- | | | | | | | | | | | | | | | + 33.25% librados::IoCtxImpl::aio_operate
- | | | | | | | | | | | | | | | | + 30.85% Objecter::op_submit
- | | | | | | | | | | | | | | | | | + 29.00% Objecter::_op_submit_with_budget
- | | | | | | | | | | | | | | | | | | + 25.85% Objecter::_op_submit
- | | | | | | | | | | | | | | | | | | | + 11.80% Objecter::_calc_target
- | | | | | | | | | | | | | | | | | | | | + 8.95% pg_to_up_acting_osds
- | | | | | | | | | | | | | | | | | | | | | + 8.95% OSDMap::_pg_to_up_acting_osds
- | | | | | | | | | | | | | | | | | | | | | + 6.95% OSDMap::_pg_to_raw_osds
- | | | | | | | | | | | | | | | | | | | | | | + 6.10% do_rule<std::vector<unsigned int, mempool::pool_allocator<(mempool::pool_index_t)9, unsigned int> > >
- | | | | | | | | | | | | | | | | | | | | | | | + 4.80% crush_do_rule
- | | | | | | | | | | | | | | | | | | | | | | | | + 4.55% crush_choose_firstn
- | | | | | | | | | | | | | | | | | | | | | | | | + 2.60% crush_bucket_choose
- | | | | | | | | | | | | | | | | | | | | | | | | | + 2.40% bucket_straw_choose
- | | | | | | | | | | | | | | | | | | | | | | | | | + 2.15% crush_hash32_3
- | | | | | | | | | | | | | | | | | | | | | | | | | + 2.05% crush_hash32_rjenkins1_3
- | | | | | | | | | | | | | | | | | | | | | | | | + 1.55% crush_choose_firstn
- | | | | | | | | | | | | | | | | | | | | | | | | + 1.35% crush_bucket_choose
- | | | | | | | | | | | | | | | | | | | | | | | | + 1.30% bucket_straw_choose
- | | | | | | | | | | | | | | | | | | | | | | | | + 1.05% crush_hash32_3
- | | | | | | | | | | | | | | | | | | | | | | | | + 1.05% crush_hash32_rjenkins1_3
- | | | | | | | | | | | | | | | | | | | | | | | + 1.10% resize
- | | | | | | | | | | | | | | | | | | | | | | | | + 1.10% _M_default_append
- | | | | | | | | | | | | | | | | | | | | | | | | + 0.75% _M_allocate
- | | | | | | | | | | | | | | | | | | | | | | | | | + 0.70% __gnu_cxx::new_allocator<int>::allocate
- | | | | | | | | | | | | | | | | | | | | | | | | | + 0.60% operator new
- | | | | | | | | | | | | | | | | | | | | | | | | | + 0.45% __GI___libc_malloc
- | | | | | | | | | | | | | | | | | | | | | | | | | + 0.25% _int_malloc
- | | | | | | | | | | | | | | | | | | | | | | | | | + 0.15% _L_lock_14932
- | | | | | | | | | | | | | | | | | | | | | | | | | + 0.15% __lll_lock_wait_private
- | | | | | | | | | | | | | | | | | | | | | | | | + 0.15% __uninitialized_move_if_noexcept_a<int*, int*, std::allocator<int> >
- | | | | | | | | | | | | | | | | | | | | | | | | | + 0.15% __uninitialized_copy_a<std::move_iterator<int*>, int*, int>
- | | | | | | | | | | | | | | | | | | | | | | | | | + 0.15% uninitialized_copy<std::move_iterator<int*>, int*>
- | | | | | | | | | | | | | | | | | | | | | | | | | + 0.15% __uninit_copy<std::move_iterator<int*>, int*>
- | | | | | | | | | | | | | | | | | | | | | | | | | + 0.15% copy<std::move_iterator<int*>, int*>
- | | | | | | | | | | | | | | | | | | | | | | | | | + 0.15% __copy_move_a2<true, int*, int*>
- | | | | | | | | | | | | | | | | | | | | | | | | | + 0.15% __copy_move_a<true, int*, int*>
- | | | | | | | | | | | | | | | | | | | | | | | | + 0.10% _M_check_len
- | | | | | | | | | | | | | | | | | | | | | | | | + 0.05% __uninitialized_default_n_a<int*, unsigned long, int>
- | | | | | | | | | | | | | | | | | | | | | | | + 0.20% crush_init_workspace
- | | | | | | | | | | | | | | | | | | | | | | + 0.40% find_rule
- | | | | | | | | | | | | | | | | | | | | | | | + 0.40% crush_find_rule
- | | | | | | | | | | | | | | | | | | | | | | + 0.10% pg_pool_t::raw_pg_to_pps
- | | | | | | | | | | | | | | | | | | | | | | + 0.10% crush_hash32_2
- | | | | | | | | | | | | | | | | | | | | | | + 0.10% OSDMap::_remove_nonexistent_osds
- | | | | | | | | | | | | | | | | | | | | | | | + 0.10% exists
- | | | | | | | | | | | | | | | | | | | | | | + 0.05% crush_hash32_2@plt
- | | | | | | | | | | | | | | | | | | | | | + 0.40% std::vector<int, std::allocator<int> >::operator=
- | | | | | | | | | | | | | | | | | | | | | | + 0.35% _M_allocate_and_copy<__gnu_cxx::__normal_iterator<int const*, std::vector<int> > >
- | | | | | | | | | | | | | | | | | | | | | | + 0.20% _M_allocate
- | | | | | | | | | | | | | | | | | | | | | | | + 0.20% allocate
- | | | | | | | | | | | | | | | | | | | | | | | + 0.20% operator new
- | | | | | | | | | | | | | | | | | | | | | | | + 0.20% __GI___libc_malloc
- | | | | | | | | | | | | | | | | | | | | | | | + 0.05% _int_malloc
- | | | | | | | | | | | | | | | | | | | | | | + 0.15% __uninitialized_copy_a<__gnu_cxx::__normal_iterator<int const*, std::vector<int> >, int*, int>
- | | | | | | | | | | | | | | | | | | | | | | + 0.15% uninitialized_copy<__gnu_cxx::__normal_iterator<int const*, std::vector<int> >, int*>
- | | | | | | | | | | | | | | | | | | | | | | + 0.15% __uninit_copy<__gnu_cxx::__normal_iterator<int const*, std::vector<int> >, int*>
- | | | | | | | | | | | | | | | | | | | | | | + 0.15% copy<__gnu_cxx::__normal_iterator<int const*, std::vector<int> >, int*>
- | | | | | | | | | | | | | | | | | | | | | | + 0.15% __copy_move_a2<false, __gnu_cxx::__normal_iterator<int const*, std::vector<int> >, int*>
- | | | | | | | | | | | | | | | | | | | | | | + 0.15% __copy_move_a<false, int const*, int*>
- | | | | | | | | | | | | | | | | | | | | | | + 0.15% __copy_m<int>
- | | | | | | | | | | | | | | | | | | | | | | + 0.15% __memmove_ssse3_back
- | | | | | | | | | | | | | | | | | | | | | + 0.40% OSDMap::_get_temp_osds
- | | | | | | | | | | | | | | | | | | | | | | + 0.20% find
- | | | | | | | | | | | | | | | | | | | | | | | + 0.20% find
- | | | | | | | | | | | | | | | | | | | | | | | + 0.05% std::_Rb_tree<pg_t, std::pair<pg_t const, std::vector<int, mempool::pool_allocator<(mempool::pool_index_t)9, int> > >, std::_Select1st<std::pair<pg_t const, std::vector<int, mempool::pool_allocator<(mempool::pool_index_t)9, int> > > >, std::less<pg_t>, mempool::pool_allocator<(mempool::pool_index_t)9, std::pair<pg_t const, std::vector<int, mempool::pool_allocator<(mempool::pool_index_t)9, int> > > > >::_M_lower_bound
- | | | | | | | | | | | | | | | | | | | | | | + 0.05% pg_pool_t::raw_pg_to_pg
- | | | | | | | | | | | | | | | | | | | | | + 0.35% OSDMap::_raw_to_up_osds
- | | | | | | | | | | | | | | | | | | | | | | + 0.25% std::vector<int, std::allocator<int> >::reserve
- | | | | | | | | | | | | | | | | | | | | | | + 0.15% _M_allocate_and_copy<std::move_iterator<int*> >
- | | | | | | | | | | | | | | | | | | | | | | + 0.15% _M_allocate
- | | | | | | | | | | | | | | | | | | | | | | + 0.15% allocate
- | | | | | | | | | | | | | | | | | | | | | | + 0.15% operator new
- | | | | | | | | | | | | | | | | | | | | | | + 0.15% __GI___libc_malloc
- | | | | | | | | | | | | | | | | | | | | | | + 0.15% _int_malloc
- | | | | | | | | | | | | | | | | | | | | | + 0.25% OSDMap::_apply_remap
- | | | | | | | | | | | | | | | | | | | | | | + 0.20% find
- | | | | | | | | | | | | | | | | | | | | | | + 0.05% std::_Rb_tree<pg_t, std::pair<pg_t const, std::vector<std::pair<int, int>, mempool::pool_allocator<(mempool::pool_index_t)9, std::pair<int, int> > > >, std::_Select1st<std::pair<pg_t const, std::vector<std::pair<int, int>, mempool::pool_allocator<(mempool::pool_index_t)9, std::pair<int, int> > > > >, std::less<pg_t>, mempool::pool_allocator<(mempool::pool_index_t)9, std::pair<pg_t const, std::vector<std::pair<int, int>, mempool::pool_allocator<(mempool::pool_index_t)9, std::pair<int, int> > > > > >::find
- | | | | | | | | | | | | | | | | | | | | | | + 0.05% std::_Rb_tree<pg_t, std::pair<pg_t const, std::vector<int, mempool::pool_allocator<(mempool::pool_index_t)9, int> > >, std::_Select1st<std::pair<pg_t const, std::vector<int, mempool::pool_allocator<(mempool::pool_index_t)9, int> > > >, std::less<pg_t>, mempool::pool_allocator<(mempool::pool_index_t)9, std::pair<pg_t const, std::vector<int, mempool::pool_allocator<(mempool::pool_index_t)9, int> > > > >::find
- | | | | | | | | | | | | | | | | | | | | | | + 0.05% _ZNKSt8_Rb_treeI4pg_tSt4pairIKS0_St6vectorIiN7mempool14pool_allocatorILNS4_12pool_index_tE9EiEEEESt10_Select1stIS9_ESt4lessIS0_ENS5_ILS6_9ES9_EEE4findERS2_@plt
- | | | | | | | | | | | | | | | | | | | | | | + 0.05% _ZNKSt8_Rb_treeI4pg_tSt4pairIKS0_St6vectorIS1_IiiEN7mempool14pool_allocatorILNS5_12pool_index_tE9ES4_EEEESt10_Select1stISA_ESt4lessIS0_ENS6_ILS7_9ESA_EEE4findERS2_@plt
- | | | | | | | | | | | | | | | | | | | | | + 0.15% ~vector
- | | | | | | | | | | | | | | | | | | | | | | + 0.15% ~_Vector_base
- | | | | | | | | | | | | | | | | | | | | | | + 0.15% _M_deallocate
- | | | | | | | | | | | | | | | | | | | | | | + 0.15% deallocate
- | | | | | | | | | | | | | | | | | | | | | | + 0.10% _int_free
- | | | | | | | | | | | | | | | | | | | | | | | + 0.05% free_perturb
- | | | | | | | | | | | | | | | | | | | | | | + 0.05% _ZdlPv@plt
- | | | | | | | | | | | | | | | | | | | | | + 0.10% OSDMap::_pick_primary
- | | | | | | | | | | | | | | | | | | | | | + 0.05% vector
- | | | | | | | | | | | | | | | | | | | | | + 0.05% get_pg_pool
- | | | | | | | | | | | | | | | | | | | | | + 0.05% _ZNK6OSDMap23_apply_primary_affinityEjRK9pg_pool_tPSt6vectorIiSaIiEEPi@plt
- | | | | | | | | | | | | | | | | | | | | | + 0.05% _ZNK6OSDMap14_get_temp_osdsERK9pg_pool_t4pg_tPSt6vectorIiSaIiEEPi@plt
- | | | | | | | | | | | | | | | | | | | | | + 0.05% OSDMap::_apply_primary_affinity
- | | | | | | | | | | | | | | | | | | | | + 0.85% OSDMap::object_locator_to_pg
- | | | | | | | | | | | | | | | | | | | | | + 0.60% OSDMap::map_to_pg
- | | | | | | | | | | | | | | | | | | | | | | + 0.35% pg_pool_t::hash_key
- | | | | | | | | | | | | | | | | | | | | | | | + 0.20% ceph_str_hash
- | | | | | | | | | | | | | | | | | | | | | | | + 0.20% ceph_str_hash_rjenkins
- | | | | | | | | | | | | | | | | | | | | | | + 0.10% _ZNK9pg_pool_t8hash_keyERKSsS1_@plt
- | | | | | | | | | | | | | | | | | | | | | | + 0.05% get_pg_pool
- | | | | | | | | | | | | | | | | | | | | | + 0.05% _ZNK6OSDMap9map_to_pgElRKSsS1_S1_P4pg_t@plt
- | | | | | | | | | | | | | | | | | | | | + 0.75% std::vector<int, std::allocator<int> >::operator=
- | | | | | | | | | | | | | | | | | | | | | + 0.60% _M_allocate_and_copy<__gnu_cxx::__normal_iterator<int const*, std::vector<int> > >
- | | | | | | | | | | | | | | | | | | | | | + 0.50% _M_allocate
- | | | | | | | | | | | | | | | | | | | | | | + 0.50% allocate
- | | | | | | | | | | | | | | | | | | | | | | + 0.50% operator new
- | | | | | | | | | | | | | | | | | | | | | | + 0.40% __GI___libc_malloc
- | | | | | | | | | | | | | | | | | | | | | | + 0.25% _int_malloc
- | | | | | | | | | | | | | | | | | | | | | + 0.10% __uninitialized_copy_a<__gnu_cxx::__normal_iterator<int const*, std::vector<int> >, int*, int>
- | | | | | | | | | | | | | | | | | | | | | + 0.10% uninitialized_copy<__gnu_cxx::__normal_iterator<int const*, std::vector<int> >, int*>
- | | | | | | | | | | | | | | | | | | | | | + 0.10% __uninit_copy<__gnu_cxx::__normal_iterator<int const*, std::vector<int> >, int*>
- | | | | | | | | | | | | | | | | | | | | | + 0.10% copy<__gnu_cxx::__normal_iterator<int const*, std::vector<int> >, int*>
- | | | | | | | | | | | | | | | | | | | | | + 0.10% __copy_move_a2<false, __gnu_cxx::__normal_iterator<int const*, std::vector<int> >, int*>
- | | | | | | | | | | | | | | | | | | | | | + 0.10% __copy_move_a<false, int const*, int*>
- | | | | | | | | | | | | | | | | | | | | | + 0.10% __copy_m<int>
- | | | | | | | | | | | | | | | | | | | | | + 0.05% memmove@plt
- | | | | | | | | | | | | | | | | | | | | | + 0.05% __memmove_ssse3_back
- | | | | | | | | | | | | | | | | | | | | + 0.35% get_pg_pool
- | | | | | | | | | | | | | | | | | | | | | + 0.35% find
- | | | | | | | | | | | | | | | | | | | | | + 0.25% std::_Rb_tree<long, std::pair<long const, pg_pool_t>, std::_Select1st<std::pair<long const, pg_pool_t> >, std::less<long>, mempool::pool_allocator<(mempool::pool_index_t)9, std::pair<long const, pg_pool_t> > >::find
- | | | | | | | | | | | | | | | | | | | | | | + 0.05% _M_lower_bound
- | | | | | | | | | | | | | | | | | | | | | + 0.05% _ZNKSt8_Rb_treeIlSt4pairIKl9pg_pool_tESt10_Select1stIS3_ESt4lessIlEN7mempool14pool_allocatorILNS8_12pool_index_tE9ES3_EEE4findERS1_@plt
- | | | | | | | | | | | | | | | | | | | | + 0.15% ~vector
- | | | | | | | | | | | | | | | | | | | | | + 0.15% ~_Vector_base
- | | | | | | | | | | | | | | | | | | | | | + 0.15% _M_deallocate
- | | | | | | | | | | | | | | | | | | | | | + 0.15% deallocate
- | | | | | | | | | | | | | | | | | | | | | + 0.05% operator delete
- | | | | | | | | | | | | | | | | | | | | | + 0.05% _int_free
- | | | | | | | | | | | | | | | | | | | | + 0.10% operator=
- | | | | | | | | | | | | | | | | | | | | | + 0.10% operator=
- | | | | | | | | | | | | | | | | | | | | | + 0.10% std::string::assign
- | | | | | | | | | | | | | | | | | | | | | + 0.05% _M_grab
- | | | | | | | | | | | | | | | | | | | | + 0.05% ceph::logging::SubsystemMap::should_gather
- | | | | | | | | | | | | | | | | | | | | + 0.05% _ZNK6OSDMap20object_locator_to_pgERK8object_tRK16object_locator_tR4pg_t@plt
- | | | | | | | | | | | | | | | | | | | + 8.05% Objecter::_send_op
- | | | | | | | | | | | | | | | | | | | | + 6.80% AsyncConnection::send_message
- | | | | | | | | | | | | | | | | | | | | | + 3.35% EventCenter::dispatch_event_external
- | | | | | | | | | | | | | | | | | | | | | | + 3.05% EventCenter::wakeup
- | | | | | | | | | | | | | | | | | | | | | | | + 2.95% write
- | | | | | | | | | | | | | | | | | | | | | | + 0.10% unlock
- | | | | | | | | | | | | | | | | | | | | | | | + 0.10% __gthread_mutex_unlock
- | | | | | | | | | | | | | | | | | | | | | | | + 0.10% __GI___pthread_mutex_unlock
- | | | | | | | | | | | | | | | | | | | | | | | + 0.10% __pthread_mutex_unlock_usercnt
- | | | | | | | | | | | | | | | | | | | | | | + 0.05% operator++
- | | | | | | | | | | | | | | | | | | | | | | + 0.05% lock
- | | | | | | | | | | | | | | | | | | | | | + 1.25% lock_guard
- | | | | | | | | | | | | | | | | | | | | | | + 1.25% lock
- | | | | | | | | | | | | | | | | | | | | | | + 1.20% __gthread_mutex_lock
- | | | | | | | | | | | | | | | | | | | | | | + 1.20% __GI___pthread_mutex_lock
- | | | | | | | | | | | | | | | | | | | | | | + 1.10% _L_lock_791
- | | | | | | | | | | | | | | | | | | | | | | + 1.10% __lll_lock_wait
- | | | | | | | | | | | | | | | | | | | | | + 0.45% emplace_back<ceph::buffer::list, Message*&>
- | | | | | | | | | | | | | | | | | | | | | | + 0.45% _M_insert<ceph::buffer::list, Message*&>
- | | | | | | | | | | | | | | | | | | | | | | + 0.35% _M_create_node<ceph::buffer::list, Message*&>
- | | | | | | | | | | | | | | | | | | | | | | | + 0.20% _M_get_node
- | | | | | | | | | | | | | | | | | | | | | | | | + 0.20% allocate
- | | | | | | | | | | | | | | | | | | | | | | | | + 0.20% operator new
- | | | | | | | | | | | | | | | | | | | | | | | | + 0.20% __GI___libc_malloc
- | | | | | | | | | | | | | | | | | | | | | | | | + 0.15% _int_malloc
- | | | | | | | | | | | | | | | | | | | | | | | + 0.15% construct<std::_List_node<std::pair<ceph::buffer::list, Message*> >, ceph::buffer::list, Message*&>
- | | | | | | | | | | | | | | | | | | | | | | | + 0.15% _List_node<ceph::buffer::list, Message*&>
- | | | | | | | | | | | | | | | | | | | | | | | + 0.15% pair<ceph::buffer::list, Message*&, void>
- | | | | | | | | | | | | | | | | | | | | | | | + 0.15% ceph::buffer::list::list(ceph::buffer::list&&)
- | | | | | | | | | | | | | | | | | | | | | | | + 0.10% clear
- | | | | | | | | | | | | | | | | | | | | | | | | + 0.05% ~ptr
- | | | | | | | | | | | | | | | | | | | | | | | | + 0.05% clear
- | | | | | | | | | | | | | | | | | | | | | | | + 0.05% _ZN4ceph6buffer3ptr4swapERS1_@plt
- | | | | | | | | | | | | | | | | | | | | | | + 0.10% std::__detail::_List_node_base::_M_hook
- | | | | | | | | | | | | | | | | | | | | | + 0.35% operator[]
- | | | | | | | | | | | | | | | | | | | | | | + 0.35% _M_emplace_hint_unique<const std::piecewise_construct_t&, std::tuple<int&&>, std::tuple<> >
- | | | | | | | | | | | | | | | | | | | | | | + 0.15% std::_Rb_tree<int, std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > >, std::_Select1st<std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > > >, std::less<int>, std::allocator<std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > > > >::_M_get_insert_hint_unique_pos
- | | | | | | | | | | | | | | | | | | | | | | | + 0.05% std::_Rb_tree<int, std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > >, std::_Select1st<std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > > >, std::less<int>, std::allocator<std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > > > >::_M_get_insert_unique_pos
- | | | | | | | | | | | | | | | | | | | | | | | + 0.05% _ZNSt8_Rb_treeIiSt4pairIKiSt4listIS0_IN4ceph6buffer4listEP7MessageESaIS8_EEESt10_Select1stISB_ESt4lessIiESaISB_EE24_M_get_insert_unique_posERS1_@plt
- | | | | | | | | | | | | | | | | | | | | | | + 0.15% _M_create_node<const std::piecewise_construct_t&, std::tuple<int&&>, std::tuple<> >
- | | | | | | | | | | | | | | | | | | | | | | | + 0.15% _M_get_node
- | | | | | | | | | | | | | | | | | | | | | | | + 0.15% allocate
- | | | | | | | | | | | | | | | | | | | | | | | + 0.15% operator new
- | | | | | | | | | | | | | | | | | | | | | | | + 0.15% __GI___libc_malloc
- | | | | | | | | | | | | | | | | | | | | | | | + 0.15% _int_malloc
- | | | | | | | | | | | | | | | | | | | | | | + 0.05% _M_insert_node
- | | | | | | | | | | | | | | | | | | | | | + 0.25% ~intrusive_ptr
- | | | | | | | | | | | | | | | | | | | | | | + 0.20% RefCountedObject::put
- | | | | | | | | | | | | | | | | | | | | | | | + 0.05% dec
- | | | | | | | | | | | | | | | | | | | | | | + 0.05% _ZNK16RefCountedObject3putEv@plt
- | | | | | | | | | | | | | | | | | | | | | + 0.25% now
- | | | | | | | | | | | | | | | | | | | | | | + 0.15% clock_gettime
- | | | | | | | | | | | | | | | | | | | | | | + 0.10% clock_gettime@plt
- | | | | | | | | | | | | | | | | | | | | | + 0.15% operator==
- | | | | | | | | | | | | | | | | | | | | | | + 0.15% __memcmp_sse4_1
- | | | | | | | | | | | | | | | | | | | | | + 0.15% PerfCounters::inc
- | | | | | | | | | | | | | | | | | | | | | + 0.10% should_gather
- | | | | | | | | | | | | | | | | | | | | | + 0.10% set_connection
- | | | | | | | | | | | | | | | | | | | | | | + 0.10% operator=
- | | | | | | | | | | | | | | | | | | | | | | + 0.10% intrusive_ptr
- | | | | | | | | | | | | | | | | | | | | | | + 0.10% intrusive_ptr_add_ref
- | | | | | | | | | | | | | | | | | | | | | | + 0.10% RefCountedObject::get
- | | | | | | | | | | | | | | | | | | | | | + 0.10% list
- | | | | | | | | | | | | | | | | | | | | | | + 0.10% ceph::buffer::list::iterator::iterator
- | | | | | | | | | | | | | | | | | | | | | + 0.05% ms_can_fast_dispatch
- | | | | | | | | | | | | | | | | | | | | | + 0.05% intrusive_ptr
- | | | | | | | | | | | | | | | | | | | | + 0.35% intrusive_ptr
- | | | | | | | | | | | | | | | | | | | | | + 0.30% intrusive_ptr_add_ref
- | | | | | | | | | | | | | | | | | | | | | | + 0.30% RefCountedObject::get
- | | | | | | | | | | | | | | | | | | | | | + 0.05% _ZNK16RefCountedObject3getEv@plt
- | | | | | | | | | | | | | | | | | | | | + 0.30% Objecter::op_target_t::get_hobj
- | | | | | | | | | | | | | | | | | | | | | + 0.10% object_t
- | | | | | | | | | | | | | | | | | | | | | | + 0.05% std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string
- | | | | | | | | | | | | | | | | | | | | | + 0.10% hobject_t
- | | | | | | | | | | | | | | | | | | | | | | + 0.05% std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string
- | | | | | | | | | | | | | | | | | | | | | | + 0.05% build_hash_cache
- | | | | | | | | | | | | | | | | | | | | | + 0.05% std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string
- | | | | | | | | | | | | | | | | | | | | + 0.15% MOSDOp::get_spg
- | | | | | | | | | | | | | | | | | | | | | + 0.10% operator bool
- | | | | | | | | | | | | | | | | | | | | | + 0.10% load
- | | | | | | | | | | | | | | | | | | | | + 0.10% ~intrusive_ptr
- | | | | | | | | | | | | | | | | | | | | | + 0.10% RefCountedObject::put
- | | | | | | | | | | | | | | | | | | | | | + 0.10% dec
- | | | | | | | | | | | | | | | | | | | | + 0.05% set_tid
- | | | | | | | | | | | | | | | | | | | | + 0.05% find
- | | | | | | | | | | | | | | | | | | | + 2.90% Objecter::_prepare_osd_op
- | | | | | | | | | | | | | | | | | | | | + 0.75% MOSDOp
- | | | | | | | | | | | | | | | | | | | | | + 0.40% MOSDFastDispatchOp
- | | | | | | | | | | | | | | | | | | | | | | + 0.40% Message::Message
- | | | | | | | | | | | | | | | | | | | | | | + 0.20% list
- | | | | | | | | | | | | | | | | | | | | | | | + 0.15% ceph::buffer::list::iterator_impl<false>::iterator_impl
- | | | | | | | | | | | | | | | | | | | | | | | + 0.05% ceph::buffer::list::iterator_impl<false>::advance
- | | | | | | | | | | | | | | | | | | | | | | + 0.05% operator=
- | | | | | | | | | | | | | | | | | | | | | | + 0.05% memset
- | | | | | | | | | | | | | | | | | | | | | | + 0.05% list_member_hook
- | | | | | | | | | | | | | | | | | | | | | | + 0.05% RefCountedObject
- | | | | | | | | | | | | | | | | | | | | | + 0.30% hobject_t
- | | | | | | | | | | | | | | | | | | | | | | + 0.30% object_t
- | | | | | | | | | | | | | | | | | | | | | | + 0.30% std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string
- | | | | | | | | | | | | | | | | | | | | | | + 0.25% _M_grab
- | | | | | | | | | | | | | | | | | | | | | | + 0.25% _M_refcopy
- | | | | | | | | | | | | | | | | | | | | | | + 0.25% __atomic_add_dispatch
- | | | | | | | | | | | | | | | | | | | | | | + 0.25% __atomic_add
- | | | | | | | | | | | | | | | | | | | | | + 0.05% vector
- | | | | | | | | | | | | | | | | | | | | + 0.55% std::vector<OSDOp, std::allocator<OSDOp> >::operator=
- | | | | | | | | | | | | | | | | | | | | | + 0.50% _M_allocate_and_copy<__gnu_cxx::__normal_iterator<OSDOp const*, std::vector<OSDOp> > >
- | | | | | | | | | | | | | | | | | | | | | + 0.30% __uninitialized_copy_a<__gnu_cxx::__normal_iterator<OSDOp const*, std::vector<OSDOp> >, OSDOp*, OSDOp>
- | | | | | | | | | | | | | | | | | | | | | | + 0.30% uninitialized_copy<__gnu_cxx::__normal_iterator<OSDOp const*, std::vector<OSDOp> >, OSDOp*>
- | | | | | | | | | | | | | | | | | | | | | | + 0.30% __uninit_copy<__gnu_cxx::__normal_iterator<OSDOp const*, std::vector<OSDOp> >, OSDOp*>
- | | | | | | | | | | | | | | | | | | | | | | + 0.30% _Construct<OSDOp, OSDOp const&>
- | | | | | | | | | | | | | | | | | | | | | | + 0.30% OSDOp
- | | | | | | | | | | | | | | | | | | | | | | + 0.30% ceph::buffer::list::list
- | | | | | | | | | | | | | | | | | | | | | | + 0.30% list
- | | | | | | | | | | | | | | | | | | | | | | + 0.30% _M_initialize_dispatch<std::_List_const_iterator<ceph::buffer::ptr> >
- | | | | | | | | | | | | | | | | | | | | | | + 0.30% emplace_back<ceph::buffer::ptr const&>
- | | | | | | | | | | | | | | | | | | | | | | + 0.30% _M_insert<ceph::buffer::ptr const&>
- | | | | | | | | | | | | | | | | | | | | | | + 0.30% _M_create_node<ceph::buffer::ptr const&>
- | | | | | | | | | | | | | | | | | | | | | | + 0.25% _M_get_node
- | | | | | | | | | | | | | | | | | | | | | | | + 0.25% allocate
- | | | | | | | | | | | | | | | | | | | | | | | + 0.25% operator new
- | | | | | | | | | | | | | | | | | | | | | | | + 0.25% __GI___libc_malloc
- | | | | | | | | | | | | | | | | | | | | | | | + 0.10% _int_malloc
- | | | | | | | | | | | | | | | | | | | | | | + 0.05% construct<std::_List_node<ceph::buffer::ptr>, ceph::buffer::ptr const&>
- | | | | | | | | | | | | | | | | | | | | | + 0.20% _M_allocate
- | | | | | | | | | | | | | | | | | | | | | + 0.20% allocate
- | | | | | | | | | | | | | | | | | | | | | + 0.20% operator new
- | | | | | | | | | | | | | | | | | | | | | + 0.15% __GI___libc_malloc
- | | | | | | | | | | | | | | | | | | | | | | + 0.10% _int_malloc
- | | | | | | | | | | | | | | | | | | | | | + 0.05% malloc@plt
- | | | | | | | | | | | | | | | | | | | | + 0.55% operator new
- | | | | | | | | | | | | | | | | | | | | | + 0.55% __GI___libc_malloc
- | | | | | | | | | | | | | | | | | | | | | + 0.30% _int_malloc
- | | | | | | | | | | | | | | | | | | | | + 0.45% PerfCounters::inc
- | | | | | | | | | | | | | | | | | | | | | + 0.30% add
- | | | | | | | | | | | | | | | | | | | | | + 0.30% ceph_spin_lock
- | | | | | | | | | | | | | | | | | | | | | + 0.30% pthread_spin_lock
- | | | | | | | | | | | | | | | | | | | | + 0.15% get_hobj
- | | | | | | | | | | | | | | | | | | | | | + 0.15% hobject_t
- | | | | | | | | | | | | | | | | | | | | | + 0.05% object_t
- | | | | | | | | | | | | | | | | | | | | | + 0.05% build_hash_cache
- | | | | | | | | | | | | | | | | | | | | | + 0.05% _ZNSsC1ERKSs@plt
- | | | | | | | | | | | | | | | | | | | | + 0.10% now
- | | | | | | | | | | | | | | | | | | | | | + 0.10% clock_gettime
- | | | | | | | | | | | | | | | | | | | | | + 0.05% clock_gettime
- | | | | | | | | | | | | | | | | | | | | + 0.05% ~hobject_t
- | | | | | | | | | | | | | | | | | | | | + 0.05% set_snaps
- | | | | | | | | | | | | | | | | | | | | + 0.05% set_snap_seq
- | | | | | | | | | | | | | | | | | | | | + 0.05% set_mtime
- | | | | | | | | | | | | | | | | | | | + 0.65% Objecter::_get_session
- | | | | | | | | | | | | | | | | | | | | + 0.10% RefCountedObject::get
- | | | | | | | | | | | | | | | | | | | | + 0.05% find
- | | | | | | | | | | | | | | | | | | | + 0.55% unique_lock
- | | | | | | | | | | | | | | | | | | | | + 0.55% lock
- | | | | | | | | | | | | | | | | | | | | + 0.55% boost::shared_mutex::lock
- | | | | | | | | | | | | | | | | | | | | + 0.25% boost::condition_variable::wait
- | | | | | | | | | | | | | | | | | | | | | + 0.25% pthread_cond_wait@@GLIBC_2.3.2
- | | | | | | | | | | | | | | | | | | | | + 0.20% unique_lock
- | | | | | | | | | | | | | | | | | | | | | + 0.20% boost::unique_lock<boost::mutex>::lock
- | | | | | | | | | | | | | | | | | | | | | + 0.10% lock
- | | | | | | | | | | | | | | | | | | | | | + 0.10% pthread_mutex_lock
- | | | | | | | | | | | | | | | | | | | | | + 0.10% __GI___pthread_mutex_lock
- | | | | | | | | | | | | | | | | | | | | + 0.10% ~unique_lock
- | | | | | | | | | | | | | | | | | | | | + 0.10% unlock
- | | | | | | | | | | | | | | | | | | | | + 0.05% pthread_mutex_unlock
- | | | | | | | | | | | | | | | | | | | + 0.45% Objecter::_session_op_assign
- | | | | | | | | | | | | | | | | | | | | + 0.30% operator[]
- | | | | | | | | | | | | | | | | | | | | | + 0.30% _M_emplace_hint_unique<const std::piecewise_construct_t&, std::tuple<long unsigned int const&>, std::tuple<> >
- | | | | | | | | | | | | | | | | | | | | | + 0.15% _M_insert_node
- | | | | | | | | | | | | | | | | | | | | | | + 0.10% std::_Rb_tree_insert_and_rebalance
- | | | | | | | | | | | | | | | | | | | | | | + 0.05% _ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_@plt
- | | | | | | | | | | | | | | | | | | | | | + 0.15% _M_create_node<const std::piecewise_construct_t&, std::tuple<long unsigned int const&>, std::tuple<> >
- | | | | | | | | | | | | | | | | | | | | | + 0.15% _M_get_node
- | | | | | | | | | | | | | | | | | | | | | + 0.15% allocate
- | | | | | | | | | | | | | | | | | | | | | + 0.15% operator new
- | | | | | | | | | | | | | | | | | | | | | + 0.10% __GI___libc_malloc
- | | | | | | | | | | | | | | | | | | | | | | + 0.10% _int_malloc
- | | | | | | | | | | | | | | | | | | | | | + 0.05% malloc@plt
- | | | | | | | | | | | | | | | | | | | | + 0.15% Objecter::get_session
- | | | | | | | | | | | | | | | | | | | | + 0.15% RefCountedObject::get
- | | | | | | | | | | | | | | | | | | | | + 0.05% inc
- | | | | | | | | | | | | | | | | | | | + 0.40% Objecter::_send_op_account
- | | | | | | | | | | | | | | | | | | | | + 0.35% PerfCounters::inc
- | | | | | | | | | | | | | | | | | | | | + 0.30% add
- | | | | | | | | | | | | | | | | | | | | + 0.30% ceph_spin_lock
- | | | | | | | | | | | | | | | | | | | | + 0.30% pthread_spin_lock
- | | | | | | | | | | | | | | | | | | | + 0.30% std::unique_lock<boost::shared_mutex>::unlock
- | | | | | | | | | | | | | | | | | | | | + 0.30% unlock
- | | | | | | | | | | | | | | | | | | | | + 0.25% release_waiters
- | | | | | | | | | | | | | | | | | | | | | + 0.15% notify_one
- | | | | | | | | | | | | | | | | | | | | | | + 0.10% ~pthread_mutex_scoped_lock
- | | | | | | | | | | | | | | | | | | | | | | | + 0.10% unlock
- | | | | | | | | | | | | | | | | | | | | | | | + 0.10% __GI___pthread_mutex_unlock
- | | | | | | | | | | | | | | | | | | | | | | | + 0.10% __pthread_mutex_unlock_usercnt
- | | | | | | | | | | | | | | | | | | | | | | + 0.05% pthread_mutex_scoped_lock
- | | | | | | | | | | | | | | | | | | | | | + 0.10% notify_all
- | | | | | | | | | | | | | | | | | | | | | + 0.05% pthread_mutex_scoped_lock
- | | | | | | | | | | | | | | | | | | | | | + 0.05% pthread_cond_broadcast@@GLIBC_2.3.2
- | | | | | | | | | | | | | | | | | | | | + 0.05% unique_lock
- | | | | | | | | | | | | | | | | | | | + 0.20% inc
- | | | | | | | | | | | | | | | | | | | | + 0.20% ceph_spin_lock
- | | | | | | | | | | | | | | | | | | | | + 0.15% pthread_spin_lock
- | | | | | | | | | | | | | | | | | | | | + 0.05% pthread_spin_lock@plt
- | | | | | | | | | | | | | | | | | | | + 0.15% ceph::logging::SubsystemMap::should_gather
- | | | | | | | | | | | | | | | | | | | | + 0.05% size
- | | | | | | | | | | | | | | | | | | | + 0.10% Objecter::put_session
- | | | | | | | | | | | | | | | | | | | + 0.05% Objecter::_osdmap_pool_full
- | | | | | | | | | | | | | | | | | | + 2.90% _take_op_budget
- | | | | | | | | | | | | | | | | | | + 2.80% Objecter::_throttle_op
- | | | | | | | | | | | | | | | | | | | + 2.70% Throttle::get_or_fail
- | | | | | | | | | | | | | | | | | | | + 0.90% Locker
- | | | | | | | | | | | | | | | | | | | | + 0.90% Mutex::Lock
- | | | | | | | | | | | | | | | | | | | | + 0.85% __GI___pthread_mutex_lock
- | | | | | | | | | | | | | | | | | | | | + 0.80% _L_lock_791
- | | | | | | | | | | | | | | | | | | | | + 0.80% __lll_lock_wait
- | | | | | | | | | | | | | | | | | | | + 0.55% PerfCounters::inc
- | | | | | | | | | | | | | | | | | | | | + 0.25% add
- | | | | | | | | | | | | | | | | | | | | + 0.25% ceph_spin_lock
- | | | | | | | | | | | | | | | | | | | | + 0.25% pthread_spin_lock
- | | | | | | | | | | | | | | | | | | | + 0.25% _should_wait
- | | | | | | | | | | | | | | | | | | | | + 0.25% read
- | | | | | | | | | | | | | | | | | | | | + 0.20% AO_load_read
- | | | | | | | | | | | | | | | | | | | | | + 0.20% AO_load
- | | | | | | | | | | | | | | | | | | | | + 0.05% AO_nop_full
- | | | | | | | | | | | | | | | | | | | + 0.25% PerfCounters::set
- | | | | | | | | | | | | | | | | | | | | + 0.15% set
- | | | | | | | | | | | | | | | | | | | | + 0.15% ceph_spin_lock
- | | | | | | | | | | | | | | | | | | | | + 0.15% pthread_spin_lock
- | | | | | | | | | | | | | | | | | | | + 0.15% ~Locker
- | | | | | | | | | | | | | | | | | | | | + 0.15% Mutex::Unlock
- | | | | | | | | | | | | | | | | | | | | + 0.05% _pre_unlock
- | | | | | | | | | | | | | | | | | | | | + 0.05% __GI___pthread_mutex_unlock
- | | | | | | | | | | | | | | | | | | | + 0.10% should_gather
- | | | | | | | | | | | | | | | | | | | | + 0.05% size
- | | | | | | | | | | | | | | | | | | | + 0.10% read
- | | | | | | | | | | | | | | | | | | | | + 0.10% AO_load_read
- | | | | | | | | | | | | | | | | | | | | + 0.10% AO_load
- | | | | | | | | | | | | | | | | | | | + 0.05% _ZN12PerfCounters3incEim@plt
- | | | | | | | | | | | | | | | | | | + 0.10% Objecter::calc_op_budget
- | | | | | | | | | | | | | | | | | | + 0.05% operator __u16
- | | | | | | | | | | | | | | | | | | + 0.05% begin
- | | | | | | | | | | | | | | | | | + 1.35% shunique_lock
- | | | | | | | | | | | | | | | | | | + 1.30% lock_shared
- | | | | | | | | | | | | | | | | | | + 1.30% boost::shared_mutex::lock_shared
- | | | | | | | | | | | | | | | | | | + 0.50% unique_lock
- | | | | | | | | | | | | | | | | | | | + 0.45% boost::unique_lock<boost::mutex>::lock
- | | | | | | | | | | | | | | | | | | | | + 0.45% lock
- | | | | | | | | | | | | | | | | | | | | + 0.45% pthread_mutex_lock
- | | | | | | | | | | | | | | | | | | | | + 0.45% __GI___pthread_mutex_lock
- | | | | | | | | | | | | | | | | | | | | + 0.35% _L_lock_791
- | | | | | | | | | | | | | | | | | | | | + 0.35% __lll_lock_wait
- | | | | | | | | | | | | | | | | | | | + 0.05% _ZN5boost11unique_lockINS_5mutexEE4lockEv@plt
- | | | | | | | | | | | | | | | | | | + 0.40% boost::this_thread::disable_interruption::disable_interruption()
- | | | | | | | | | | | | | | | | | | | + 0.35% boost::this_thread::interruption_enabled()
- | | | | | | | | | | | | | | | | | | | + 0.10% boost::detail::get_current_thread_data()
- | | | | | | | | | | | | | | | | | | | | + 0.10% boost::thread_detail::enter_once_region(boost::once_flag&)
- | | | | | | | | | | | | | | | | | | | + 0.05% pthread_getspecific@plt
- | | | | | | | | | | | | | | | | | | | + 0.05% __GI___pthread_getspecific
- | | | | | | | | | | | | | | | | | | + 0.20% ~unique_lock
- | | | | | | | | | | | | | | | | | | | + 0.15% unlock
- | | | | | | | | | | | | | | | | | | | + 0.15% pthread_mutex_unlock
- | | | | | | | | | | | | | | | | | | | + 0.10% __GI___pthread_mutex_unlock
- | | | | | | | | | | | | | | | | | | | | + 0.10% __pthread_mutex_unlock_usercnt
- | | | | | | | | | | | | | | | | | | | + 0.05% pthread_mutex_unlock@plt
- | | | | | | | | | | | | | | | | | | + 0.05% _ZN5boost11this_thread20disable_interruptionC1Ev@plt
- | | | | | | | | | | | | | | | | | + 0.45% ~shunique_lock
- | | | | | | | | | | | | | | | | | + 0.45% boost::shared_mutex::unlock_shared
- | | | | | | | | | | | | | | | | | + 0.20% release_waiters
- | | | | | | | | | | | | | | | | | | + 0.15% notify_one
- | | | | | | | | | | | | | | | | | | | + 0.10% pthread_mutex_scoped_lock
- | | | | | | | | | | | | | | | | | | | | + 0.10% __GI___pthread_mutex_lock
- | | | | | | | | | | | | | | | | | | | + 0.05% pthread_cond_signal@@GLIBC_2.3.2
- | | | | | | | | | | | | | | | | | | + 0.05% notify_all
- | | | | | | | | | | | | | | | | | + 0.05% unique_lock
- | | | | | | | | | | | | | | | | + 1.65% prepare_mutate_op
- | | | | | | | | | | | | | | | | | + 1.25% Objecter::Op::Op
- | | | | | | | | | | | | | | | | | | + 0.65% resize
- | | | | | | | | | | | | | | | | | | | + 0.30% std::vector<int*, std::allocator<int*> >::_M_default_append
- | | | | | | | | | | | | | | | | | | | | + 0.30% _M_allocate
- | | | | | | | | | | | | | | | | | | | | + 0.30% allocate
- | | | | | | | | | | | | | | | | | | | | + 0.30% operator new
- | | | | | | | | | | | | | | | | | | | | + 0.25% __GI___libc_malloc
- | | | | | | | | | | | | | | | | | | | | | + 0.20% _int_malloc
- | | | | | | | | | | | | | | | | | | | | + 0.05% malloc@plt
- | | | | | | | | | | | | | | | | | | | + 0.15% std::vector<ceph::buffer::list*, std::allocator<ceph::buffer::list*> >::_M_default_append
- | | | | | | | | | | | | | | | | | | | | + 0.15% _M_allocate
- | | | | | | | | | | | | | | | | | | | | + 0.15% allocate
- | | | | | | | | | | | | | | | | | | | | + 0.15% operator new
- | | | | | | | | | | | | | | | | | | | | + 0.15% __GI___libc_malloc
- | | | | | | | | | | | | | | | | | | | | + 0.05% _int_malloc
- | | | | | | | | | | | | | | | | | | | + 0.10% std::vector<Context*, std::allocator<Context*> >::_M_default_append
- | | | | | | | | | | | | | | | | | | | + 0.10% _M_allocate
- | | | | | | | | | | | | | | | | | | | + 0.10% allocate
- | | | | | | | | | | | | | | | | | | | + 0.10% operator new
- | | | | | | | | | | | | | | | | | | | + 0.10% __GI___libc_malloc
- | | | | | | | | | | | | | | | | | | + 0.25% ~object_t
- | | | | | | | | | | | | | | | | | | | + 0.25% ~basic_string
- | | | | | | | | | | | | | | | | | | | + 0.25% std::string::_Rep::_M_dispose
- | | | | | | | | | | | | | | | | | | | + 0.25% std::string::_Rep::_M_dispose
- | | | | | | | | | | | | | | | | | | | + 0.25% __exchange_and_add_dispatch
- | | | | | | | | | | | | | | | | | | | + 0.25% __exchange_and_add
- | | | | | | | | | | | | | | | | | | + 0.15% op_target_t
- | | | | | | | | | | | | | | | | | | | + 0.10% vector
- | | | | | | | | | | | | | | | | | | | | + 0.10% _Vector_base
- | | | | | | | | | | | | | | | | | | | | + 0.10% _Vector_impl
- | | | | | | | | | | | | | | | | | | | + 0.05% object_t
- | | | | | | | | | | | | | | | | | | + 0.10% object_t
- | | | | | | | | | | | | | | | | | | + 0.10% std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string
- | | | | | | | | | | | | | | | | | + 0.25% operator new
- | | | | | | | | | | | | | | | | | | + 0.25% __GI___libc_malloc
- | | | | | | | | | | | | | | | | | | + 0.15% _int_malloc
- | | | | | | | | | | | | | | | | | + 0.15% read
- | | | | | | | | | | | | | | | | | + 0.15% AO_load_read
- | | | | | | | | | | | | | | | | | + 0.15% AO_load
- | | | | | | | | | | | | | | | | + 0.30% librados::IoCtxImpl::queue_aio_write
- | | | | | | | | | | | | | | | | | + 0.10% Mutex::Unlock
- | | | | | | | | | | | | | | | | | | + 0.05% _pre_unlock
- | | | | | | | | | | | | | | | | | | + 0.05% __GI___pthread_mutex_unlock
- | | | | | | | | | | | | | | | | | + 0.10% Mutex::Lock
- | | | | | | | | | | | | | | | | | + 0.10% __GI___pthread_mutex_lock
- | | | | | | | | | | | | | | | | | + 0.10% _L_lock_791
- | | | | | | | | | | | | | | | | | + 0.10% __lll_lock_wait
- | | | | | | | | | | | | | | | | + 0.25% operator new
- | | | | | | | | | | | | | | | | | + 0.25% __GI___libc_malloc
- | | | | | | | | | | | | | | | | | + 0.05% _int_malloc
- | | | | | | | | | | | | | | | | + 0.10% now
- | | | | | | | | | | | | | | | | | + 0.10% clock_gettime
- | | | | | | | | | | | | | | | | | + 0.05% clock_gettime
- | | | | | | | | | | | | | | | | + 0.10% librados::IoCtxImpl::C_aio_Complete::C_aio_Complete
- | | | | | | | | | | | | | | | | + 0.10% get
- | | | | | | | | | | | | | | | | + 0.10% Mutex::Lock
- | | | | | | | | | | | | | | | | + 0.10% __GI___pthread_mutex_lock
- | | | | | | | | | | | | | | | + 0.05% object_t
- | | | | | | | | | | | | | | + 2.45% librbd::io::ObjectWriteRequest::add_write_ops
- | | | | | | | | | | | | | | | + 2.25% librados::ObjectWriteOperation::write
- | | | | | | | | | | | | | | | | + 1.65% write
- | | | | | | | | | | | | | | | | | + 1.65% write
- | | | | | | | | | | | | | | | | | + 1.65% add_data
- | | | | | | | | | | | | | | | | | + 1.60% ObjectOperation::add_op
- | | | | | | | | | | | | | | | | | | + 1.60% resize
- | | | | | | | | | | | | | | | | | | + 0.45% std::vector<OSDOp, std::allocator<OSDOp> >::_M_default_append
- | | | | | | | | | | | | | | | | | | | + 0.25% _M_allocate
- | | | | | | | | | | | | | | | | | | | | + 0.20% allocate
- | | | | | | | | | | | | | | | | | | | | + 0.15% operator new
- | | | | | | | | | | | | | | | | | | | | | + 0.15% __GI___libc_malloc
- | | | | | | | | | | | | | | | | | | | | | + 0.10% _int_malloc
- | | | | | | | | | | | | | | | | | | | | + 0.05% _Znwm@plt
- | | | | | | | | | | | | | | | | | | | + 0.15% __uninitialized_default_n_a<OSDOp*, unsigned long, OSDOp>
- | | | | | | | | | | | | | | | | | | | | + 0.15% __uninitialized_default_n<OSDOp*, unsigned long>
- | | | | | | | | | | | | | | | | | | | | + 0.15% std::__uninitialized_default_n_1<false>::__uninit_default_n<OSDOp*, unsigned long>
- | | | | | | | | | | | | | | | | | | | | + 0.15% _Construct<OSDOp>
- | | | | | | | | | | | | | | | | | | | | + 0.10% memset
- | | | | | | | | | | | | | | | | | | | | + 0.05% list
- | | | | | | | | | | | | | | | | | | | + 0.05% __uninitialized_move_if_noexcept_a<OSDOp*, OSDOp*, std::allocator<OSDOp> >
- | | | | | | | | | | | | | | | | | | + 0.40% std::vector<ceph::buffer::list*, std::allocator<ceph::buffer::list*> >::_M_default_append
- | | | | | | | | | | | | | | | | | | | + 0.35% _M_allocate
- | | | | | | | | | | | | | | | | | | | + 0.35% allocate
- | | | | | | | | | | | | | | | | | | | + 0.35% operator new
- | | | | | | | | | | | | | | | | | | | + 0.35% __GI___libc_malloc
- | | | | | | | | | | | | | | | | | | | + 0.30% _int_malloc
- | | | | | | | | | | | | | | | | | | + 0.40% std::vector<Context*, std::allocator<Context*> >::_M_default_append
- | | | | | | | | | | | | | | | | | | | + 0.40% _M_allocate
- | | | | | | | | | | | | | | | | | | | + 0.40% allocate
- | | | | | | | | | | | | | | | | | | | + 0.40% operator new
- | | | | | | | | | | | | | | | | | | | + 0.40% __GI___libc_malloc
- | | | | | | | | | | | | | | | | | | | + 0.10% _int_malloc
- | | | | | | | | | | | | | | | | | | + 0.15% std::vector<int*, std::allocator<int*> >::_M_default_append
- | | | | | | | | | | | | | | | | | | | + 0.15% _M_allocate
- | | | | | | | | | | | | | | | | | | | + 0.15% allocate
- | | | | | | | | | | | | | | | | | | | + 0.15% operator new
- | | | | | | | | | | | | | | | | | | | + 0.15% __GI___libc_malloc
- | | | | | | | | | | | | | | | | | | | + 0.10% _int_malloc
- | | | | | | | | | | | | | | | | | | + 0.15% _ZNSt6vectorI5OSDOpSaIS0_EE17_M_default_appendEm@plt
- | | | | | | | | | | | | | | | | | + 0.05% _ZN15ObjectOperation6add_opEi@plt
- | | | | | | | | | | | | | | | | + 0.50% ceph::buffer::list::list
- | | | | | | | | | | | | | | | | | + 0.35% list
- | | | | | | | | | | | | | | | | | | + 0.30% _M_initialize_dispatch<std::_List_const_iterator<ceph::buffer::ptr> >
- | | | | | | | | | | | | | | | | | | | + 0.30% emplace_back<ceph::buffer::ptr const&>
- | | | | | | | | | | | | | | | | | | | + 0.30% _M_insert<ceph::buffer::ptr const&>
- | | | | | | | | | | | | | | | | | | | + 0.30% _M_create_node<ceph::buffer::ptr const&>
- | | | | | | | | | | | | | | | | | | | + 0.30% _M_get_node
- | | | | | | | | | | | | | | | | | | | + 0.30% allocate
- | | | | | | | | | | | | | | | | | | | + 0.30% operator new
- | | | | | | | | | | | | | | | | | | | + 0.30% __GI___libc_malloc
- | | | | | | | | | | | | | | | | | | | + 0.15% _L_lock_14932
- | | | | | | | | | | | | | | | | | | | | + 0.15% __lll_lock_wait_private
- | | | | | | | | | | | | | | | | | | | + 0.10% _int_malloc
- | | | | | | | | | | | | | | | | | | + 0.05% _List_base
- | | | | | | | | | | | | | | | | | + 0.05% ceph::buffer::list::iterator_impl<false>::iterator_impl
- | | | | | | | | | | | | | | | | + 0.05% ~list
- | | | | | | | | | | | | | | | + 0.05% librados::ObjectOperation::set_op_flags2
- | | | | | | | | | | | | | | | + 0.05% RLocker
- | | | | | | | | | | | | | | + 1.70% create_rados_callback<librbd::io::AbstractObjectWriteRequest>
- | | | | | | | | | | | | | | | + 1.70% librados::Rados::aio_create_completion
- | | | | | | | | | | | | | | | + 1.45% rados_aio_create_completion
- | | | | | | | | | | | | | | | | + 0.75% AioCompletionImpl
- | | | | | | | | | | | | | | | | | + 0.40% std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string
- | | | | | | | | | | | | | | | | | | + 0.35% _S_construct<char const*>
- | | | | | | | | | | | | | | | | | | | + 0.35% _S_construct_aux<char const*>
- | | | | | | | | | | | | | | | | | | | + 0.35% std::string::_S_construct<char const*>
- | | | | | | | | | | | | | | | | | | | + 0.30% std::string::_Rep::_S_create
- | | | | | | | | | | | | | | | | | | | | + 0.25% allocate
- | | | | | | | | | | | | | | | | | | | | + 0.25% operator new
- | | | | | | | | | | | | | | | | | | | | + 0.20% __GI___libc_malloc
- | | | | | | | | | | | | | | | | | | | | | + 0.15% _int_malloc
- | | | | | | | | | | | | | | | | | | | | + 0.05% malloc@plt
- | | | | | | | | | | | | | | | | | | | + 0.05% _S_copy_chars
- | | | | | | | | | | | | | | | | | | + 0.05% length
- | | | | | | | | | | | | | | | | | + 0.10% ~basic_string
- | | | | | | | | | | | | | | | | | | + 0.10% std::string::_Rep::_M_dispose
- | | | | | | | | | | | | | | | | | | + 0.05% __exchange_and_add_dispatch
- | | | | | | | | | | | | | | | | | + 0.10% Cond
- | | | | | | | | | | | | | | | | | | + 0.10% __pthread_cond_init
- | | | | | | | | | | | | | | | | | + 0.05% item
- | | | | | | | | | | | | | | | | + 0.30% operator new
- | | | | | | | | | | | | | | | | | + 0.30% __GI___libc_malloc
- | | | | | | | | | | | | | | | | | + 0.10% _int_malloc
- | | | | | | | | | | | | | | | | + 0.20% set_complete_callback
- | | | | | | | | | | | | | | | | + 0.20% Mutex::Lock
- | | | | | | | | | | | | | | | | + 0.20% __GI___pthread_mutex_lock
- | | | | | | | | | | | | | | | + 0.25% operator new
- | | | | | | | | | | | | | | | + 0.20% __GI___libc_malloc
- | | | | | | | | | | | | | | | + 0.10% _int_malloc
- | | | | | | | | | | | | | | | + 0.05% _L_lock_14932
- | | | | | | | | | | | | | | + 0.15% RWLock::unlock
- | | | | | | | | | | | | | | | + 0.10% read
- | | | | | | | | | | | | | | | | + 0.10% AO_load_read
- | | | | | | | | | | | | | | | | + 0.10% AO_load
- | | | | | | | | | | | | | | | + 0.05% pthread_rwlock_unlock
- | | | | | | | | | | | | | | + 0.05% librados::ObjectOperation::size
- | | | | | | | | | | | | | + 0.40% librados::AioCompletion::release
- | | | | | | | | | | | | | | + 0.20% release
- | | | | | | | | | | | | | | + 0.15% Mutex::Lock
- | | | | | | | | | | | | | | | + 0.05% _post_lock
- | | | | | | | | | | | | | | | + 0.05% __GI___pthread_mutex_lock
- | | | | | | | | | | | | | | + 0.05% put_unlock
- | | | | | | | | | | | | | + 0.10% ~RLocker
- | | | | | | | | | | | | | | + 0.10% RWLock::unlock
- | | | | | | | | | | | | | | + 0.05% read
- | | | | | | | | | | | | | | + 0.05% pthread_rwlock_unlock@plt
- | | | | | | | | | | | | | + 0.10% RLocker
- | | | | | | | | | | | | | | + 0.10% RWLock::get_read
- | | | | | | | | | | | | | | + 0.05% pthread_rwlock_rdlock
- | | | | | | | | | | | | | + 0.05% ~WLocker
- | | | | | | | | | | | | | + 0.05% operator delete
- | | | | | | | | | | | | | + 0.05% _int_free
- | | | | | | | | | | | | | + 0.05% __GI___libc_free
- | | | | | | | | | | | | | + 0.05% WLocker
- | | | | | | | | | | | | + 0.95% librbd::ObjectMap<librbd::ImageCtx>::object_may_exist
- | | | | | | | | | | | | | + 0.30% librbd::ObjectMap<librbd::ImageCtx>::operator[]
- | | | | | | | | | | | | | | + 0.30% operator uint8_t
- | | | | | | | | | | | | | | + 0.10% compute_index
- | | | | | | | | | | | | | | + 0.10% ceph::buffer::ptr::operator[]
- | | | | | | | | | | | | | | + 0.10% ceph::buffer::list::operator[]
- | | | | | | | | | | | | | + 0.20% ~RLocker
- | | | | | | | | | | | | | | + 0.20% RWLock::unlock
- | | | | | | | | | | | | | | + 0.10% read
- | | | | | | | | | | | | | | | + 0.10% AO_load_read
- | | | | | | | | | | | | | | | + 0.10% AO_load
- | | | | | | | | | | | | | | + 0.10% pthread_rwlock_unlock
- | | | | | | | | | | | | | + 0.10% librbd::ImageCtx::test_flags
- | | | | | | | | | | | | | | + 0.05% librbd::ImageCtx::get_flags
- | | | | | | | | | | | | | | + 0.05% is_locked
- | | | | | | | | | | | | | + 0.10% librbd::ImageCtx::test_features
- | | | | | | | | | | | | | | + 0.05% is_locked
- | | | | | | | | | | | | | + 0.05% is_locked
- | | | | | | | | | | | | + 0.75% librbd::ManagedLock<librbd::ImageCtx>::is_lock_owner
- | | | | | | | | | | | | | + 0.35% ~Locker
- | | | | | | | | | | | | | | + 0.35% Mutex::Unlock
- | | | | | | | | | | | | | | + 0.25% __GI___pthread_mutex_unlock
- | | | | | | | | | | | | | | | + 0.25% __pthread_mutex_unlock_usercnt
- | | | | | | | | | | | | | | + 0.05% pthread_mutex_unlock@plt
- | | | | | | | | | | | | | + 0.30% Locker
- | | | | | | | | | | | | | | + 0.30% Mutex::Lock
- | | | | | | | | | | | | | | + 0.10% __GI___pthread_mutex_lock
- | | | | | | | | | | | | | | + 0.05% _post_lock
- | | | | | | | | | | | | | + 0.10% librbd::ManagedLock<librbd::ImageCtx>::is_lock_owner
- | | | | | | | | | | | | + 0.35% ~RLocker
- | | | | | | | | | | | | + 0.30% RWLock::unlock
- | | | | | | | | | | | | + 0.15% read
- | | | | | | | | | | | | | + 0.15% AO_load_read
- | | | | | | | | | | | | | + 0.15% AO_load
- | | | | | | | | | | | | + 0.15% pthread_rwlock_unlock
- | | | | | | | | | | | + 6.25% librbd::oid_to_object_no
- | | | | | | | | | | | | + 3.95% basic_istringstream
- | | | | | | | | | | | | | + 2.45% basic_istream
- | | | | | | | | | | | | | | + 2.35% std::basic_ios<char, std::char_traits<char> >::init
- | | | | | | | | | | | | | | + 1.80% std::basic_ios<char, std::char_traits<char> >::_M_cache_locale
- | | | | | | | | | | | | | | | + 0.65% std::has_facet<std::ctype<char> >
- | | | | | | | | | | | | | | | | + 0.35% __cxxabiv1::__dynamic_cast
- | | | | | | | | | | | | | | | | | + 0.20% __cxxabiv1::__vmi_class_type_info::__do_dyncast
- | | | | | | | | | | | | | | | | | | + 0.10% operator==
- | | | | | | | | | | | | | | | | | | + 0.05% strcmp@plt
- | | | | | | | | | | | | | | | | | | + 0.05% __strcmp_sse42
- | | | | | | | | | | | | | | | | | + 0.05% adjust_pointer<void>
- | | | | | | | | | | | | | | | | + 0.10% std::locale::id::_M_id
- | | | | | | | | | | | | | | | + 0.55% std::has_facet<std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > >
- | | | | | | | | | | | | | | | | + 0.30% __cxxabiv1::__dynamic_cast
- | | | | | | | | | | | | | | | | | + 0.10% __cxxabiv1::__si_class_type_info::__do_dyncast
- | | | | | | | | | | | | | | | | | + 0.05% adjust_pointer<void>
- | | | | | | | | | | | | | | | | + 0.10% std::locale::id::_M_id
- | | | | | | | | | | | | | | | + 0.20% std::use_facet<std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > >
- | | | | | | | | | | | | | | | | + 0.10% std::locale::id::_M_id
- | | | | | | | | | | | | | | | | + 0.05% __cxxabiv1::__dynamic_cast
- | | | | | | | | | | | | | | | + 0.20% std::has_facet<std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > >
- | | | | | | | | | | | | | | | | + 0.10% std::locale::id::_M_id
- | | | | | | | | | | | | | | | | + 0.10% __cxxabiv1::__dynamic_cast
- | | | | | | | | | | | | | | | + 0.15% std::use_facet<std::ctype<char> >
- | | | | | | | | | | | | | | + 0.50% std::ios_base::_M_init
- | | | | | | | | | | | | | | + 0.15% std::locale::operator=
- | | | | | | | | | | | | | | + 0.15% std::locale::locale
- | | | | | | | | | | | | | | | + 0.05% _M_add_reference
- | | | | | | | | | | | | | | + 0.05% std::locale::~locale
- | | | | | | | | | | | | | | + 0.05% _ZNSt6localeaSERKS_@plt
- | | | | | | | | | | | | | | + 0.05% _ZNSt6localeD1Ev@plt
- | | | | | | | | | | | | | + 0.60% basic_ios
- | | | | | | | | | | | | | | + 0.45% std::locale::locale
- | | | | | | | | | | | | | | | + 0.25% std::locale::_S_initialize
- | | | | | | | | | | | | | | | | + 0.20% __gthread_once
- | | | | | | | | | | | | | | | | + 0.15% pthread_once
- | | | | | | | | | | | | | | | | + 0.05% pthread_once@plt
- | | | | | | | | | | | | | | | + 0.05% _M_add_reference
- | | | | | | | | | | | | | | + 0.15% std::ios_base::ios_base
- | | | | | | | | | | | | | | + 0.05% _Words
- | | | | | | | | | | | | | + 0.45% std::basic_ios<char, std::char_traits<char> >::init
- | | | | | | | | | | | | | | + 0.35% std::basic_ios<char, std::char_traits<char> >::_M_cache_locale
- | | | | | | | | | | | | | | | + 0.20% std::use_facet<std::ctype<char> >
- | | | | | | | | | | | | | | | | + 0.20% __cxxabiv1::__dynamic_cast
- | | | | | | | | | | | | | | | | + 0.10% __cxxabiv1::__vmi_class_type_info::__do_dyncast
- | | | | | | | | | | | | | | | | + 0.05% operator==
- | | | | | | | | | | | | | | | + 0.10% std::has_facet<std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > >
- | | | | | | | | | | | | | | | | + 0.05% __cxxabiv1::__dynamic_cast
- | | | | | | | | | | | | | | | + 0.05% std::has_facet<std::ctype<char> >
- | | | | | | | | | | | | | | + 0.10% std::ios_base::_M_init
- | | | | | | | | | | | | | | + 0.05% std::locale::locale
- | | | | | | | | | | | | | + 0.45% basic_stringbuf
- | | | | | | | | | | | | | + 0.25% std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string
- | | | | | | | | | | | | | | + 0.20% _S_construct<char const*>
- | | | | | | | | | | | | | | + 0.20% _S_construct_aux<char const*>
- | | | | | | | | | | | | | | + 0.20% std::string::_S_construct<char const*>
- | | | | | | | | | | | | | | + 0.15% std::string::_Rep::_S_create
- | | | | | | | | | | | | | | | + 0.10% allocate
- | | | | | | | | | | | | | | | + 0.10% operator new
- | | | | | | | | | | | | | | | + 0.05% __GI___libc_malloc
- | | | | | | | | | | | | | | + 0.05% _S_copy_chars
- | | | | | | | | | | | | | + 0.15% _M_stringbuf_init
- | | | | | | | | | | | | | | + 0.15% std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::_M_sync
- | | | | | | | | | | | | | + 0.05% basic_streambuf
- | | | | | | | | | | | | + 1.25% operator>>
- | | | | | | | | | | | | | + 1.25% std::istream::_M_extract<unsigned long>
- | | | | | | | | | | | | | + 0.90% get
- | | | | | | | | | | | | | | + 0.90% std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::do_get
- | | | | | | | | | | | | | | + 0.90% std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_M_extract_int<unsigned long>
- | | | | | | | | | | | | | | + 0.15% operator*
- | | | | | | | | | | | | | | + 0.10% std::__use_cache<std::__numpunct_cache<char> >::operator()
- | | | | | | | | | | | | | | + 0.10% size
- | | | | | | | | | | | | | | | + 0.10% _M_rep
- | | | | | | | | | | | | | | | + 0.10% _M_data
- | | | | | | | | | | | | | | + 0.10% operator!=<char, std::char_traits<char> >
- | | | | | | | | | | | | | | | + 0.10% equal
- | | | | | | | | | | | | | | | + 0.10% _M_at_eof
- | | | | | | | | | | | | | | | + 0.10% _M_get
- | | | | | | | | | | | | | | | + 0.05% sgetc
- | | | | | | | | | | | | | | + 0.05% operator==<char, std::char_traits<char> >
- | | | | | | | | | | | | | | + 0.05% _M_find<char>
- | | | | | | | | | | | | | + 0.20% std::istream::sentry::sentry
- | | | | | | | | | | | | | | + 0.05% is
- | | | | | | | | | | | | | + 0.10% setstate
- | | | | | | | | | | | | | + 0.10% std::basic_ios<char, std::char_traits<char> >::clear
- | | | | | | | | | | | | + 0.50% ~basic_istringstream
- | | | | | | | | | | | | | + 0.35% ~basic_stringbuf
- | | | | | | | | | | | | | | + 0.30% ~basic_string
- | | | | | | | | | | | | | | + 0.15% _int_free
- | | | | | | | | | | | | | | + 0.10% __GI___libc_free
- | | | | | | | | | | | | | | + 0.05% std::string::_Rep::_M_destroy
- | | | | | | | | | | | | | + 0.15% ~basic_ios
- | | | | | | | | | | | | | + 0.15% std::ios_base::~ios_base
- | | | | | | | | | | | | | + 0.10% std::ios_base::_M_dispose_callbacks
- | | | | | | | | | | | | | + 0.05% _ZNSt8ios_base20_M_dispose_callbacksEv@plt
- | | | | | | | | | | | | + 0.15% std::istream::ignoreXX
- | | | | | | | | | | | | + 0.10% std::istream::sentry::sentry
- | | | | | | | | | | | + 1.90% ObjectWriteRequest
- | | | | | | | | | | | | + 1.50% librbd::io::AbstractObjectWriteRequest::AbstractObjectWriteRequest
- | | | | | | | | | | | | | + 1.15% librbd::io::ObjectRequest<librbd::ImageCtx>::ObjectRequest
- | | | | | | | | | | | | | | + 0.40% ~RLocker
- | | | | | | | | | | | | | | | + 0.40% RWLock::unlock
- | | | | | | | | | | | | | | | + 0.25% pthread_rwlock_unlock
- | | | | | | | | | | | | | | | + 0.10% read
- | | | | | | | | | | | | | | | | + 0.10% AO_load_read
- | | | | | | | | | | | | | | | | + 0.10% AO_load
- | | | | | | | | | | | | | | | + 0.05% dec
- | | | | | | | | | | | | | | + 0.25% librbd::io::ObjectRequest<librbd::ImageCtx>::compute_parent_extents
- | | | | | | | | | | | | | | | + 0.15% is_locked
- | | | | | | | | | | | | | | | | + 0.05% read
- | | | | | | | | | | | | | | | + 0.10% librbd::ImageCtx::get_parent_overlap
- | | | | | | | | | | | | | | | + 0.05% is_locked
- | | | | | | | | | | | | | | + 0.25% Striper::extent_to_file
- | | | | | | | | | | | | | | | + 0.15% std::vector<std::pair<unsigned long, unsigned long>, std::allocator<std::pair<unsigned long, unsigned long> > >::reserve
- | | | | | | | | | | | | | | | + 0.15% _M_allocate_and_copy<std::move_iterator<std::pair<unsigned long, unsigned long>*> >
- | | | | | | | | | | | | | | | + 0.15% _M_allocate
- | | | | | | | | | | | | | | | + 0.15% allocate
- | | | | | | | | | | | | | | | + 0.15% operator new
- | | | | | | | | | | | | | | | + 0.15% __GI___libc_malloc
- | | | | | | | | | | | | | | + 0.15% RLocker
- | | | | | | | | | | | | | | | + 0.15% RWLock::get_read
- | | | | | | | | | | | | | | | + 0.10% pthread_rwlock_rdlock
- | | | | | | | | | | | | | | + 0.10% std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string
- | | | | | | | | | | | | | | + 0.10% _M_grab
- | | | | | | | | | | | | | | + 0.10% _M_refcopy
- | | | | | | | | | | | | | | + 0.10% __atomic_add_dispatch
- | | | | | | | | | | | | | | + 0.10% __atomic_add
- | | | | | | | | | | | | | + 0.35% ObjectWriteOperation
- | | | | | | | | | | | | | + 0.30% librados::ObjectOperation::ObjectOperation
- | | | | | | | | | | | | | | + 0.20% operator new
- | | | | | | | | | | | | | | + 0.15% __GI___libc_malloc
- | | | | | | | | | | | | | | + 0.05% _int_malloc
- | | | | | | | | | | | | | + 0.05% _ZN8librados15ObjectOperationC2Ev@plt
- | | | | | | | | | | | | + 0.40% ceph::buffer::list::list
- | | | | | | | | | | | | + 0.30% list
- | | | | | | | | | | | | | + 0.30% _M_initialize_dispatch<std::_List_const_iterator<ceph::buffer::ptr> >
- | | | | | | | | | | | | | + 0.30% emplace_back<ceph::buffer::ptr const&>
- | | | | | | | | | | | | | + 0.30% _M_insert<ceph::buffer::ptr const&>
- | | | | | | | | | | | | | + 0.30% _M_create_node<ceph::buffer::ptr const&>
- | | | | | | | | | | | | | + 0.30% _M_get_node
- | | | | | | | | | | | | | + 0.30% allocate
- | | | | | | | | | | | | | + 0.30% operator new
- | | | | | | | | | | | | | + 0.25% __GI___libc_malloc
- | | | | | | | | | | | | | + 0.05% _int_malloc
- | | | | | | | | | | | | + 0.05% make_shareable
- | | | | | | | | | | | | + 0.05% ceph::buffer::list::iterator_impl<false>::advance
- | | | | | | | | | | | + 1.25% operator[]
- | | | | | | | | | | | | + 1.25% std::__detail::_Map_base<std::string, std::pair<std::string const, std::queue<librbd::LibrbdWriteback::write_result_d*, std::deque<librbd::LibrbdWriteback::write_result_d*, std::allocator<librbd::LibrbdWriteback::write_result_d*> > > >, std::allocator<std::pair<std::string const, std::queue<librbd::LibrbdWriteback::write_result_d*, std::deque<librbd::LibrbdWriteback::write_result_d*, std::allocator<librbd::LibrbdWriteback::write_result_d*> > > > >, std::__detail::_Select1st, std::equal_to<std::string>, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true>, true>::operator[]
- | | | | | | | | | | | | + 0.95% std::_Hashtable<std::string, std::pair<std::string const, std::queue<librbd::LibrbdWriteback::write_result_d*, std::deque<librbd::LibrbdWriteback::write_result_d*, std::allocator<librbd::LibrbdWriteback::write_result_d*> > > >, std::allocator<std::pair<std::string const, std::queue<librbd::LibrbdWriteback::write_result_d*, std::deque<librbd::LibrbdWriteback::write_result_d*, std::allocator<librbd::LibrbdWriteback::write_result_d*> > > > >, std::__detail::_Select1st, std::equal_to<std::string>, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_allocate_node<std::piecewise_construct_t const&, std::tuple<std::string const&>, std::tuple<> >(std::piecewise_construct_t const&, std::tuple<std::string const&>&&, std::tuple<>&&)
- | | | | | | | | | | | | | + 0.85% construct<std::__detail::_Hash_node<std::pair<const std::basic_string<char>, std::queue<librbd::LibrbdWriteback::write_result_d*> >, true>, const std::piecewise_construct_t&, std::tuple<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&>, std::tuple<> >
- | | | | | | | | | | | | | | + 0.85% _Hash_node<const std::piecewise_construct_t&, std::tuple<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&>, std::tuple<> >
- | | | | | | | | | | | | | | + 0.85% pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>
- | | | | | | | | | | | | | | + 0.85% pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, 0ul>
- | | | | | | | | | | | | | | + 0.35% queue
- | | | | | | | | | | | | | | | + 0.35% deque
- | | | | | | | | | | | | | | | + 0.35% _Deque_base
- | | | | | | | | | | | | | | | + 0.30% std::_Deque_base<librbd::LibrbdWriteback::write_result_d*, std::allocator<librbd::LibrbdWriteback::write_result_d*> >::_M_initialize_map
- | | | | | | | | | | | | | | | | + 0.15% _M_create_nodes
- | | | | | | | | | | | | | | | | | + 0.15% _M_allocate_node
- | | | | | | | | | | | | | | | | | + 0.15% allocate
- | | | | | | | | | | | | | | | | | + 0.15% operator new
- | | | | | | | | | | | | | | | | | + 0.15% __GI___libc_malloc
- | | | | | | | | | | | | | | | | | + 0.15% _int_malloc
- | | | | | | | | | | | | | | | | + 0.15% _M_allocate_map
- | | | | | | | | | | | | | | | | + 0.15% allocate
- | | | | | | | | | | | | | | | | + 0.15% operator new
- | | | | | | | | | | | | | | | | + 0.15% __GI___libc_malloc
- | | | | | | | | | | | | | | | | + 0.05% _int_malloc
- | | | | | | | | | | | | | | | + 0.05% swap<std::_Deque_iterator<librbd::LibrbdWriteback::write_result_d*, librbd::LibrbdWriteback::write_result_d*&, librbd::LibrbdWriteback::write_result_d**> >
- | | | | | | | | | | | | | | + 0.30% deque
- | | | | | | | | | | | | | | | + 0.30% _Deque_base
- | | | | | | | | | | | | | | | + 0.30% std::_Deque_base<librbd::LibrbdWriteback::write_result_d*, std::allocator<librbd::LibrbdWriteback::write_result_d*> >::_M_initialize_map
- | | | | | | | | | | | | | | | + 0.30% _M_create_nodes
- | | | | | | | | | | | | | | | + 0.30% _M_allocate_node
- | | | | | | | | | | | | | | | + 0.30% allocate
- | | | | | | | | | | | | | | | + 0.30% operator new
- | | | | | | | | | | | | | | | + 0.30% __GI___libc_malloc
- | | | | | | | | | | | | | | | + 0.15% _int_malloc
- | | | | | | | | | | | | | | + 0.20% ~deque
- | | | | | | | | | | | | | | + 0.15% std::_Deque_base<librbd::LibrbdWriteback::write_result_d*, std::allocator<librbd::LibrbdWriteback::write_result_d*> >::~_Deque_base
- | | | | | | | | | | | | | | | + 0.15% _M_destroy_nodes
- | | | | | | | | | | | | | | | + 0.15% _M_deallocate_node
- | | | | | | | | | | | | | | | + 0.15% deallocate
- | | | | | | | | | | | | | | | + 0.15% _int_free
- | | | | | | | | | | | | | | + 0.05% _int_free
- | | | | | | | | | | | | | + 0.10% allocate
- | | | | | | | | | | | | | + 0.10% operator new
- | | | | | | | | | | | | | + 0.10% __GI___libc_malloc
- | | | | | | | | | | | | | + 0.05% _int_malloc
- | | | | | | | | | | | | + 0.20% std::_Hashtable<std::string, std::pair<std::string const, std::queue<librbd::LibrbdWriteback::write_result_d*, std::deque<librbd::LibrbdWriteback::write_result_d*, std::allocator<librbd::LibrbdWriteback::write_result_d*> > > >, std::allocator<std::pair<std::string const, std::queue<librbd::LibrbdWriteback::write_result_d*, std::deque<librbd::LibrbdWriteback::write_result_d*, std::allocator<librbd::LibrbdWriteback::write_result_d*> > > > >, std::__detail::_Select1st, std::equal_to<std::string>, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_insert_unique_node
- | | | | | | | | | | | | | + 0.10% _M_insert_bucket_begin
- | | | | | | | | | | | | | + 0.10% _M_bucket_index
- | | | | | | | | | | | | | + 0.10% _M_bucket_index
- | | | | | | | | | | | | | + 0.10% operator()
- | | | | | | | | | | | | + 0.05% _M_hash_code
- | | | | | | | | | | | | + 0.05% _M_find_node
- | | | | | | | | | | | + 1.00% operator new
- | | | | | | | | | | | | + 0.95% __GI___libc_malloc
- | | | | | | | | | | | | | + 0.60% _int_malloc
- | | | | | | | | | | | | + 0.05% malloc@plt
- | | | | | | | | | | | + 0.05% write_result_d
- | | | | | | | | | | + 0.40% mark_tx
- | | | | | | | | | | | + 0.40% ObjectCacher::bh_set_state
- | | | | | | | | | | | + 0.10% lru_remove
- | | | | | | | | | | | | + 0.10% remove
- | | | | | | | | | | | + 0.10% ObjectCacher::bh_stat_sub
- | | | | | | | | | | | + 0.10% LRU::lru_insert_top
- | | | | | | | | | | | | + 0.05% insert_head
- | | | | | | | | | | | + 0.05% ObjectCacher::bh_stat_add
- | | | | | | | | | | + 0.25% C_WriteCommit
- | | | | | | | | | | | + 0.20% push_back
- | | | | | | | | | | | | + 0.20% std::vector<std::pair<long, unsigned long>, std::allocator<std::pair<long, unsigned long> > >::emplace_back<std::pair<long, unsigned long> >(std::pair<long, unsigned long>&&)
- | | | | | | | | | | | | + 0.20% std::vector<std::pair<long, unsigned long>, std::allocator<std::pair<long, unsigned long> > >::_M_emplace_back_aux<std::pair<long, unsigned long> >(std::pair<long, unsigned long>&&)
- | | | | | | | | | | | | + 0.20% _M_allocate
- | | | | | | | | | | | | + 0.20% allocate
- | | | | | | | | | | | | + 0.20% operator new
- | | | | | | | | | | | | + 0.20% __GI___libc_malloc
- | | | | | | | | | | | | + 0.15% _int_malloc
- | | | | | | | | | | | + 0.05% sobject_t
- | | | | | | | | | | + 0.20% ~object_t
- | | | | | | | | | | | + 0.20% ~basic_string
- | | | | | | | | | | | + 0.15% std::string::_Rep::_M_dispose
- | | | | | | | | | | | + 0.10% __exchange_and_add_dispatch
- | | | | | | | | | | | + 0.05% __exchange_and_add
- | | | | | | | | | | + 0.15% ~sobject_t
- | | | | | | | | | | | + 0.15% ~object_t
- | | | | | | | | | | | + 0.15% ~basic_string
- | | | | | | | | | | | + 0.15% std::string::_Rep::_M_dispose
- | | | | | | | | | | | + 0.10% __exchange_and_add_dispatch
- | | | | | | | | | | | + 0.10% __exchange_and_add
- | | | | | | | | | | + 0.10% operator new
- | | | | | | | | | | | + 0.10% __GI___libc_malloc
- | | | | | | | | | | | + 0.05% _L_lock_14932
- | | | | | | | | | | + 0.10% get_soid
- | | | | | | | | | | | + 0.10% sobject_t
- | | | | | | | | | | | + 0.10% object_t
- | | | | | | | | | | | + 0.05% std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string
- | | | | | | | | | | | + 0.05% _ZNSsC1ERKSs@plt
- | | | | | | | | | | + 0.10% PerfCounters::inc
- | | | | | | | | | | + 0.05% add
- | | | | | | | | | + 0.05% operator++
- | | | | | | | | | + 0.05% ObjectCacher::Object::data_lower_bound
- | | | | | | | | + 1.40% new_sub
- | | | | | | | | | + 0.65% C_GatherBase
- | | | | | | | | | | + 0.35% Mutex::Mutex
- | | | | | | | | | | | + 0.10% std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string
- | | | | | | | | | | | | + 0.05% _M_grab
- | | | | | | | | | | | + 0.10% __pthread_mutexattr_settype
- | | | | | | | | | | | + 0.05% pthread_mutexattr_init@plt
- | | | | | | | | | | | + 0.05% __pthread_mutexattr_destroy
- | | | | | | | | | | + 0.30% std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string
- | | | | | | | | | | + 0.25% _S_construct<char const*>
- | | | | | | | | | | + 0.25% _S_construct_aux<char const*>
- | | | | | | | | | | + 0.25% std::string::_S_construct<char const*>
- | | | | | | | | | | + 0.15% std::string::_Rep::_S_create
- | | | | | | | | | | | + 0.15% allocate
- | | | | | | | | | | | + 0.15% operator new
- | | | | | | | | | | | + 0.10% __GI___libc_malloc
- | | | | | | | | | | | + 0.05% _int_malloc
- | | | | | | | | | | + 0.10% _S_copy_chars
- | | | | | | | | | | + 0.10% _M_copy
- | | | | | | | | | | + 0.10% copy
- | | | | | | | | | | + 0.10% __memcpy_ssse3_back
- | | | | | | | | | + 0.50% new_sub
- | | | | | | | | | | + 0.35% insert
- | | | | | | | | | | | + 0.35% std::_Rb_tree<Context*, Context*, std::_Identity<Context*>, std::less<Context*>, std::allocator<Context*> >::_M_insert_unique<Context* const&>
- | | | | | | | | | | | + 0.30% _M_insert_<Context* const&>
- | | | | | | | | | | | + 0.25% _M_create_node<Context* const&>
- | | | | | | | | | | | + 0.25% _M_get_node
- | | | | | | | | | | | + 0.25% allocate
- | | | | | | | | | | | + 0.25% operator new
- | | | | | | | | | | | + 0.20% __GI___libc_malloc
- | | | | | | | | | | | + 0.15% _int_malloc
- | | | | | | | | | | + 0.10% ~Locker
- | | | | | | | | | | | + 0.10% Mutex::Unlock
- | | | | | | | | | | | + 0.10% __GI___pthread_mutex_unlock
- | | | | | | | | | | | + 0.10% __pthread_mutex_unlock_usercnt
- | | | | | | | | | | + 0.05% operator new
- | | | | | | | | | + 0.25% operator new
- | | | | | | | | | + 0.25% __GI___libc_malloc
- | | | | | | | | | + 0.20% _int_malloc
- | | | | | | | | + 0.35% count
- | | | | | | | | | + 0.35% std::_Hashtable<sobject_t, std::pair<sobject_t const, ObjectCacher::Object*>, std::allocator<std::pair<sobject_t const, ObjectCacher::Object*> >, std::__detail::_Select1st, std::equal_to<sobject_t>, std::hash<sobject_t>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::count
- | | | | | | | | | + 0.10% _M_hash_code
- | | | | | | | | | | + 0.10% operator()
- | | | | | | | | | | + 0.10% operator()
- | | | | | | | | | | + 0.05% rjhash64
- | | | | | | | | | | + 0.05% ceph_str_hash_linux
- | | | | | | | | | + 0.10% _M_bucket_begin
- | | | | | | | | | + 0.05% _M_bucket_index
- | | | | | | | | + 0.30% std::map<unsigned long, std::list<Context*, std::allocator<Context*> >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, std::list<Context*, std::allocator<Context*> > > > >::operator[]
- | | | | | | | | | + 0.25% _M_emplace_hint_unique<const std::piecewise_construct_t&, std::tuple<long unsigned int const&>, std::tuple<> >
- | | | | | | | | | | + 0.20% _M_create_node<const std::piecewise_construct_t&, std::tuple<long unsigned int const&>, std::tuple<> >
- | | | | | | | | | | | + 0.20% _M_get_node
- | | | | | | | | | | | + 0.20% allocate
- | | | | | | | | | | | + 0.20% operator new
- | | | | | | | | | | | + 0.20% __GI___libc_malloc
- | | | | | | | | | | | + 0.15% _int_malloc
- | | | | | | | | | | + 0.05% _M_insert_node
- | | | | | | | | | + 0.05% lower_bound
- | | | | | | | | + 0.15% ObjectCacher::_flush_set_finish
- | | | | | | | | | + 0.10% activate
- | | | | | | | | | + 0.10% activate
- | | | | | | | | | + 0.05% Mutex::Lock
- | | | | | | | | + 0.10% push_back
- | | | | | | | | | + 0.10% _M_insert<Context*>
- | | | | | | | | | + 0.10% _M_create_node<Context*>
- | | | | | | | | | + 0.10% _M_get_node
- | | | | | | | | | + 0.10% allocate
- | | | | | | | | | + 0.10% operator new
- | | | | | | | | | + 0.10% __GI___libc_malloc
- | | | | | | | | + 0.10% operator[]
- | | | | | | | | | + 0.10% std::__detail::_Map_base<sobject_t, std::pair<sobject_t const, ObjectCacher::Object*>, std::allocator<std::pair<sobject_t const, ObjectCacher::Object*> >, std::__detail::_Select1st, std::equal_to<sobject_t>, std::hash<sobject_t>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true>, true>::operator[]
- | | | | | | | | | + 0.05% _M_hash_code
- | | | | | | | | | + 0.05% _M_bucket_index
- | | | | | | | | + 0.05% ~sobject_t
- | | | | | | | | + 0.05% ~basic_string
- | | | | | | | | + 0.05% ceph::logging::SubsystemMap::should_gather
- | | | | | | | | + 0.05% C_GatherBuilderBase<Context, C_GatherBase<Context, Context> >::~C_GatherBuilderBase
- | | | | | | | + 0.25% ~Cond
- | | | | | | | | + 0.15% __pthread_cond_destroy
- | | | | | | | + 0.15% Cond
- | | | | | | | | + 0.10% __pthread_cond_init
- | | | | | | | + 0.05% ceph::logging::SubsystemMap::should_gather
- | | | | | | + 4.65% ObjectCacher::trim
- | | | | | | | + 2.30% ~BufferHead
- | | | | | | | | + 2.10% ~list
- | | | | | | | | | + 2.10% ~list
- | | | | | | | | | + 2.10% ~_List_base
- | | | | | | | | | + 2.10% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear
- | | | | | | | | | + 2.05% destroy<std::_List_node<ceph::buffer::ptr> >
- | | | | | | | | | | + 2.05% ~_List_node
- | | | | | | | | | | + 1.95% ~ptr
- | | | | | | | | | | + 1.95% ceph::buffer::ptr::release
- | | | | | | | | | | + 0.75% ceph::buffer::raw_combined::~raw_combined
- | | | | | | | | | | | + 0.60% ~raw_combined
- | | | | | | | | | | | | + 0.50% ~raw
- | | | | | | | | | | | | + 0.50% ~map
- | | | | | | | | | | | | + 0.45% ~_Rb_tree
- | | | | | | | | | | | | + 0.45% std::_Rb_tree<std::pair<unsigned long, unsigned long>, std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> >, std::_Select1st<std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> > >, std::less<std::pair<unsigned long, unsigned long> >, std::allocator<std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> > > >::_M_erase
- | | | | | | | | | | | | + 0.20% _M_destroy_node
- | | | | | | | | | | | | + 0.20% _M_put_node
- | | | | | | | | | | | | + 0.20% deallocate
- | | | | | | | | | | | | + 0.10% _int_free
- | | | | | | | | | | | | + 0.10% __GI___libc_free
- | | | | | | | | | | | + 0.10% operator delete
- | | | | | | | | | | | + 0.10% deallocate_aligned
- | | | | | | | | | | | + 0.10% operator-=
- | | | | | | | | | | + 0.70% _int_free
- | | | | | | | | | | + 0.10% __GI___libc_free
- | | | | | | | | | | + 0.05% dec
- | | | | | | | | | + 0.05% _M_put_node
- | | | | | | | | + 0.10% ~map
- | | | | | | | | | + 0.05% ~_Rb_tree
- | | | | | | | | + 0.10% ~SnapContext
- | | | | | | | | + 0.10% ~vector
- | | | | | | | | + 0.10% ~_Vector_base
- | | | | | | | | + 0.10% _M_deallocate
- | | | | | | | + 1.00% ObjectCacher::bh_remove
- | | | | | | | | + 0.75% remove_bh
- | | | | | | | | + 0.50% count
- | | | | | | | | | + 0.50% std::_Rb_tree<long, std::pair<long const, ObjectCacher::BufferHead*>, std::_Select1st<std::pair<long const, ObjectCacher::BufferHead*> >, std::less<long>, std::allocator<std::pair<long const, ObjectCacher::BufferHead*> > >::find
- | | | | | | | | + 0.25% erase
- | | | | | | | | + 0.25% erase
- | | | | | | | | + 0.25% erase
- | | | | | | | | + 0.25% _M_erase_aux
- | | | | | | | | + 0.15% clear
- | | | | | | | | | + 0.15% std::_Rb_tree<long, std::pair<long const, ObjectCacher::BufferHead*>, std::_Select1st<std::pair<long const, ObjectCacher::BufferHead*> >, std::less<long>, std::allocator<std::pair<long const, ObjectCacher::BufferHead*> > >::_M_erase
- | | | | | | | | | + 0.10% _M_destroy_node
- | | | | | | | | | + 0.10% _M_put_node
- | | | | | | | | | + 0.10% deallocate
- | | | | | | | | | + 0.10% _int_free
- | | | | | | | | + 0.10% erase
- | | | | | | | | + 0.10% _M_erase_aux
- | | | | | | | | + 0.05% std::_Rb_tree_rebalance_for_erase
- | | | | | | | | + 0.05% _M_destroy_node
- | | | | | | | + 0.70% ObjectCacher::close_object
- | | | | | | | | + 0.40% erase
- | | | | | | | | | + 0.40% erase
- | | | | | | | | | + 0.40% _M_erase
- | | | | | | | | | + 0.25% _M_erase
- | | | | | | | | | | + 0.15% _M_bucket_index
- | | | | | | | | | | | + 0.15% _M_bucket_index
- | | | | | | | | | | | + 0.15% operator()
- | | | | | | | | | | + 0.10% std::_Hashtable<sobject_t, std::pair<sobject_t const, ObjectCacher::Object*>, std::allocator<std::pair<sobject_t const, ObjectCacher::Object*> >, std::__detail::_Select1st, std::equal_to<sobject_t>, std::hash<sobject_t>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_deallocate_node
- | | | | | | | | | | + 0.10% destroy<std::__detail::_Hash_node<std::pair<sobject_t const, ObjectCacher::Object*>, true> >
- | | | | | | | | | | + 0.10% ~_Hash_node
- | | | | | | | | | | + 0.10% ~pair
- | | | | | | | | | | + 0.10% ~sobject_t
- | | | | | | | | | | + 0.10% ~object_t
- | | | | | | | | | | + 0.10% ~basic_string
- | | | | | | | | | | + 0.10% _M_dispose
- | | | | | | | | | + 0.05% std::_Hashtable<sobject_t, std::pair<sobject_t const, ObjectCacher::Object*>, std::allocator<std::pair<sobject_t const, ObjectCacher::Object*> >, std::__detail::_Select1st, std::equal_to<sobject_t>, std::hash<sobject_t>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_find_before_node
- | | | | | | | | | + 0.05% _M_hash_code
- | | | | | | | | | + 0.05% _M_bucket_index
- | | | | | | | | + 0.15% _int_free
- | | | | | | | | | + 0.05% _L_lock_4780
- | | | | | | | | + 0.10% ~Object
- | | | | | | | | | + 0.05% ~sobject_t
- | | | | | | | | | + 0.05% ~map
- | | | | | | | | + 0.05% can_close
- | | | | | | | + 0.35% _int_free
- | | | | | | | + 0.25% lru_expire
- | | | | | | | + 0.15% lru_get_next_expire
- | | | | | | | | + 0.05% remove
- | | | | | | | + 0.10% LRU::lru_remove
- | | | | | | | + 0.05% remove
- | | | | | | + 2.60% ObjectCacher::get_object
- | | | | | | | + 1.35% count
- | | | | | | | | + 1.35% std::_Hashtable<sobject_t, std::pair<sobject_t const, ObjectCacher::Object*>, std::allocator<std::pair<sobject_t const, ObjectCacher::Object*> >, std::__detail::_Select1st, std::equal_to<sobject_t>, std::hash<sobject_t>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::count
- | | | | | | | | + 0.55% _M_equals
- | | | | | | | | | + 0.55% _S_equals
- | | | | | | | | | + 0.55% operator()
- | | | | | | | | | + 0.55% operator==
- | | | | | | | | | + 0.55% operator==
- | | | | | | | | | + 0.55% operator==<char>
- | | | | | | | | | + 0.05% size
- | | | | | | | | | + 0.05% compare
- | | | | | | | | + 0.40% _M_bucket_index
- | | | | | | | | | + 0.40% _M_bucket_index
- | | | | | | | | | + 0.40% operator()
- | | | | | | | | + 0.10% _M_hash_code
- | | | | | | | | + 0.10% operator()
- | | | | | | | | + 0.10% operator()
- | | | | | | | | + 0.05% rjhash64
- | | | | | | | | + 0.05% ceph_str_hash_linux
- | | | | | | | + 0.50% operator[]
- | | | | | | | | + 0.50% std::__detail::_Map_base<sobject_t, std::pair<sobject_t const, ObjectCacher::Object*>, std::allocator<std::pair<sobject_t const, ObjectCacher::Object*> >, std::__detail::_Select1st, std::equal_to<sobject_t>, std::hash<sobject_t>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true>, true>::operator[]
- | | | | | | | | + 0.15% _M_allocate_node<const std::piecewise_construct_t&, std::tuple<const sobject_t&>, std::tuple<> >
- | | | | | | | | | + 0.15% allocate
- | | | | | | | | | + 0.15% operator new
- | | | | | | | | | + 0.15% __GI___libc_malloc
- | | | | | | | | | + 0.15% _int_malloc
- | | | | | | | | + 0.10% std::_Hashtable<sobject_t, std::pair<sobject_t const, ObjectCacher::Object*>, std::allocator<std::pair<sobject_t const, ObjectCacher::Object*> >, std::__detail::_Select1st, std::equal_to<sobject_t>, std::hash<sobject_t>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_insert_unique_node
- | | | | | | | | | + 0.10% _M_insert_bucket_begin
- | | | | | | | | | + 0.05% _M_bucket_index
- | | | | | | | | + 0.10% _M_find_node
- | | | | | | | | | + 0.10% std::_Hashtable<sobject_t, std::pair<sobject_t const, ObjectCacher::Object*>, std::allocator<std::pair<sobject_t const, ObjectCacher::Object*> >, std::__detail::_Select1st, std::equal_to<sobject_t>, std::hash<sobject_t>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_find_before_node
- | | | | | | | | + 0.10% _M_bucket_index
- | | | | | | | | | + 0.10% _M_bucket_index
- | | | | | | | | | + 0.10% operator()
- | | | | | | | | + 0.05% _M_hash_code
- | | | | | | | + 0.35% operator new
- | | | | | | | | + 0.35% __GI___libc_malloc
- | | | | | | | | + 0.15% _int_malloc
- | | | | | | | | + 0.15% _L_lock_14932
- | | | | | | | | + 0.15% __lll_lock_wait_private
- | | | | | | | + 0.10% Object
- | | | | | | | | + 0.05% push_back
- | | | | | | | + 0.05% ~sobject_t
- | | | | | | | + 0.05% sobject_t
- | | | | | | + 1.35% ObjectCacher::Object::map_write
- | | | | | | | + 0.45% ObjectCacher::bh_add
- | | | | | | | | + 0.25% add_bh
- | | | | | | | | | + 0.20% operator[]
- | | | | | | | | | | + 0.20% _M_emplace_hint_unique<const std::piecewise_construct_t&, std::tuple<long int&&>, std::tuple<> >
- | | | | | | | | | | + 0.10% _M_create_node<const std::piecewise_construct_t&, std::tuple<long int&&>, std::tuple<> >
- | | | | | | | | | | | + 0.10% _M_get_node
- | | | | | | | | | | | + 0.10% allocate
- | | | | | | | | | | | + 0.10% operator new
- | | | | | | | | | | | + 0.10% __GI___libc_malloc
- | | | | | | | | | | + 0.05% std::_Rb_tree<long, std::pair<long const, ObjectCacher::BufferHead*>, std::_Select1st<std::pair<long const, ObjectCacher::BufferHead*> >, std::less<long>, std::allocator<std::pair<long const, ObjectCacher::BufferHead*> > >::_M_insert_node
- | | | | | | | | | | + 0.05% std::_Rb_tree<long, std::pair<long const, ObjectCacher::BufferHead*>, std::_Select1st<std::pair<long const, ObjectCacher::BufferHead*> >, std::less<long>, std::allocator<std::pair<long const, ObjectCacher::BufferHead*> > >::_M_get_insert_hint_unique_pos
- | | | | | | | | | + 0.05% get
- | | | | | | | | + 0.10% ObjectCacher::bh_stat_add
- | | | | | | | + 0.35% ObjectCacher::Object::data_lower_bound
- | | | | | | | | + 0.05% lower_bound
- | | | | | | | + 0.25% operator new
- | | | | | | | | + 0.25% __GI___libc_malloc
- | | | | | | | | + 0.15% _int_malloc
- | | | | | | | | + 0.10% _L_lock_14932
- | | | | | | | | + 0.10% __lll_lock_wait_private
- | | | | | | | + 0.10% BufferHead
- | | | | | | | | + 0.05% map
- | | | | | | | | + 0.05% list
- | | | | | | | + 0.05% ObjectCacher::Object::replace_journal_tid
- | | | | | | + 1.20% ObjectCacher::mark_dirty
- | | | | | | | + 1.05% ObjectCacher::bh_set_state
- | | | | | | | | + 0.85% insert
- | | | | | | | | | + 0.85% std::_Rb_tree<ObjectCacher::BufferHead*, ObjectCacher::BufferHead*, std::_Identity<ObjectCacher::BufferHead*>, ObjectCacher::BufferHead::ptr_lt, std::allocator<ObjectCacher::BufferHead*> >::_M_insert_unique<ObjectCacher::BufferHead* const&>
- | | | | | | | | | + 0.75% _M_get_insert_unique_pos
- | | | | | | | | | | + 0.65% operator()
- | | | | | | | | | + 0.05% _M_insert_<ObjectCacher::BufferHead* const&>
- | | | | | | | | + 0.10% lru_insert_top
- | | | | | | | | | + 0.05% insert_head
- | | | | | | | | + 0.05% ObjectCacher::bh_stat_add
- | | | | | | | + 0.05% lru_touch
- | | | | | | + 0.85% ~OSDWrite
- | | | | | | | + 0.45% ~list
- | | | | | | | | + 0.30% ~list
- | | | | | | | | | + 0.30% ~_List_base
- | | | | | | | | | + 0.30% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear
- | | | | | | | | | + 0.10% destroy<std::_List_node<ceph::buffer::ptr> >
- | | | | | | | | | | + 0.10% ~_List_node
- | | | | | | | | | | + 0.05% ~ptr
- | | | | | | | | | + 0.05% _M_put_node
- | | | | | | | | + 0.10% ~ptr
- | | | | | | | | + 0.10% ceph::buffer::ptr::release
- | | | | | | | + 0.40% std::vector<ObjectExtent, std::allocator<ObjectExtent> >::~vector
- | | | | | | | + 0.20% _Destroy<ObjectExtent*, ObjectExtent>
- | | | | | | | | + 0.20% _Destroy<ObjectExtent*>
- | | | | | | | | + 0.20% __destroy<ObjectExtent*>
- | | | | | | | | + 0.20% _Destroy<ObjectExtent>
- | | | | | | | | + 0.20% ~ObjectExtent
- | | | | | | | | + 0.20% ~vector
- | | | | | | | | + 0.20% ~_Vector_base
- | | | | | | | | + 0.20% _M_deallocate
- | | | | | | | | + 0.20% deallocate
- | | | | | | | | + 0.10% _int_free
- | | | | | | | | + 0.05% __GI___libc_free
- | | | | | | | + 0.15% ~_Vector_base
- | | | | | | | + 0.15% _M_deallocate
- | | | | | | | + 0.15% deallocate
- | | | | | | | + 0.15% _int_free
- | | | | | | + 0.55% ~sobject_t
- | | | | | | | + 0.55% ~object_t
- | | | | | | | + 0.55% ~basic_string
- | | | | | | | + 0.55% std::string::_Rep::_M_dispose
- | | | | | | | + 0.45% __exchange_and_add_dispatch
- | | | | | | | + 0.45% __exchange_and_add
- | | | | | | + 0.40% ObjectCacher::touch_bh
- | | | | | | | + 0.35% touch_ob
- | | | | | | | | + 0.35% lru_touch
- | | | | | | | | + 0.30% lru_remove
- | | | | | | | | | + 0.25% remove
- | | | | | | | | + 0.05% lru_insert_top
- | | | | | | | + 0.05% lru_touch
- | | | | | | + 0.25% ceph::buffer::list::swap
- | | | | | | | + 0.15% swap
- | | | | | | | | + 0.10% std::__detail::_List_node_base::swap
- | | | | | | | | + 0.05% _ZNSt8__detail15_List_node_base4swapERS0_S1_@plt
- | | | | | | | + 0.05% _ZN4ceph6buffer3ptr4swapERS1_@plt
- | | | | | | + 0.25% ceph::buffer::list::substr_of
- | | | | | | | + 0.10% push_back
- | | | | | | | | + 0.10% _M_insert<ceph::buffer::ptr>
- | | | | | | | | + 0.10% _M_create_node<ceph::buffer::ptr>
- | | | | | | | | + 0.10% _M_get_node
- | | | | | | | | + 0.10% allocate
- | | | | | | | | + 0.10% operator new
- | | | | | | | | + 0.10% __GI___libc_malloc
- | | | | | | | | + 0.10% _int_malloc
- | | | | | | | + 0.10% clear
- | | | | | | | | + 0.05% ~ptr
- | | | | | | | | + 0.05% clear
- | | | | | | | + 0.05% ceph::buffer::ptr::ptr
- | | | | | | + 0.20% sobject_t
- | | | | | | | + 0.20% object_t
- | | | | | | | + 0.10% std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string
- | | | | | | | + 0.10% _M_grab
- | | | | | | | + 0.10% _M_refcopy
- | | | | | | | + 0.10% __atomic_add_dispatch
- | | | | | | | + 0.10% __atomic_add
- | | | | | | + 0.20% ObjectCacher::Object::try_merge_bh
- | | | | | | | + 0.10% operator++
- | | | | | | | + 0.10% std::_Rb_tree_increment
- | | | | | | | + 0.10% local_Rb_tree_increment
- | | | | | | + 0.15% operator=
- | | | | | | | + 0.15% std::vector<snapid_t, std::allocator<snapid_t> >::operator=
- | | | | | | + 0.10% object_t
- | | | | | | | + 0.10% _ZNSsC1ERKSs@plt
- | | | | | | + 0.10% now
- | | | | | | | + 0.10% clock_gettime
- | | | | | | | + 0.05% clock_gettime
- | | | | | | + 0.10% ceph::buffer::list::claim_append
- | | | | | | | + 0.05% splice
- | | | | | | + 0.10% _int_free
- | | | | | | + 0.05% ~list
- | | | | | | + 0.05% ~basic_string
- | | | | | | + 0.05% should_gather
- | | | | | | + 0.05% begin
- | | | | | | + 0.05% PerfCounters::inc
- | | | | | + 11.80% Locker
- | | | | | | + 11.80% Mutex::Lock
- | | | | | | + 11.60% __GI___pthread_mutex_lock
- | | | | | | | + 11.60% _L_lock_791
- | | | | | | | + 11.60% __lll_lock_wait
- | | | | | | + 0.05% _post_lock
- | | | | | + 1.50% ~Locker
- | | | | | | + 1.30% Mutex::Unlock
- | | | | | | | + 1.30% __GI___pthread_mutex_unlock
- | | | | | | | + 1.30% __pthread_mutex_unlock_usercnt
- | | | | | | | + 1.25% _L_unlock_697
- | | | | | | | + 1.25% __lll_unlock_wake
- | | | | | | + 0.05% _ZN5Mutex6UnlockEv@plt
- | | | | | + 0.45% prepare_write
- | | | | | | + 0.35% operator new
- | | | | | | | + 0.35% __GI___libc_malloc
- | | | | | | | + 0.30% _int_malloc
- | | | | | | + 0.10% OSDWrite
- | | | | | | + 0.10% ceph::buffer::list::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.05% construct<std::_List_node<ceph::buffer::ptr>, ceph::buffer::ptr const&>
- | | | | | | + 0.05% _M_get_node
- | | | | | + 0.40% push_back
- | | | | | | + 0.20% std::vector<std::pair<unsigned long, unsigned long>, std::allocator<std::pair<unsigned long, unsigned long> > >::emplace_back<std::pair<unsigned long, unsigned long> >(std::pair<unsigned long, unsigned long>&&)
- | | | | | | | + 0.20% std::vector<std::pair<unsigned long, unsigned long>, std::allocator<std::pair<unsigned long, unsigned long> > >::_M_emplace_back_aux<std::pair<unsigned long, unsigned long> >(std::pair<unsigned long, unsigned long>&&)
- | | | | | | | + 0.15% _M_allocate
- | | | | | | | + 0.15% allocate
- | | | | | | | + 0.15% operator new
- | | | | | | | + 0.15% __GI___libc_malloc
- | | | | | | | + 0.10% _L_lock_14932
- | | | | | | | | + 0.10% __lll_lock_wait_private
- | | | | | | | + 0.05% _int_malloc
- | | | | | | + 0.20% std::vector<ObjectExtent, std::allocator<ObjectExtent> >::_M_emplace_back_aux<ObjectExtent const&>
- | | | | | | + 0.10% construct<ObjectExtent, ObjectExtent const&>
- | | | | | | | + 0.10% _S_construct<ObjectExtent, ObjectExtent const&>
- | | | | | | | + 0.10% construct<ObjectExtent, ObjectExtent const&>
- | | | | | | | + 0.10% ObjectExtent::ObjectExtent
- | | | | | | | + 0.05% vector
- | | | | | | | + 0.05% object_t
- | | | | | | + 0.05% _M_allocate
- | | | | | + 0.15% librados::IoCtx::get_id
- | | | | | + 0.10% ~ObjectExtent
- | | | | | | + 0.05% ~vector
- | | | | | | + 0.05% ~object_t
- | | | | | + 0.10% put_read
- | | | | | | + 0.10% RWLock::unlock
- | | | | | | + 0.10% read
- | | | | | | + 0.10% AO_load_read
- | | | | | | + 0.10% AO_load
- | | | | | + 0.05% RWLock::get_read
- | | | | + 0.90% librbd::io::ImageWriteRequest<librbd::ImageCtx>::assemble_extent
- | | | | | + 0.75% ceph::buffer::list::substr_of
- | | | | | | + 0.20% clear
- | | | | | | | + 0.10% clear
- | | | | | | | | + 0.10% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear
- | | | | | | | + 0.05% ~ptr
- | | | | | | + 0.15% push_back
- | | | | | | | + 0.15% _M_insert<ceph::buffer::ptr>
- | | | | | | | + 0.10% _M_create_node<ceph::buffer::ptr>
- | | | | | | | | + 0.10% _M_get_node
- | | | | | | | | + 0.10% allocate
- | | | | | | | | + 0.10% operator new
- | | | | | | | | + 0.10% __GI___libc_malloc
- | | | | | | | | + 0.05% _int_malloc
- | | | | | | | | + 0.05% _L_lock_14932
- | | | | | | | + 0.05% _ZNSt8__detail15_List_node_base7_M_hookEPS0_@plt
- | | | | | | + 0.05% ceph::buffer::ptr::ptr
- | | | | | + 0.10% ceph::buffer::list::claim_append
- | | | | | | + 0.05% make_shareable
- | | | | | + 0.05% ~list
- | | | | + 0.15% list
- | | | | | + 0.10% ceph::buffer::list::iterator_impl<false>::advance
- | | | | | + 0.05% ceph::buffer::list::iterator::iterator
- | | | | + 0.05% ~object_t
- | | | | + 0.05% ~list
- | | | | + 0.05% operator new
- | | | | + 0.05% C_AioRequest
- | | | + 4.75% Striper::file_to_extents
- | | | | + 4.25% Striper::file_to_extents
- | | | | | + 2.15% snprintf
- | | | | | | + 2.15% ___snprintf_chk
- | | | | | | + 2.10% ___vsnprintf_chk
- | | | | | | + 1.80% _IO_vfprintf_internal
- | | | | | | | + 0.35% __GI__IO_default_xsputn
- | | | | | | | | + 0.05% __mempcpy_sse2
- | | | | | | | + 0.20% __GI__IO_padn
- | | | | | | | | + 0.15% __GI__IO_default_xsputn
- | | | | | | | + 0.10% __GI___libc_free
- | | | | | | | | + 0.05% munmap_chunk
- | | | | | | | + 0.05% free@plt
- | | | | | | | + 0.05% _itoa_word
- | | | | | | + 0.20% _IO_no_init
- | | | | | | | + 0.05% _IO_old_init
- | | | | | | + 0.10% _IO_str_init_static_internal
- | | | | | + 0.50% resize
- | | | | | | + 0.45% std::vector<ObjectExtent, std::allocator<ObjectExtent> >::_M_default_append
- | | | | | | + 0.35% _M_allocate
- | | | | | | | + 0.35% allocate
- | | | | | | | + 0.30% operator new
- | | | | | | | + 0.30% __GI___libc_malloc
- | | | | | | | + 0.15% _int_malloc
- | | | | | | | + 0.05% _L_lock_14932
- | | | | | | + 0.10% _M_check_len
- | | | | | + 0.45% operator[]
- | | | | | | + 0.40% std::_Rb_tree<object_t, std::pair<object_t const, std::vector<ObjectExtent, std::allocator<ObjectExtent> > >, std::_Select1st<std::pair<object_t const, std::vector<ObjectExtent, std::allocator<ObjectExtent> > > >, std::less<object_t>, std::allocator<std::pair<object_t const, std::vector<ObjectExtent, std::allocator<ObjectExtent> > > > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<object_t const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<object_t const, std::vector<ObjectExtent, std::allocator<ObjectExtent> > > >, std::piecewise_construct_t const&, std::tuple<object_t const&>&&, std::tuple<>&&)
- | | | | | | + 0.20% _M_create_node<const std::piecewise_construct_t&, std::tuple<const object_t&>, std::tuple<> >
- | | | | | | | + 0.10% construct<std::_Rb_tree_node<std::pair<const object_t, std::vector<ObjectExtent> > >, const std::piecewise_construct_t&, std::tuple<const object_t&>, std::tuple<> >
- | | | | | | | | + 0.10% _S_construct<std::_Rb_tree_node<std::pair<const object_t, std::vector<ObjectExtent> > >, const std::piecewise_construct_t&, std::tuple<const object_t&>, std::tuple<> >
- | | | | | | | | + 0.10% construct<std::_Rb_tree_node<std::pair<const object_t, std::vector<ObjectExtent> > >, const std::piecewise_construct_t&, std::tuple<const object_t&>, std::tuple<> >
- | | | | | | | | + 0.10% _Rb_tree_node<const std::piecewise_construct_t&, std::tuple<const object_t&>, std::tuple<> >
- | | | | | | | | + 0.10% pair<object_t const&>
- | | | | | | | | + 0.10% pair<object_t const&, 0ul>
- | | | | | | | | + 0.10% object_t
- | | | | | | | | + 0.10% std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string
- | | | | | | | | + 0.10% _M_grab
- | | | | | | | | + 0.10% _M_refcopy
- | | | | | | | | + 0.10% __atomic_add_dispatch
- | | | | | | | | + 0.10% __atomic_add
- | | | | | | | + 0.10% _M_get_node
- | | | | | | | + 0.10% allocate
- | | | | | | | + 0.10% operator new
- | | | | | | | + 0.10% __GI___libc_malloc
- | | | | | | | + 0.05% _L_lock_14932
- | | | | | | + 0.10% _M_insert_node
- | | | | | | + 0.05% std::_Rb_tree_insert_and_rebalance
- | | | | | + 0.40% object_t
- | | | | | | + 0.35% std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string
- | | | | | | | + 0.30% _S_construct<char const*>
- | | | | | | | | + 0.30% _S_construct_aux<char const*>
- | | | | | | | | + 0.30% std::string::_S_construct<char const*>
- | | | | | | | | + 0.30% std::string::_Rep::_S_create
- | | | | | | | | + 0.25% allocate
- | | | | | | | | + 0.25% operator new
- | | | | | | | | + 0.20% __GI___libc_malloc
- | | | | | | | | | + 0.05% _int_malloc
- | | | | | | | | | + 0.05% _L_lock_14932
- | | | | | | | | + 0.05% malloc@plt
- | | | | | | | + 0.05% length
- | | | | | | + 0.05% _ZNSsC1EPKcRKSaIcE@plt
- | | | | | + 0.10% ~object_t
- | | | | | | + 0.10% ~basic_string
- | | | | | | + 0.10% _M_dispose
- | | | | | + 0.10% size
- | | | | | + 0.10% operator=
- | | | | | | + 0.10% operator=
- | | | | | | + 0.10% std::string::assign
- | | | | | + 0.05% strlen@plt
- | | | | | + 0.05% should_gather
- | | | | | + 0.05% push_back
- | | | | | + 0.05% file_to_object_locator
- | | | | | + 0.05% basic_ostream
- | | | | | + 0.05% __strlen_sse2_pminub
- | | | | | + 0.05% Striper::object_truncate_size
- | | | | + 0.35% Striper::assimilate_extents
- | | | | | + 0.30% push_back
- | | | | | | + 0.30% std::vector<ObjectExtent, std::allocator<ObjectExtent> >::_M_emplace_back_aux<ObjectExtent const&>
- | | | | | | + 0.15% construct<ObjectExtent, ObjectExtent const&>
- | | | | | | | + 0.15% _S_construct<ObjectExtent, ObjectExtent const&>
- | | | | | | | + 0.15% construct<ObjectExtent, ObjectExtent const&>
- | | | | | | | + 0.15% ObjectExtent::ObjectExtent
- | | | | | | | + 0.10% vector
- | | | | | | | + 0.10% _Vector_base
- | | | | | | | + 0.10% _M_create_storage
- | | | | | | | + 0.10% _M_allocate
- | | | | | | | + 0.10% allocate
- | | | | | | | + 0.10% operator new
- | | | | | | | + 0.05% malloc@plt
- | | | | | | | + 0.05% __GI___libc_malloc
- | | | | | | + 0.10% _M_allocate
- | | | | | | | + 0.10% allocate
- | | | | | | | + 0.10% operator new
- | | | | | | | + 0.10% __GI___libc_malloc
- | | | | | | | + 0.05% _int_malloc
- | | | | | | + 0.05% _M_deallocate
- | | | | | + 0.05% operator++
- | | | | + 0.15% ~map
- | | | | + 0.15% ~_Rb_tree
- | | | | + 0.15% std::_Rb_tree<object_t, std::pair<object_t const, std::vector<ObjectExtent, std::allocator<ObjectExtent> > >, std::_Select1st<std::pair<object_t const, std::vector<ObjectExtent, std::allocator<ObjectExtent> > > >, std::less<object_t>, std::allocator<std::pair<object_t const, std::vector<ObjectExtent, std::allocator<ObjectExtent> > > > >::_M_erase
- | | | | + 0.10% _M_destroy_node
- | | | | | + 0.10% destroy<std::_Rb_tree_node<std::pair<object_t const, std::vector<ObjectExtent> > > >
- | | | | | + 0.10% ~_Rb_tree_node
- | | | | | + 0.10% ~pair
- | | | | | + 0.10% ~vector
- | | | | | + 0.10% _Destroy<ObjectExtent*, ObjectExtent>
- | | | | | + 0.10% _Destroy<ObjectExtent*>
- | | | | | + 0.10% __destroy<ObjectExtent*>
- | | | | | + 0.10% _Destroy<ObjectExtent>
- | | | | | + 0.10% ~ObjectExtent
- | | | | | + 0.10% ~object_locator_t
- | | | | | + 0.10% ~basic_string
- | | | | | + 0.05% std::string::_Rep::_M_dispose
- | | | | + 0.05% std::_Rb_tree<object_t, std::pair<object_t const, std::vector<ObjectExtent, std::allocator<ObjectExtent> > >, std::_Select1st<std::pair<object_t const, std::vector<ObjectExtent, std::allocator<ObjectExtent> > > >, std::less<object_t>, std::allocator<std::pair<object_t const, std::vector<ObjectExtent, std::allocator<ObjectExtent> > > > >::_M_erase
- | | | + 0.55% ~RLocker
- | | | | + 0.50% RWLock::unlock
- | | | | + 0.35% pthread_rwlock_unlock
- | | | | + 0.05% read
- | | | | + 0.05% dec
- | | | + 0.50% std::vector<ObjectExtent, std::allocator<ObjectExtent> >::~vector
- | | | | + 0.25% _Destroy<ObjectExtent*, ObjectExtent>
- | | | | | + 0.25% _Destroy<ObjectExtent*>
- | | | | | + 0.25% __destroy<ObjectExtent*>
- | | | | | + 0.20% _Destroy<ObjectExtent>
- | | | | | + 0.20% ~ObjectExtent
- | | | | | + 0.15% ~vector
- | | | | | | + 0.15% ~_Vector_base
- | | | | | | + 0.15% _M_deallocate
- | | | | | | + 0.15% deallocate
- | | | | | | + 0.10% _int_free
- | | | | | | + 0.05% __GI___libc_free
- | | | | | + 0.05% ~object_t
- | | | | + 0.15% ~_Vector_base
- | | | | + 0.15% _M_deallocate
- | | | | + 0.15% deallocate
- | | | | + 0.15% _int_free
- | | | + 0.25% librbd::io::ImageWriteRequest<librbd::ImageCtx>::update_stats
- | | | | + 0.05% PerfCounters::inc
- | | | + 0.15% RLocker
- | | | | + 0.15% RWLock::get_read
- | | | | + 0.10% pthread_rwlock_rdlock
- | | | + 0.10% librbd::io::AioCompletion::set_request_count
- | | | | + 0.05% unblock
- | | | | + 0.05% Mutex::Unlock
- | | | + 0.05% operator=
- | | | + 0.05% PerfCounters::inc
- | | + 0.50% librbd::io::ImageRequest<librbd::ImageCtx>::clip_request
- | | | + 0.30% librbd::clip_io
- | | | | + 0.25% librbd::ImageCtx::get_image_size
- | | | | + 0.05% is_locked
- | | | + 0.10% RLocker
- | | | | + 0.10% RWLock::get_read
- | | | | + 0.10% pthread_rwlock_rdlock
- | | | + 0.05% ~RLocker
- | | + 0.15% is_initialized
- | | | + 0.10% Locker
- | | | | + 0.10% Mutex::Lock
- | | | | + 0.05% __GI___pthread_mutex_lock
- | | | + 0.05% ~Locker
- | | + 0.10% is_started
- | | | + 0.05% ~Locker
- | | | + 0.05% Locker
- | | + 0.10% get
- | | | + 0.10% Mutex::Unlock
- | | | + 0.10% __GI___pthread_mutex_unlock
- | | | + 0.10% __pthread_mutex_unlock_usercnt
- | | + 0.05% librbd::io::ImageWriteRequest<librbd::ImageCtx>::get_aio_type
- | + 0.40% librbd::io::ImageRequestWQ::finish_queued_op
- | | + 0.20% RLocker
- | | | + 0.20% RWLock::get_read
- | | | + 0.15% pthread_rwlock_rdlock
- | | + 0.05% librbd::io::AbstractImageWriteRequest<librbd::ImageCtx>::is_write_op
- | | + 0.05% dec
- | + 0.40% librbd::io::ImageRequestWQ::finish_in_flight_op
- | | + 0.20% ~RLocker
- | | | + 0.20% RWLock::unlock
- | | | + 0.10% read
- | | | + 0.10% AO_load_read
- | | | + 0.10% AO_load
- | | + 0.20% RLocker
- | | + 0.20% RWLock::get_read
- | | + 0.10% pthread_rwlock_rdlock
- | + 0.35% librbd::io::ImageWriteRequest<librbd::ImageCtx>::~ImageWriteRequest
- | | + 0.30% ~ImageWriteRequest
- | | + 0.20% ~list
- | | | + 0.15% ~list
- | | | + 0.15% ~_List_base
- | | | + 0.15% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear
- | | | + 0.15% _M_put_node
- | | | + 0.15% deallocate
- | | | + 0.10% __GI___libc_free
- | | | + 0.05% _int_free
- | | + 0.10% ~AbstractImageWriteRequest
- | | + 0.10% ~ImageRequest
- | | + 0.10% ~vector
- | | + 0.10% ~_Vector_base
- | | + 0.10% _M_deallocate
- | | + 0.10% deallocate
- | | + 0.05% _int_free
- | | + 0.05% __GI___libc_free
- | + 0.30% _int_free
- | + 0.20% RWLock::unlock
- | | + 0.20% read
- | | + 0.15% AO_load_read
- | | | + 0.15% AO_load
- | | + 0.05% AO_nop_full
- | + 0.10% librbd::io::ImageRequestWQ::finish_in_progress_write
- | | + 0.05% RLocker
- | + 0.10% __GI___libc_free
- + 2.10% librbd::io::ImageRequestWQ::_void_dequeue
- | + 0.70% librbd::io::ImageRequest<librbd::ImageCtx>::start_op
- | | + 0.70% librbd::io::AioCompletion::start_op
- | | + 0.35% librbd::AsyncOperation::start_op
- | | | + 0.20% ~Locker
- | | | | + 0.20% Mutex::Unlock
- | | | | + 0.20% __GI___pthread_mutex_unlock
- | | | | + 0.20% __pthread_mutex_unlock_usercnt
- | | | + 0.10% push_front
- | | | + 0.05% Locker
- | | + 0.30% Locker
- | | | + 0.30% Mutex::Lock
- | | | + 0.05% __GI___pthread_mutex_lock
- | | + 0.05% ~Locker
- | + 0.30% librbd::ImageState<librbd::ImageCtx>::is_refresh_required
- | | + 0.10% ~Locker
- | | | + 0.10% Mutex::Unlock
- | | | + 0.10% __GI___pthread_mutex_unlock
- | | | + 0.10% __pthread_mutex_unlock_usercnt
- | | + 0.05% librbd::ImageState<librbd::ImageCtx>::find_pending_refresh
- | | + 0.05% Locker
- | + 0.25% _void_dequeue
- | | + 0.25% pop_front
- | | + 0.25% _M_erase
- | | + 0.20% _M_put_node
- | | | + 0.20% deallocate
- | | | + 0.20% _int_free
- | | + 0.05% std::__detail::_List_node_base::_M_unhook
- | + 0.20% ~RLocker
- | | + 0.20% RWLock::unlock
- | | + 0.10% read
- | | | + 0.10% AO_load_read
- | | | + 0.10% AO_load
- | | + 0.10% pthread_rwlock_unlock
- | + 0.10% RLocker
- | | + 0.10% RWLock::get_read
- | | + 0.10% pthread_rwlock_rdlock
- | + 0.05% front
- + 0.75% WaitInterval
- | + 0.75% WaitUntil
- | + 0.75% pthread_cond_timedwait@@GLIBC_2.3.2
- + 0.70% ThreadPool::TPHandle::reset_tp_timeout
- | + 0.70% ceph::HeartbeatMap::reset_timeout
- | + 0.30% ceph::HeartbeatMap::_check
- | | + 0.10% read
- | | + 0.10% AO_load_read
- | | + 0.10% AO_load
- | + 0.10% time
- | + 0.05% should_gather
- + 0.30% Mutex::Lock
- | + 0.05% __GI___pthread_mutex_lock
- + 0.20% ThreadPool::PointerWQ<Context>::_void_dequeue
- + 0.15% Mutex::Unlock
- | + 0.05% __GI___pthread_mutex_unlock
- + 0.05% _ZN10ThreadPool8TPHandle16reset_tp_timeoutEv@plt
- + 0.05% ThreadPool::join_old_threads
- Thread: 8 (fn-radosclient) - 2000 samples
- + 100.00% clone
- + 100.00% start_thread
- + 100.00% Finisher::finisher_thread_entry
- + 50.55% Context::complete
- | + 50.25% librados::C_AioComplete::finish
- | | + 49.10% librbd::io::ObjectRequest<librbd::ImageCtx>::complete
- | | | + 47.75% Context::complete
- | | | | + 47.75% librbd::C_OrderedWrite::finish
- | | | | + 33.60% Locker
- | | | | | + 33.60% Mutex::Lock
- | | | | | + 33.55% __GI___pthread_mutex_lock
- | | | | | + 33.55% _L_lock_791
- | | | | | + 33.55% __lll_lock_wait
- | | | | + 10.85% librbd::LibrbdWriteback::complete_writes
- | | | | | + 8.95% Context::complete
- | | | | | | + 8.90% ObjectCacher::C_WriteCommit::finish
- | | | | | | + 8.70% ObjectCacher::bh_write_commit
- | | | | | | | + 7.00% finish_contexts<Context>
- | | | | | | | | + 6.65% C_GatherBase<Context, Context>::C_GatherSub::complete
- | | | | | | | | | + 6.60% complete
- | | | | | | | | | + 6.60% C_GatherBase<Context, Context>::C_GatherSub::finish
- | | | | | | | | | + 6.60% C_GatherBase<Context, Context>::sub_finish
- | | | | | | | | | + 6.00% delete_me
- | | | | | | | | | | + 5.45% Context::complete
- | | | | | | | | | | | + 5.45% librbd::io::AioCompletion::complete_request
- | | | | | | | | | | | + 2.70% librbd::io::AioCompletion::complete
- | | | | | | | | | | | | + 0.80% notify
- | | | | | | | | | | | | | + 0.80% write
- | | | | | | | | | | | | + 0.50% _fio_rbd_finish_aiocb
- | | | | | | | | | | | | | + 0.40% rbd_aio_get_return_value
- | | | | | | | | | | | | | + 0.25% librbd::RBD::AioCompletion::get_return_value
- | | | | | | | | | | | | | + 0.10% librbd::io::AioCompletion::get_return_value
- | | | | | | | | | | | | | + 0.05% Mutex::Unlock
- | | | | | | | | | | | | | + 0.05% Mutex::Lock
- | | | | | | | | | | | | + 0.35% Mutex::Unlock
- | | | | | | | | | | | | | + 0.35% __GI___pthread_mutex_unlock
- | | | | | | | | | | | | | + 0.35% __pthread_mutex_unlock_usercnt
- | | | | | | | | | | | | | + 0.10% _L_unlock_697
- | | | | | | | | | | | | | + 0.10% __lll_unlock_wake
- | | | | | | | | | | | | + 0.30% PerfCounters::tinc
- | | | | | | | | | | | | | + 0.20% inc
- | | | | | | | | | | | | | + 0.15% ceph_spin_lock
- | | | | | | | | | | | | | + 0.15% pthread_spin_lock
- | | | | | | | | | | | | + 0.25% librbd::AsyncOperation::finish_op
- | | | | | | | | | | | | | + 0.15% ~Locker
- | | | | | | | | | | | | | | + 0.15% Mutex::Unlock
- | | | | | | | | | | | | | | + 0.15% __GI___pthread_mutex_unlock
- | | | | | | | | | | | | | | + 0.15% __pthread_mutex_unlock_usercnt
- | | | | | | | | | | | | | + 0.05% Locker
- | | | | | | | | | | | | + 0.20% ceph_clock_now
- | | | | | | | | | | | | | + 0.20% clock_gettime
- | | | | | | | | | | | | | + 0.10% clock_gettime
- | | | | | | | | | | | | + 0.20% Mutex::Lock
- | | | | | | | | | | | | + 0.20% __GI___pthread_mutex_lock
- | | | | | | | | | | | | + 0.10% _L_lock_791
- | | | | | | | | | | | | + 0.10% __lll_lock_wait
- | | | | | | | | | | | + 2.35% librbd::io::AioCompletion::put_unlock
- | | | | | | | | | | | | + 2.35% Mutex::Unlock
- | | | | | | | | | | | | + 2.35% __GI___pthread_mutex_unlock
- | | | | | | | | | | | | + 2.35% __pthread_mutex_unlock_usercnt
- | | | | | | | | | | | | + 2.10% _L_unlock_697
- | | | | | | | | | | | | + 2.10% __lll_unlock_wake
- | | | | | | | | | | | + 0.15% Mutex::Lock
- | | | | | | | | | | | | + 0.05% __GI___pthread_mutex_lock
- | | | | | | | | | | | + 0.10% librbd::io::AioCompletion::finalize
- | | | | | | | | | | + 0.35% _int_free
- | | | | | | | | | | | + 0.20% _L_lock_4780
- | | | | | | | | | | | + 0.20% __lll_lock_wait_private
- | | | | | | | | | | + 0.10% C_GatherBase<Context, Context>::~C_GatherBase
- | | | | | | | | | | + 0.10% C_GatherBase<Context, Context>::~C_GatherBase
- | | | | | | | | | | + 0.10% Mutex::~Mutex
- | | | | | | | | | | + 0.10% ~basic_string
- | | | | | | | | | | + 0.10% _M_dispose
- | | | | | | | | | | + 0.05% _ZdlPv@plt
- | | | | | | | | | + 0.25% erase
- | | | | | | | | | | + 0.25% std::_Rb_tree<Context*, Context*, std::_Identity<Context*>, std::less<Context*>, std::allocator<Context*> >::erase
- | | | | | | | | | | + 0.20% erase
- | | | | | | | | | | + 0.20% _M_erase_aux
- | | | | | | | | | | + 0.20% clear
- | | | | | | | | | | + 0.20% std::_Rb_tree<Context*, Context*, std::_Identity<Context*>, std::less<Context*>, std::allocator<Context*> >::_M_erase
- | | | | | | | | | | + 0.20% _M_destroy_node
- | | | | | | | | | | + 0.20% _M_put_node
- | | | | | | | | | | + 0.20% deallocate
- | | | | | | | | | | + 0.15% __GI___libc_free
- | | | | | | | | | | + 0.05% operator delete
- | | | | | | | | | + 0.15% Mutex::Unlock
- | | | | | | | | | | + 0.05% __GI___pthread_mutex_unlock
- | | | | | | | | | + 0.10% Mutex::Lock
- | | | | | | | | + 0.05% ~list
- | | | | | | | | + 0.05% swap
- | | | | | | | | + 0.05% _int_free
- | | | | | | | | + 0.05% __GI___libc_free
- | | | | | | | + 0.30% count
- | | | | | | | | + 0.30% std::_Hashtable<sobject_t, std::pair<sobject_t const, ObjectCacher::Object*>, std::allocator<std::pair<sobject_t const, ObjectCacher::Object*> >, std::__detail::_Select1st, std::equal_to<sobject_t>, std::hash<sobject_t>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::count
- | | | | | | | | + 0.10% _M_bucket_index
- | | | | | | | | | + 0.10% _M_bucket_index
- | | | | | | | | | + 0.10% operator()
- | | | | | | | | + 0.05% _M_hash_code
- | | | | | | | + 0.25% mark_clean
- | | | | | | | | + 0.25% ObjectCacher::bh_set_state
- | | | | | | | | + 0.20% erase
- | | | | | | | | | + 0.20% std::_Rb_tree<ObjectCacher::BufferHead*, ObjectCacher::BufferHead*, std::_Identity<ObjectCacher::BufferHead*>, ObjectCacher::BufferHead::ptr_lt, std::allocator<ObjectCacher::BufferHead*> >::erase
- | | | | | | | | | + 0.10% std::_Rb_tree<ObjectCacher::BufferHead*, ObjectCacher::BufferHead*, std::_Identity<ObjectCacher::BufferHead*>, ObjectCacher::BufferHead::ptr_lt, std::allocator<ObjectCacher::BufferHead*> >::equal_range
- | | | | | | | | | | + 0.10% std::_Rb_tree<ObjectCacher::BufferHead*, ObjectCacher::BufferHead*, std::_Identity<ObjectCacher::BufferHead*>, ObjectCacher::BufferHead::ptr_lt, std::allocator<ObjectCacher::BufferHead*> >::_M_lower_bound
- | | | | | | | | | | + 0.05% operator()
- | | | | | | | | | + 0.10% erase
- | | | | | | | | | + 0.10% _M_erase_aux
- | | | | | | | | | + 0.10% erase
- | | | | | | | | | + 0.10% _M_erase_aux
- | | | | | | | | | + 0.10% std::_Rb_tree_rebalance_for_erase
- | | | | | | | | + 0.05% set_state
- | | | | | | | + 0.15% operator[]
- | | | | | | | | + 0.10% std::__detail::_Map_base<sobject_t, std::pair<sobject_t const, ObjectCacher::Object*>, std::allocator<std::pair<sobject_t const, ObjectCacher::Object*> >, std::__detail::_Select1st, std::equal_to<sobject_t>, std::hash<sobject_t>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true>, true>::operator[]
- | | | | | | | | + 0.05% _M_hash_code
- | | | | | | | + 0.15% ObjectCacher::Object::data_lower_bound
- | | | | | | | + 0.10% push_back
- | | | | | | | | + 0.10% emplace_back<std::pair<long, ObjectCacher::BufferHead*> >
- | | | | | | | | + 0.10% std::vector<std::pair<long, ObjectCacher::BufferHead*>, std::allocator<std::pair<long, ObjectCacher::BufferHead*> > >::_M_emplace_back_aux<std::pair<long, ObjectCacher::BufferHead*> >(std::pair<long, ObjectCacher::BufferHead*>&&)
- | | | | | | | | + 0.10% _M_allocate
- | | | | | | | | + 0.10% allocate
- | | | | | | | | + 0.10% operator new
- | | | | | | | | + 0.10% __GI___libc_malloc
- | | | | | | | + 0.05% ~basic_string
- | | | | | | | + 0.05% splice
- | | | | | | | + 0.05% erase
- | | | | | | | + 0.05% ceph::logging::SubsystemMap::should_gather
- | | | | | | | + 0.05% ObjectCacher::Object::try_merge_bh
- | | | | | | + 0.15% ~sobject_t
- | | | | | | | + 0.15% ~object_t
- | | | | | | | + 0.15% ~basic_string
- | | | | | | | + 0.15% _M_dispose
- | | | | | | + 0.05% sobject_t
- | | | | | + 0.70% erase
- | | | | | | + 0.70% erase
- | | | | | | + 0.70% _M_erase
- | | | | | | + 0.70% _M_erase
- | | | | | | + 0.65% _M_deallocate_node
- | | | | | | | + 0.60% destroy<std::__detail::_Hash_node<std::pair<std::basic_string<char> const, std::queue<librbd::LibrbdWriteback::write_result_d*> >, true> >
- | | | | | | | | + 0.60% ~_Hash_node
- | | | | | | | | + 0.60% ~pair
- | | | | | | | | + 0.55% ~queue
- | | | | | | | | | + 0.55% ~deque
- | | | | | | | | | + 0.50% std::_Deque_base<librbd::LibrbdWriteback::write_result_d*, std::allocator<librbd::LibrbdWriteback::write_result_d*> >::~_Deque_base
- | | | | | | | | | + 0.50% _M_destroy_nodes
- | | | | | | | | | + 0.50% _M_deallocate_node
- | | | | | | | | | + 0.50% deallocate
- | | | | | | | | | + 0.45% _int_free
- | | | | | | | | | | + 0.10% _L_unlock_4968
- | | | | | | | | | | + 0.10% __lll_unlock_wake_private
- | | | | | | | | | + 0.05% __GI___libc_free
- | | | | | | | | + 0.05% ~basic_string
- | | | | | | | + 0.05% deallocate
- | | | | | | + 0.05% _M_bucket_index
- | | | | | + 0.45% operator[]
- | | | | | | + 0.45% std::__detail::_Map_base<std::string, std::pair<std::string const, std::queue<librbd::LibrbdWriteback::write_result_d*, std::deque<librbd::LibrbdWriteback::write_result_d*, std::allocator<librbd::LibrbdWriteback::write_result_d*> > > >, std::allocator<std::pair<std::string const, std::queue<librbd::LibrbdWriteback::write_result_d*, std::deque<librbd::LibrbdWriteback::write_result_d*, std::allocator<librbd::LibrbdWriteback::write_result_d*> > > > >, std::__detail::_Select1st, std::equal_to<std::string>, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true>, true>::operator[]
- | | | | | | + 0.30% _M_hash_code
- | | | | | | | + 0.30% operator()
- | | | | | | | + 0.30% hash
- | | | | | | | + 0.20% std::_Hash_bytes
- | | | | | | | + 0.10% shift_mix
- | | | | | | + 0.15% _M_find_node
- | | | | | | + 0.15% std::_Hashtable<std::string, std::pair<std::string const, std::queue<librbd::LibrbdWriteback::write_result_d*, std::deque<librbd::LibrbdWriteback::write_result_d*, std::allocator<librbd::LibrbdWriteback::write_result_d*> > > >, std::allocator<std::pair<std::string const, std::queue<librbd::LibrbdWriteback::write_result_d*, std::deque<librbd::LibrbdWriteback::write_result_d*, std::allocator<librbd::LibrbdWriteback::write_result_d*> > > > >, std::__detail::_Select1st, std::equal_to<std::string>, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_find_before_node
- | | | | | + 0.25% push_back
- | | | | | | + 0.25% _M_insert<librbd::LibrbdWriteback::write_result_d* const&>
- | | | | | | + 0.25% _M_create_node<librbd::LibrbdWriteback::write_result_d* const&>
- | | | | | | + 0.25% _M_get_node
- | | | | | | + 0.25% allocate
- | | | | | | + 0.25% operator new
- | | | | | | + 0.20% __GI___libc_malloc
- | | | | | | | + 0.05% _int_malloc
- | | | | | | + 0.05% malloc@plt
- | | | | | + 0.25% ObjectCacher::C_WriteCommit::~C_WriteCommit
- | | | | | | + 0.10% _int_free
- | | | | | | + 0.10% __GI___libc_free
- | | | | | | + 0.05% ~C_WriteCommit
- | | | | | + 0.05% should_gather
- | | | | + 3.15% ~Locker
- | | | | + 3.15% Mutex::Unlock
- | | | | + 3.05% __GI___pthread_mutex_unlock
- | | | | | + 3.05% __pthread_mutex_unlock_usercnt
- | | | | | + 2.95% _L_unlock_697
- | | | | | + 2.95% __lll_unlock_wake
- | | | | + 0.10% _pre_unlock
- | | | + 1.00% librbd::io::ObjectWriteRequest::~ObjectWriteRequest
- | | | | + 0.80% ~ObjectWriteRequest
- | | | | | + 0.60% ~AbstractObjectWriteRequest
- | | | | | | + 0.40% ~ObjectWriteOperation
- | | | | | | | + 0.40% librados::ObjectOperation::~ObjectOperation
- | | | | | | | + 0.35% ~ObjectOperationImpl
- | | | | | | | | + 0.35% ~ObjectOperation
- | | | | | | | | + 0.30% ~vector
- | | | | | | | | + 0.30% ~_Vector_base
- | | | | | | | | + 0.30% _M_deallocate
- | | | | | | | | + 0.30% deallocate
- | | | | | | | | + 0.20% __GI___libc_free
- | | | | | | | | + 0.10% _int_free
- | | | | | | | + 0.05% _int_free
- | | | | | | + 0.20% ~ObjectRequest
- | | | | | | + 0.20% ~vector
- | | | | | | + 0.20% ~_Vector_base
- | | | | | | + 0.20% _M_deallocate
- | | | | | | + 0.20% deallocate
- | | | | | | + 0.20% __GI___libc_free
- | | | | | + 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% _M_put_node
- | | | | | | + 0.10% deallocate
- | | | | | | + 0.05% _int_free
- | | | | | | + 0.05% __GI___libc_free
- | | | | | + 0.05% destroy<std::_List_node<ceph::buffer::ptr> >
- | | | | + 0.20% _int_free
- | | | | + 0.05% _L_lock_4780
- | | | + 0.35% librbd::io::AbstractObjectWriteRequest::should_complete
- | | | + 0.15% librbd::io::AbstractObjectWriteRequest::send_post_object_map_update
- | | | + 0.15% RLocker
- | | | + 0.15% RWLock::get_read
- | | | + 0.10% pthread_rwlock_rdlock
- | | + 0.50% put_unlock
- | | | + 0.45% ~AioCompletionImpl
- | | | | + 0.30% Mutex::~Mutex
- | | | | | + 0.15% ~basic_string
- | | | | | | + 0.15% _M_dispose
- | | | | | | + 0.05% _int_free
- | | | | | | + 0.05% __GI___libc_free
- | | | | | + 0.10% __GI___pthread_mutex_destroy
- | | | | + 0.10% ~item
- | | | | + 0.05% ~list
- | | | + 0.05% Mutex::Unlock
- | | + 0.45% librbd::util::detail::rados_callback<librbd::io::AbstractObjectWriteRequest>
- | | | + 0.40% rados_aio_get_return_value
- | | | + 0.35% get_return_value
- | | | + 0.25% Mutex::Lock
- | | | | + 0.25% __GI___pthread_mutex_lock
- | | | | + 0.25% _L_lock_791
- | | | | + 0.25% __lll_lock_wait
- | | | + 0.10% Mutex::Unlock
- | | | + 0.10% __GI___pthread_mutex_unlock
- | | | + 0.10% __pthread_mutex_unlock_usercnt
- | | + 0.05% Signal
- | + 0.30% _int_free
- | + 0.05% _L_lock_4780
- + 48.20% Wait
- | + 48.20% pthread_cond_wait@@GLIBC_2.3.2
- | + 1.55% __pthread_mutex_cond_lock
- | + 1.55% _L_cond_lock_792
- | + 1.55% __lll_lock_wait
- + 0.25% ~vector
- | + 0.25% ~_Vector_base
- | + 0.25% _M_deallocate
- | + 0.25% deallocate
- | + 0.15% _int_free
- | + 0.10% __GI___libc_free
- + 0.20% PerfCounters::tinc
- | + 0.10% inc
- | | + 0.10% ceph_spin_lock
- | | + 0.10% pthread_spin_lock
- | + 0.05% add
- + 0.20% Mutex::Lock
- | + 0.10% __GI___pthread_mutex_lock
- | + 0.10% _L_lock_791
- | + 0.10% __lll_lock_wait
- + 0.15% ceph_clock_now
- | + 0.15% clock_gettime
- | + 0.10% clock_gettime
- + 0.10% _int_free
- | + 0.05% free_perturb
- + 0.05% should_gather
- + 0.05% __GI___libc_free
- + 0.05% _ZdlPv@plt
- + 0.05% PerfCounters::dec
- + 0.05% Mutex::Unlock
- Thread: 9 (safe_timer) - 2000 samples
- + 100.00% clone
- + 100.00% start_thread
- + 100.00% SafeTimerThread::entry
- + 100.00% SafeTimer::timer_thread
- + 100.00% Wait
- + 100.00% pthread_cond_wait@@GLIBC_2.3.2
- Thread: 10 (safe_timer) - 2000 samples
- + 100.00% clone
- + 100.00% start_thread
- + 100.00% SafeTimerThread::entry
- + 100.00% SafeTimer::timer_thread
- + 100.00% Wait
- + 100.00% pthread_cond_wait@@GLIBC_2.3.2
- Thread: 11 (fn_anonymous) - 2000 samples
- + 100.00% clone
- + 100.00% start_thread
- + 100.00% Finisher::finisher_thread_entry
- + 100.00% Wait
- + 100.00% pthread_cond_wait@@GLIBC_2.3.2
- Thread: 12 (safe_timer) - 2000 samples
- + 100.00% clone
- + 100.00% start_thread
- + 100.00% SafeTimerThread::entry
- + 100.00% SafeTimer::timer_thread
- + 100.00% WaitUntil
- + 100.00% pthread_cond_timedwait@@GLIBC_2.3.2
- Thread: 13 (ms_local) - 2000 samples
- + 100.00% clone
- + 100.00% start_thread
- + 100.00% DispatchQueue::LocalDeliveryThread::entry
- + 100.00% DispatchQueue::run_local_delivery
- + 100.00% Wait
- + 100.00% pthread_cond_wait@@GLIBC_2.3.2
- Thread: 14 (ms_dispatch) - 2000 samples
- + 100.00% clone
- + 100.00% start_thread
- + 100.00% DispatchQueue::DispatchThread::entry
- + 100.00% DispatchQueue::entry
- + 100.00% Wait
- + 100.00% pthread_cond_wait@@GLIBC_2.3.2
- Thread: 15 (fio) - 2000 samples
- + 100.00% clone
- + 100.00% start_thread
- + 100.00% std::(anonymous namespace)::execute_native_thread_routine
- + 100.00% ceph::timer_detail::timer<ceph::time_detail::mono_clock>::timer_thread
- + 100.00% wait_until<ceph::time_detail::mono_clock, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> > >
- + 100.00% __wait_until_impl<std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> > >
- + 100.00% __gthread_cond_timedwait
- + 100.00% pthread_cond_timedwait@@GLIBC_2.3.2
- Thread: 16 (msgr-worker-2) - 2000 samples
- + 100.00% clone
- + 100.00% start_thread
- + 100.00% std::(anonymous namespace)::execute_native_thread_routine
- + 100.00% NetworkStack::__lambda4::operator()
- + 99.95% EventCenter::process_events
- + 73.00% EpollDriver::event_wait
- | + 72.55% epoll_wait
- | + 0.40% resize
- | | + 0.40% std::vector<FiredFileEvent, std::allocator<FiredFileEvent> >::_M_default_append
- | | + 0.30% _M_allocate
- | | + 0.30% allocate
- | | + 0.30% operator new
- | | + 0.20% __GI___libc_malloc
- | | + 0.05% _int_malloc
- | + 0.05% epoll_wait@plt
- + 13.00% AsyncConnection::process
- | + 5.90% DispatchQueue::fast_dispatch
- | | + 5.50% ms_fast_dispatch
- | | | + 5.45% Objecter::ms_dispatch
- | | | | + 5.45% Objecter::handle_osd_op_reply
- | | | | + 2.60% Objecter::_finish_op
- | | | | | + 1.35% RefCountedObject::put
- | | | | | | + 1.30% Objecter::Op::~Op
- | | | | | | | + 0.90% ~Op
- | | | | | | | | + 0.75% std::vector<OSDOp, std::allocator<OSDOp> >::~vector
- | | | | | | | | | + 0.50% ~_Vector_base
- | | | | | | | | | | + 0.50% _M_deallocate
- | | | | | | | | | | + 0.50% deallocate
- | | | | | | | | | | + 0.40% _int_free
- | | | | | | | | | | | + 0.15% _L_lock_4780
- | | | | | | | | | | | | + 0.15% __lll_lock_wait_private
- | | | | | | | | | | | + 0.05% _L_unlock_4968
- | | | | | | | | | | + 0.10% __GI___libc_free
- | | | | | | | | | + 0.20% _Destroy<OSDOp*, OSDOp>
- | | | | | | | | | + 0.20% _Destroy<OSDOp*>
- | | | | | | | | | + 0.20% __destroy<OSDOp*>
- | | | | | | | | | + 0.20% _Destroy<OSDOp>
- | | | | | | | | | + 0.20% ~OSDOp
- | | | | | | | | | + 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.15% destroy<std::_List_node<ceph::buffer::ptr> >
- | | | | | | | | | | + 0.15% ~_List_node
- | | | | | | | | | | + 0.05% ~ptr
- | | | | | | | | | + 0.05% _M_put_node
- | | | | | | | | + 0.15% ~op_target_t
- | | | | | | | | + 0.15% ~vector
- | | | | | | | | + 0.15% ~_Vector_base
- | | | | | | | | + 0.15% _M_deallocate
- | | | | | | | | + 0.15% deallocate
- | | | | | | | | + 0.15% _int_free
- | | | | | | | + 0.35% _int_free
- | | | | | | | + 0.10% _L_lock_4780
- | | | | | | | | + 0.10% __lll_lock_wait_private
- | | | | | | | + 0.05% _L_unlock_4968
- | | | | | | + 0.05% dec
- | | | | | + 0.90% put_op_budget
- | | | | | | + 0.80% put_op_budget_bytes
- | | | | | | | + 0.80% Throttle::put
- | | | | | | | + 0.20% PerfCounters::inc
- | | | | | | | | + 0.15% add
- | | | | | | | | + 0.15% ceph_spin_lock
- | | | | | | | | + 0.15% pthread_spin_lock
- | | | | | | | + 0.15% Locker
- | | | | | | | | + 0.10% Mutex::Lock
- | | | | | | | | + 0.10% __GI___pthread_mutex_lock
- | | | | | | | | + 0.10% _L_lock_791
- | | | | | | | | + 0.10% __lll_lock_wait
- | | | | | | | + 0.10% read
- | | | | | | | | + 0.05% AO_load_read
- | | | | | | | + 0.05% ~Locker
- | | | | | | | + 0.05% PerfCounters::set
- | | | | | | + 0.10% Objecter::calc_op_budget
- | | | | | | + 0.05% begin
- | | | | | + 0.25% Objecter::_session_op_remove
- | | | | | | + 0.20% erase
- | | | | | | | + 0.20% std::_Rb_tree<unsigned long, std::pair<unsigned long const, Objecter::Op*>, std::_Select1st<std::pair<unsigned long const, Objecter::Op*> >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, Objecter::Op*> > >::erase
- | | | | | | | + 0.10% erase
- | | | | | | | + 0.10% _M_erase_aux
- | | | | | | | + 0.05% erase
- | | | | | | | + 0.05% clear
- | | | | | | + 0.05% Objecter::put_session
- | | | | | + 0.05% PerfCounters::dec
- | | | | + 0.80% Context::complete
- | | | | | + 0.70% librados::IoCtxImpl::C_aio_Complete::finish
- | | | | | + 0.60% queue
- | | | | | | + 0.40% pthread_cond_broadcast@@GLIBC_2.3.2
- | | | | | | + 0.10% Mutex::Lock
- | | | | | | | + 0.05% __GI___pthread_mutex_lock
- | | | | | | + 0.05% Mutex::Unlock
- | | | | | + 0.05% librados::IoCtxImpl::complete_aio_write
- | | | | | + 0.05% Signal
- | | | | + 0.65% shunique_lock
- | | | | | + 0.65% lock_shared
- | | | | | + 0.65% boost::shared_mutex::lock_shared
- | | | | | + 0.25% boost::this_thread::disable_interruption::disable_interruption()
- | | | | | | + 0.25% boost::this_thread::interruption_enabled()
- | | | | | | + 0.15% __GI___pthread_getspecific
- | | | | | | + 0.10% boost::detail::get_current_thread_data()
- | | | | | | + 0.05% boost::thread_detail::enter_once_region(boost::once_flag&)
- | | | | | + 0.20% unique_lock
- | | | | | | + 0.20% boost::unique_lock<boost::mutex>::lock
- | | | | | | + 0.15% lock
- | | | | | | + 0.15% pthread_mutex_lock
- | | | | | | + 0.15% __GI___pthread_mutex_lock
- | | | | | | + 0.05% _L_lock_791
- | | | | | + 0.05% boost::this_thread::disable_interruption::~disable_interruption()
- | | | | | + 0.05% _ZN5boost11this_thread20disable_interruptionD1Ev@plt
- | | | | + 0.45% RefCountedObject::put
- | | | | | + 0.45% MOSDOpReply::~MOSDOpReply
- | | | | | + 0.30% ~MOSDOpReply
- | | | | | | + 0.25% Message::~Message
- | | | | | | | + 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<std::_List_node<ceph::buffer::ptr> >
- | | | | | | | + 0.20% ~_List_node
- | | | | | | | + 0.15% ~ptr
- | | | | | | | + 0.15% ceph::buffer::ptr::release
- | | | | | | | + 0.10% ceph::buffer::raw_combined::~raw_combined
- | | | | | | | | + 0.05% ~raw_combined
- | | | | | | | + 0.05% _int_free
- | | | | | | + 0.05% ~vector
- | | | | | + 0.05% _int_free
- | | | | + 0.20% ceph::shunique_lock<boost::shared_mutex>::unlock
- | | | | | + 0.20% boost::shared_mutex::unlock_shared
- | | | | | + 0.10% release_waiters
- | | | | | | + 0.05% notify_one
- | | | | | | + 0.05% notify_all
- | | | | | + 0.05% ~unique_lock
- | | | | | + 0.05% unique_lock
- | | | | + 0.15% std::unique_lock<boost::shared_mutex>::unlock
- | | | | | + 0.15% unlock
- | | | | | + 0.10% release_waiters
- | | | | | | + 0.05% notify_one
- | | | | | | + 0.05% notify_all
- | | | | | + 0.05% ~unique_lock
- | | | | + 0.15% _int_free
- | | | | + 0.10% unique_lock
- | | | | | + 0.10% std::unique_lock<boost::shared_mutex>::lock
- | | | | | + 0.10% boost::shared_mutex::lock
- | | | | | + 0.10% unique_lock
- | | | | | + 0.10% boost::unique_lock<boost::mutex>::lock
- | | | | | + 0.10% lock
- | | | | | + 0.10% pthread_mutex_lock
- | | | | | + 0.10% __GI___pthread_mutex_lock
- | | | | + 0.10% std::unique_lock<std::mutex>::unlock
- | | | | | + 0.05% unlock
- | | | | + 0.05% lock
- | | | | + 0.05% find
- | | | | + 0.05% Objecter::OSDSession::get_lock
- | | | + 0.05% ceph_clock_now
- | | + 0.40% DispatchQueue::post_dispatch
- | | + 0.40% DispatchQueue::dispatch_throttle_release
- | | + 0.40% Throttle::put
- | | + 0.10% ~Locker
- | | | + 0.05% Mutex::Unlock
- | | + 0.10% PerfCounters::inc
- | | | + 0.05% add
- | | + 0.05% read
- | | + 0.05% PerfCounters::set
- | | + 0.05% Locker
- | + 3.05% AsyncConnection::read_until
- | | + 2.90% AsyncConnection::read_bulk
- | | + 2.75% read
- | | + 2.75% PosixConnectedSocketImpl::read
- | | + 2.65% read
- | | + 2.65% read
- | + 1.90% decode_message
- | | + 1.00% MOSDOpReply::decode_payload
- | | | + 0.60% decode
- | | | | + 0.50% decode
- | | | | | + 0.45% decode
- | | | | | | + 0.35% ceph::buffer::list::iterator::copy
- | | | | | | | + 0.30% ceph::buffer::list::iterator_impl<false>::copy
- | | | | | | | + 0.30% std::string::append
- | | | | | | | + 0.20% std::string::reserve
- | | | | | | | | + 0.15% std::string::_Rep::_M_clone
- | | | | | | | | | + 0.15% std::string::_Rep::_S_create
- | | | | | | | | | + 0.05% allocate
- | | | | | | | | + 0.05% _M_dispose
- | | | | | | | + 0.05% _M_set_length_and_sharable
- | | | | | | + 0.10% decode
- | | | | | | + 0.10% decode_raw<ceph_le32>
- | | | | | | + 0.10% ceph::buffer::list::iterator_impl<false>::copy
- | | | | | | + 0.05% ceph::buffer::ptr::copy_out
- | | | | | + 0.05% ceph::buffer::list::iterator_impl<false>::copy
- | | | | + 0.05% pg_t::decode
- | | | | + 0.05% decode_raw<ceph_le64>
- | | | + 0.25% std::vector<OSDOp, std::allocator<OSDOp> >::resize
- | | | | + 0.25% std::vector<OSDOp, std::allocator<OSDOp> >::_M_default_append
- | | | | + 0.10% __uninitialized_default_n_a<OSDOp*, unsigned long, OSDOp>
- | | | | | + 0.10% __uninitialized_default_n<OSDOp*, unsigned long>
- | | | | | + 0.10% std::__uninitialized_default_n_1<false>::__uninit_default_n<OSDOp*, unsigned long>
- | | | | | + 0.10% _Construct<OSDOp>
- | | | | | + 0.10% memset
- | | | | + 0.10% _M_allocate
- | | | | + 0.10% allocate
- | | | | + 0.10% operator new
- | | | | + 0.10% __GI___libc_malloc
- | | | + 0.05% OSDOp::split_osd_op_vector_out_data
- | | + 0.25% ceph::buffer::list::crc32c
- | | | + 0.15% set_crc
- | | | | + 0.15% operator[]
- | | | | + 0.10% std::_Rb_tree<std::pair<unsigned long, unsigned long>, std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> >, std::_Select1st<std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> > >, std::less<std::pair<unsigned long, unsigned long> >, std::allocator<std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> > > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<std::pair<unsigned long, unsigned long> const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> > >, std::piecewise_construct_t const&, std::tuple<std::pair<unsigned long, unsigned long> const&>&&, std::tuple<>&&)
- | | | | | + 0.05% std::_Rb_tree<std::pair<unsigned long, unsigned long>, std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> >, std::_Select1st<std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> > >, std::less<std::pair<unsigned long, unsigned long> >, std::allocator<std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> > > >::_M_get_insert_hint_unique_pos
- | | | | | + 0.05% _M_insert_node
- | | | | + 0.05% tuple
- | | | + 0.05% ceph_crc32c
- | | + 0.15% set_payload
- | | | + 0.15% ceph::buffer::list::claim
- | | | + 0.15% ceph::buffer::list::claim_append
- | | | + 0.05% splice
- | | | + 0.05% make_shareable
- | | + 0.15% MOSDOpReply::MOSDOpReply
- | | | + 0.10% Message::Message
- | | | | + 0.05% list
- | | | + 0.05% request_redirect_t
- | | + 0.10% set_data
- | | | + 0.05% share
- | | + 0.10% operator new
- | | | + 0.10% __GI___libc_malloc
- | | | + 0.05% _int_malloc
- | | + 0.05% set_middle
- | + 0.40% ceph::buffer::list::clear
- | | + 0.25% begin
- | | | + 0.20% ceph::buffer::list::iterator_impl<false>::advance
- | | | + 0.05% ceph::buffer::list::iterator_impl<false>::iterator_impl
- | | + 0.05% ceph::buffer::ptr::operator=(ceph::buffer::ptr&&)
- | + 0.20% ceph::buffer::create
- | | + 0.20% ceph::buffer::create_aligned
- | | + 0.20% create
- | | + 0.20% allocate_aligned
- | | + 0.20% __posix_memalign
- | | + 0.20% __GI___libc_malloc
- | | + 0.10% _int_malloc
- | + 0.20% Throttle::get_or_fail
- | | + 0.05% _should_wait
- | | + 0.05% PerfCounters::set
- | | + 0.05% PerfCounters::inc
- | | + 0.05% Locker
- | + 0.15% ~intrusive_ptr
- | | + 0.10% _ZNK16RefCountedObject3putEv@plt
- | | + 0.05% RefCountedObject::put
- | + 0.15% lock_guard
- | | + 0.15% lock
- | | + 0.15% __gthread_mutex_lock
- | | + 0.15% __GI___pthread_mutex_lock
- | + 0.15% ceph_clock_now
- | | + 0.05% clock_gettime
- | + 0.15% ceph::buffer::ptr::c_str
- | | + 0.05% ceph::buffer::raw::get_data
- | + 0.10% _ZN13DispatchQueue13post_dispatchEP7Messagem@plt
- | + 0.05% should_gather
- | + 0.05% read
- | + 0.05% now
- | + 0.05% intrusive_ptr
- | + 0.05% ceph_crc32c
- | + 0.05% ceph::buffer::list::push_back
- | + 0.05% _Z14decode_messageP11CephContextiR15ceph_msg_headerR15ceph_msg_footerRN4ceph6buffer4listES8_S8_@plt
- + 11.90% AsyncConnection::handle_write
- | + 7.65% AsyncConnection::write_message
- | | + 5.35% AsyncConnection::_try_send
- | | | + 5.35% send
- | | | + 5.35% PosixConnectedSocketImpl::send
- | | | + 5.15% do_sendmsg
- | | | | + 5.10% sendmsg
- | | | | + 0.05% __pthread_enable_asynccancel
- | | | + 0.20% clear
- | | | + 0.15% ceph::buffer::ptr::operator=(ceph::buffer::ptr&&)
- | | | | + 0.15% ceph::buffer::ptr::release
- | | | | + 0.10% ceph::buffer::raw_combined::~raw_combined
- | | | | | + 0.05% ~raw_combined
- | | | | | + 0.05% operator delete
- | | | | + 0.05% _int_free
- | | | + 0.05% clear
- | | + 1.60% RefCountedObject::put
- | | | + 1.60% MOSDOp::~MOSDOp
- | | | + 0.95% ~MOSDOp
- | | | | + 0.65% ~vector
- | | | | | + 0.45% ~_Vector_base
- | | | | | | + 0.45% _M_deallocate
- | | | | | | + 0.40% deallocate
- | | | | | | + 0.35% _int_free
- | | | | | | | + 0.15% _L_unlock_4968
- | | | | | | | | + 0.15% __lll_unlock_wake_private
- | | | | | | | + 0.10% _L_lock_4780
- | | | | | | | + 0.10% __lll_lock_wait_private
- | | | | | | + 0.05% __GI___libc_free
- | | | | | + 0.20% _Destroy<OSDOp*, OSDOp>
- | | | | | + 0.20% _Destroy<OSDOp*>
- | | | | | + 0.20% __destroy<OSDOp*>
- | | | | | + 0.20% _Destroy<OSDOp>
- | | | | | + 0.20% ~OSDOp
- | | | | | + 0.20% ~list
- | | | | | + 0.15% ~list
- | | | | | | + 0.15% ~_List_base
- | | | | | | + 0.15% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear
- | | | | | | + 0.10% _M_put_node
- | | | | | | | + 0.10% deallocate
- | | | | | | | + 0.10% __GI___libc_free
- | | | | | | + 0.05% destroy<std::_List_node<ceph::buffer::ptr> >
- | | | | | + 0.05% ~ptr
- | | | | + 0.30% ~MOSDFastDispatchOp
- | | | | + 0.30% Message::~Message
- | | | | + 0.25% ~list
- | | | | | + 0.25% ~list
- | | | | | + 0.25% ~_List_base
- | | | | | + 0.25% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear
- | | | | | + 0.20% destroy<std::_List_node<ceph::buffer::ptr> >
- | | | | | | + 0.20% ~_List_node
- | | | | | | + 0.20% ~ptr
- | | | | | | + 0.20% ceph::buffer::ptr::release
- | | | | | | + 0.10% ceph::buffer::raw_combined::~raw_combined
- | | | | | | + 0.05% operator delete
- | | | | | + 0.05% _M_put_node
- | | | | + 0.05% ~intrusive_ptr
- | | | + 0.60% _int_free
- | | | | + 0.20% _L_lock_4780
- | | | | | + 0.20% __lll_lock_wait_private
- | | | | + 0.15% _L_unlock_4968
- | | | | + 0.15% __lll_unlock_wake_private
- | | | + 0.05% __GI___libc_free
- | | + 0.40% ceph::buffer::list::append
- | | | + 0.20% ceph::buffer::ptr::append
- | | | | + 0.15% maybe_inline_memcpy
- | | | | + 0.10% memcpy
- | | | | + 0.10% __memcpy_ssse3_back
- | | | + 0.05% set_length
- | | | + 0.05% create
- | | | + 0.05% ceph::buffer::list::append
- | | + 0.10% inc
- | | | + 0.10% ceph_spin_lock
- | | | + 0.10% pthread_spin_lock
- | | + 0.10% ceph::buffer::list::claim_append
- | | | + 0.10% make_shareable
- | | | + 0.05% ceph::buffer::ptr::make_shareable
- | | + 0.05% _ZNK16RefCountedObject3putEv@plt
- | + 3.50% AsyncConnection::prepare_send_message
- | | + 3.40% Message::encode
- | | | + 2.60% MOSDOp::encode_payload
- | | | | + 2.20% encode
- | | | | | + 1.60% spg_t::encode
- | | | | | | + 1.15% encode
- | | | | | | | + 1.00% encode_raw<unsigned char>
- | | | | | | | | + 1.00% ceph::buffer::list::append
- | | | | | | | | + 0.60% create
- | | | | | | | | | + 0.55% allocate_aligned
- | | | | | | | | | | + 0.55% __posix_memalign
- | | | | | | | | | | + 0.55% __GI___libc_malloc
- | | | | | | | | | | + 0.50% _int_malloc
- | | | | | | | | | | + 0.35% malloc_consolidate
- | | | | | | | | | + 0.05% raw_combined
- | | | | | | | | + 0.15% ceph::buffer::list::append
- | | | | | | | | | + 0.10% ceph::buffer::ptr::ptr
- | | | | | | | | + 0.05% ~ptr
- | | | | | | | | + 0.05% ceph::buffer::ptr::append
- | | | | | | | + 0.10% encode
- | | | | | | | | + 0.10% encode
- | | | | | | | | + 0.05% encode_raw<unsigned char>
- | | | | | | | | + 0.05% encode_raw<signed char>
- | | | | | | | + 0.05% encode_raw<ceph_le32>
- | | | | | | + 0.20% ceph::buffer::list::iterator::copy_in
- | | | | | | | + 0.10% _ZN4ceph6buffer3ptr7copy_inEjjPKcb@plt
- | | | | | | | + 0.05% ceph::buffer::list::iterator_impl<false>::advance
- | | | | | | + 0.10% end
- | | | | | | | + 0.10% ceph::buffer::list::iterator::iterator
- | | | | | | | + 0.10% iterator_impl
- | | | | | | + 0.10% _ZN4ceph6buffer4list8iterator7copy_inEjPKc@plt
- | | | | | | + 0.05% ceph::buffer::list::iterator::advance
- | | | | | + 0.30% object_locator_t::encode
- | | | | | | + 0.20% encode
- | | | | | | | + 0.10% encode_raw<ceph_le64>
- | | | | | | | | + 0.05% ceph::buffer::list::append
- | | | | | | | + 0.05% encode_raw<unsigned char>
- | | | | | | | + 0.05% encode_raw<ceph_le32>
- | | | | | | + 0.05% end
- | | | | | | + 0.05% ceph::buffer::list::iterator::copy_in
- | | | | | + 0.20% encode
- | | | | | | + 0.20% encode
- | | | | | | + 0.20% ceph::buffer::list::append
- | | | | | | + 0.10% ceph::buffer::ptr::append
- | | | | | | | + 0.10% maybe_inline_memcpy
- | | | | | | | + 0.10% memcpy
- | | | | | | | + 0.10% __memcpy_ssse3_back
- | | | | | | + 0.05% ceph::buffer::ptr::unused_tail_length
- | | | | | + 0.05% encode_raw<ceph_osd_op>
- | | | | | + 0.05% encode_raw<ceph_le32>
- | | | | + 0.20% OSDOp::merge_osd_op_vector_in_data
- | | | | | + 0.05% size
- | | | | + 0.10% encode<osd_reqid_t, denc_traits<osd_reqid_t> >
- | | | | | + 0.05% get_contiguous_appender
- | | | | | + 0.05% ceph::buffer::list::contiguous_appender::~contiguous_appender
- | | | | + 0.05% _ZN5OSDOp27merge_osd_op_vector_in_dataERSt6vectorIS_SaIS_EERN4ceph6buffer4listE@plt
- | | | | + 0.05% MOSDOp::get_object_locator
- | | | + 0.65% calc_data_crc
- | | | | + 0.65% ceph::buffer::list::crc32c
- | | | | + 0.35% ceph_crc32c
- | | | | | + 0.35% ceph_crc32c_intel_fast
- | | | | | + 0.35% None
- | | | | | + 0.35% None
- | | | | | + 0.35% crc32_iscsi_00
- | | | | + 0.25% set_crc
- | | | | | + 0.25% operator[]
- | | | | | + 0.25% std::_Rb_tree<std::pair<unsigned long, unsigned long>, std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> >, std::_Select1st<std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> > >, std::less<std::pair<unsigned long, unsigned long> >, std::allocator<std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> > > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<std::pair<unsigned long, unsigned long> const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> > >, std::piecewise_construct_t const&, std::tuple<std::pair<unsigned long, unsigned long> const&>&&, std::tuple<>&&)
- | | | | | + 0.25% _M_create_node<const std::piecewise_construct_t&, std::tuple<const std::pair<long unsigned int, long unsigned int>&>, std::tuple<> >
- | | | | | + 0.25% _M_get_node
- | | | | | + 0.25% allocate
- | | | | | + 0.25% operator new
- | | | | | + 0.25% __GI___libc_malloc
- | | | | | + 0.05% _int_malloc
- | | | | + 0.05% get_crc
- | | | + 0.10% calc_front_crc
- | | | + 0.10% ceph::buffer::list::crc32c
- | | | + 0.10% ceph_crc32c
- | | | + 0.10% ceph_crc32c_intel_fast
- | | | + 0.10% None
- | | | + 0.10% None
- | | | + 0.10% crc32_iscsi_00
- | | + 0.10% ceph::buffer::list::append
- | | + 0.10% push_back
- | | + 0.10% _M_insert<ceph::buffer::ptr const&>
- | | + 0.10% _M_create_node<ceph::buffer::ptr const&>
- | | + 0.10% _M_get_node
- | | + 0.10% allocate
- | | + 0.10% operator new
- | | + 0.10% __GI___libc_malloc
- | + 0.45% _get_next_outgoing
- | | + 0.30% erase
- | | | + 0.20% _M_erase
- | | | | + 0.15% _M_put_node
- | | | | | + 0.15% deallocate
- | | | | | + 0.10% _int_free
- | | | | | + 0.05% __GI___libc_free
- | | | | + 0.05% std::__detail::_List_node_base::_M_unhook
- | | | + 0.10% std::_Rb_tree<int, std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > >, std::_Select1st<std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > > >, std::less<int>, std::allocator<std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > > > >::erase
- | | | + 0.10% erase
- | | | + 0.10% _M_erase_aux
- | | | + 0.10% clear
- | | | + 0.10% std::_Rb_tree<int, std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > >, std::_Select1st<std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > > >, std::less<int>, std::allocator<std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > > > >::_M_erase
- | | | + 0.10% _M_destroy_node
- | | | + 0.05% destroy<std::_Rb_tree_node<std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*> > > > >
- | | | + 0.05% _M_put_node
- | | + 0.10% ceph::buffer::list::swap
- | | + 0.05% swap
- | + 0.10% lock
- | | + 0.10% __gthread_mutex_lock
- | | + 0.10% __GI___pthread_mutex_lock
- | + 0.05% ~list
- | + 0.05% read
- | + 0.05% _has_next_outgoing
- + 1.25% C_handle_notify::do_request
- | + 1.25% read
- | + 1.25% read
- + 0.15% ~deque
- | + 0.10% std::_Deque_base<EventCallback*, std::allocator<EventCallback*> >::~_Deque_base
- | + 0.05% _M_deallocate_map
- + 0.10% ~vector
- | + 0.10% ~_Vector_base
- | + 0.10% _M_deallocate
- | + 0.10% deallocate
- | + 0.10% _int_free
- + 0.10% pop_front
- + 0.10% now
- | + 0.05% clock_gettime
- + 0.10% _get_file_event
- + 0.05% C_handle_write::do_request
- Thread: 17 (msgr-worker-1) - 2000 samples
- + 100.00% clone
- + 100.00% start_thread
- + 100.00% std::(anonymous namespace)::execute_native_thread_routine
- + 100.00% NetworkStack::__lambda4::operator()
- + 99.85% EventCenter::process_events
- + 75.40% EpollDriver::event_wait
- | + 75.10% epoll_wait
- | | + 0.05% __libc_enable_asynccancel
- | + 0.30% resize
- | + 0.30% std::vector<FiredFileEvent, std::allocator<FiredFileEvent> >::_M_default_append
- | + 0.30% _M_allocate
- | + 0.30% allocate
- | + 0.30% operator new
- | + 0.25% __GI___libc_malloc
- | + 0.05% _int_malloc
- + 11.35% AsyncConnection::handle_write
- | + 7.20% AsyncConnection::write_message
- | | + 5.50% AsyncConnection::_try_send
- | | | + 5.35% send
- | | | | + 5.35% PosixConnectedSocketImpl::send
- | | | | + 4.85% do_sendmsg
- | | | | | + 4.85% sendmsg
- | | | | + 0.30% clear
- | | | | | + 0.25% ceph::buffer::ptr::operator=(ceph::buffer::ptr&&)
- | | | | | | + 0.25% ceph::buffer::ptr::release
- | | | | | | + 0.20% ceph::buffer::raw_combined::~raw_combined
- | | | | | | + 0.10% ~raw_combined
- | | | | | | + 0.10% ~raw
- | | | | | | + 0.10% ~map
- | | | | | | + 0.10% ~_Rb_tree
- | | | | | | + 0.10% std::_Rb_tree<std::pair<unsigned long, unsigned long>, std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> >, std::_Select1st<std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> > >, std::less<std::pair<unsigned long, unsigned long> >, std::allocator<std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> > > >::_M_erase
- | | | | | + 0.05% clear
- | | | | + 0.10% ~list
- | | | | | + 0.05% ~ptr
- | | | | | + 0.05% ~list
- | | | | + 0.05% ceph::buffer::ptr::c_str
- | | | + 0.10% should_gather
- | | | + 0.05% size
- | | + 0.95% RefCountedObject::put
- | | | + 0.90% MOSDOp::~MOSDOp
- | | | | + 0.65% ~MOSDOp
- | | | | | + 0.45% ~vector
- | | | | | | + 0.35% ~_Vector_base
- | | | | | | | + 0.35% _M_deallocate
- | | | | | | | + 0.35% deallocate
- | | | | | | | + 0.30% _int_free
- | | | | | | | | + 0.10% _L_lock_4780
- | | | | | | | | | + 0.10% __lll_lock_wait_private
- | | | | | | | | + 0.05% _L_unlock_4968
- | | | | | | | + 0.05% operator delete
- | | | | | | + 0.10% _Destroy<OSDOp*, OSDOp>
- | | | | | | + 0.10% _Destroy<OSDOp*>
- | | | | | | + 0.10% __destroy<OSDOp*>
- | | | | | | + 0.10% _Destroy<OSDOp>
- | | | | | | + 0.10% ~OSDOp
- | | | | | | + 0.10% ~list
- | | | | | | + 0.10% ~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.05% _int_free
- | | | | | | + 0.05% __GI___libc_free
- | | | | | + 0.20% ~MOSDFastDispatchOp
- | | | | | + 0.20% Message::~Message
- | | | | | + 0.15% ~list
- | | | | | | + 0.15% ~list
- | | | | | | + 0.15% ~_List_base
- | | | | | | + 0.15% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear
- | | | | | | + 0.10% destroy<std::_List_node<ceph::buffer::ptr> >
- | | | | | | | + 0.10% ~_List_node
- | | | | | | | + 0.10% ~ptr
- | | | | | | | + 0.10% ceph::buffer::ptr::release
- | | | | | | | + 0.05% _int_free
- | | | | | | + 0.05% _M_put_node
- | | | | | + 0.05% ~intrusive_ptr
- | | | | + 0.20% _int_free
- | | | | | + 0.15% _L_unlock_4968
- | | | | | + 0.15% __lll_unlock_wake_private
- | | | | + 0.05% __GI___libc_free
- | | | + 0.05% dec
- | | + 0.55% ceph::buffer::list::append
- | | | + 0.20% create
- | | | | + 0.20% allocate_aligned
- | | | | + 0.10% __posix_memalign
- | | | | | + 0.10% __GI___libc_malloc
- | | | | | + 0.05% _int_malloc
- | | | | + 0.05% pick_a_shard
- | | | | + 0.05% operator+=
- | | | + 0.20% ceph::buffer::list::append
- | | | | + 0.20% push_back
- | | | | + 0.20% push_back
- | | | | + 0.20% _M_insert<ceph::buffer::ptr>
- | | | | + 0.20% _M_create_node<ceph::buffer::ptr>
- | | | | + 0.20% _M_get_node
- | | | | + 0.20% allocate
- | | | | + 0.20% operator new
- | | | | + 0.20% __GI___libc_malloc
- | | | | + 0.05% _int_malloc
- | | | + 0.10% ceph::buffer::ptr::ptr
- | | | | + 0.10% inc
- | | | | + 0.10% AO_fetch_and_add_full
- | | | + 0.05% ceph::buffer::ptr::append
- | | + 0.10% _ZNK16RefCountedObject3putEv@plt
- | | + 0.05% PerfCounters::inc
- | | + 0.05% AuthNoneSessionHandler::sign_message
- | + 3.25% AsyncConnection::prepare_send_message
- | | + 3.25% Message::encode
- | | + 2.35% MOSDOp::encode_payload
- | | | + 1.75% encode
- | | | | + 0.75% spg_t::encode
- | | | | | + 0.70% encode
- | | | | | | + 0.65% encode_raw<unsigned char>
- | | | | | | | + 0.65% ceph::buffer::list::append
- | | | | | | | + 0.30% create
- | | | | | | | | + 0.30% allocate_aligned
- | | | | | | | | + 0.20% __posix_memalign
- | | | | | | | | | + 0.20% __GI___libc_malloc
- | | | | | | | | | + 0.15% _int_malloc
- | | | | | | | | | + 0.15% malloc_consolidate
- | | | | | | | | + 0.10% operator+=
- | | | | | | | + 0.25% ceph::buffer::list::append
- | | | | | | | | + 0.05% push_back
- | | | | | | | | + 0.05% ceph::buffer::ptr::ptr
- | | | | | | | | + 0.05% _ZN4ceph6buffer3ptrC1ERKS1_jj@plt
- | | | | | | | + 0.05% ~ptr
- | | | | | | + 0.05% encode
- | | | | | + 0.05% ceph::buffer::list::iterator::advance
- | | | | + 0.45% object_locator_t::encode
- | | | | | + 0.25% encode
- | | | | | | + 0.10% encode
- | | | | | | | + 0.10% encode_raw<ceph_le32>
- | | | | | | | + 0.10% ceph::buffer::list::append
- | | | | | | | + 0.05% ceph::buffer::list::append
- | | | | | | + 0.05% encode_raw<unsigned char>
- | | | | | | + 0.05% encode_raw<ceph_le64>
- | | | | | | + 0.05% encode_raw<ceph_le32>
- | | | | | + 0.05% end
- | | | | | + 0.05% ceph::buffer::list::iterator::copy_in
- | | | | | + 0.05% _ZN4ceph6buffer4list13iterator_implILb0EE7advanceEi@plt
- | | | | + 0.25% encode_raw<ceph_le32>
- | | | | | + 0.20% ceph::buffer::list::append
- | | | | | + 0.10% ceph::buffer::ptr::append
- | | | | + 0.15% encode
- | | | | | + 0.15% encode
- | | | | | + 0.15% ceph::buffer::list::append
- | | | | | + 0.10% ceph::buffer::ptr::append
- | | | | | | + 0.10% maybe_inline_memcpy
- | | | | | | + 0.10% memcpy
- | | | | | | + 0.10% __memcpy_ssse3_back
- | | | | | + 0.05% ceph::buffer::list::append
- | | | | + 0.10% encode_raw<ceph_osd_op>
- | | | | | + 0.10% ceph::buffer::list::append
- | | | | | + 0.05% ceph::buffer::ptr::unused_tail_length
- | | | | | + 0.05% ceph::buffer::ptr::append
- | | | | + 0.05% encode_raw<ceph_le16>
- | | | + 0.30% OSDOp::merge_osd_op_vector_in_data
- | | | | + 0.20% ceph::buffer::list::append
- | | | | + 0.20% push_back
- | | | | + 0.20% _M_insert<ceph::buffer::ptr const&>
- | | | | + 0.20% _M_create_node<ceph::buffer::ptr const&>
- | | | | + 0.10% construct<std::_List_node<ceph::buffer::ptr>, ceph::buffer::ptr const&>
- | | | | | + 0.10% _List_node<ceph::buffer::ptr const&>
- | | | | | + 0.10% ceph::buffer::ptr::ptr
- | | | | | + 0.10% inc
- | | | | | + 0.10% AO_fetch_and_add_full
- | | | | + 0.10% _M_get_node
- | | | | + 0.10% allocate
- | | | | + 0.10% operator new
- | | | | + 0.05% __GI___libc_malloc
- | | | + 0.15% encode<osd_reqid_t, denc_traits<osd_reqid_t> >
- | | | | + 0.05% get_contiguous_appender
- | | | | + 0.05% ceph::buffer::ptr::release
- | | | + 0.05% operator=
- | | | + 0.05% encode<std::vector<snapid_t>, denc_traits<std::vector<snapid_t>, void> >
- | | | + 0.05% MOSDOp::get_object_locator
- | | + 0.55% calc_data_crc
- | | | + 0.55% ceph::buffer::list::crc32c
- | | | + 0.50% ceph_crc32c
- | | | | + 0.50% ceph_crc32c_intel_fast
- | | | | + 0.50% None
- | | | | + 0.50% None
- | | | | + 0.50% crc32_iscsi_00
- | | | + 0.05% set_crc
- | | + 0.30% calc_front_crc
- | | + 0.25% ceph::buffer::list::crc32c
- | | | + 0.10% set_crc
- | | | | + 0.10% operator[]
- | | | | + 0.10% std::_Rb_tree<std::pair<unsigned long, unsigned long>, std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> >, std::_Select1st<std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> > >, std::less<std::pair<unsigned long, unsigned long> >, std::allocator<std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> > > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<std::pair<unsigned long, unsigned long> const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> > >, std::piecewise_construct_t const&, std::tuple<std::pair<unsigned long, unsigned long> const&>&&, std::tuple<>&&)
- | | | | + 0.10% _M_create_node<const std::piecewise_construct_t&, std::tuple<const std::pair<long unsigned int, long unsigned int>&>, std::tuple<> >
- | | | | + 0.10% _M_get_node
- | | | | + 0.10% allocate
- | | | | + 0.10% operator new
- | | | | + 0.10% __GI___libc_malloc
- | | | | + 0.10% _int_malloc
- | | | + 0.10% ceph_crc32c
- | | | + 0.10% ceph_crc32c_intel_baseline
- | | + 0.05% _ZNK4ceph6buffer4list6crc32cEj@plt
- | + 0.55% _get_next_outgoing
- | | + 0.50% erase
- | | | + 0.30% _M_erase
- | | | | + 0.15% std::__detail::_List_node_base::_M_unhook
- | | | | + 0.10% _M_put_node
- | | | | | + 0.10% deallocate
- | | | | | + 0.10% _int_free
- | | | | + 0.05% destroy<std::_List_node<std::pair<ceph::buffer::list, Message*> > >
- | | | + 0.20% std::_Rb_tree<int, std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > >, std::_Select1st<std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > > >, std::less<int>, std::allocator<std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > > > >::erase
- | | | + 0.20% erase
- | | | + 0.20% _M_erase_aux
- | | | + 0.20% clear
- | | | + 0.20% std::_Rb_tree<int, std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > >, std::_Select1st<std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > > >, std::less<int>, std::allocator<std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > > > >::_M_erase
- | | | + 0.15% _M_destroy_node
- | | | + 0.10% _M_put_node
- | | | | + 0.10% deallocate
- | | | | + 0.10% _int_free
- | | | + 0.05% destroy<std::_Rb_tree_node<std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*> > > > >
- | | + 0.05% ceph::buffer::list::swap
- | + 0.10% list
- | | + 0.05% ceph::buffer::list::iterator_impl<false>::iterator_impl
- | | + 0.05% _ZN4ceph6buffer4list13iterator_implILb0EE7advanceEi@plt
- | + 0.05% unlock
- | + 0.05% read
- | + 0.05% lock
- + 11.30% AsyncConnection::process
- | + 5.25% DispatchQueue::fast_dispatch
- | | + 4.85% ms_fast_dispatch
- | | | + 4.80% Objecter::ms_dispatch
- | | | | + 4.75% Objecter::handle_osd_op_reply
- | | | | | + 1.95% Objecter::_finish_op
- | | | | | | + 1.00% RefCountedObject::put
- | | | | | | | + 1.00% Objecter::Op::~Op
- | | | | | | | + 0.75% ~Op
- | | | | | | | | + 0.35% std::vector<OSDOp, std::allocator<OSDOp> >::~vector
- | | | | | | | | | + 0.20% ~_Vector_base
- | | | | | | | | | | + 0.20% _M_deallocate
- | | | | | | | | | | + 0.20% deallocate
- | | | | | | | | | | + 0.20% _int_free
- | | | | | | | | | | + 0.10% _L_unlock_4968
- | | | | | | | | | | | + 0.10% __lll_unlock_wake_private
- | | | | | | | | | | + 0.05% _L_lock_4780
- | | | | | | | | | + 0.15% _Destroy<OSDOp*, OSDOp>
- | | | | | | | | | + 0.15% _Destroy<OSDOp*>
- | | | | | | | | | + 0.15% __destroy<OSDOp*>
- | | | | | | | | | + 0.15% _Destroy<OSDOp>
- | | | | | | | | | + 0.15% ~OSDOp
- | | | | | | | | | + 0.15% ~list
- | | | | | | | | | + 0.15% ~list
- | | | | | | | | | + 0.15% ~_List_base
- | | | | | | | | | + 0.15% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear
- | | | | | | | | | + 0.10% destroy<std::_List_node<ceph::buffer::ptr> >
- | | | | | | | | | | + 0.10% ~_List_node
- | | | | | | | | | | + 0.05% ~ptr
- | | | | | | | | | + 0.05% _M_put_node
- | | | | | | | | + 0.20% ~op_target_t
- | | | | | | | | | + 0.20% ~vector
- | | | | | | | | | + 0.20% ~_Vector_base
- | | | | | | | | | + 0.20% _M_deallocate
- | | | | | | | | | + 0.15% deallocate
- | | | | | | | | | + 0.10% _int_free
- | | | | | | | | | + 0.05% __GI___libc_free
- | | | | | | | | + 0.15% ~vector
- | | | | | | | | | + 0.15% ~_Vector_base
- | | | | | | | | | + 0.15% _M_deallocate
- | | | | | | | | | + 0.15% deallocate
- | | | | | | | | | + 0.10% _int_free
- | | | | | | | | | + 0.05% __GI___libc_free
- | | | | | | | | + 0.05% ~RefCountedObject
- | | | | | | | + 0.25% _int_free
- | | | | | | | + 0.15% _L_lock_4780
- | | | | | | | | + 0.15% __lll_lock_wait_private
- | | | | | | | + 0.10% _L_unlock_4968
- | | | | | | | + 0.10% __lll_unlock_wake_private
- | | | | | | + 0.45% Objecter::_session_op_remove
- | | | | | | | + 0.30% erase
- | | | | | | | | + 0.30% std::_Rb_tree<unsigned long, std::pair<unsigned long const, Objecter::Op*>, std::_Select1st<std::pair<unsigned long const, Objecter::Op*> >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, Objecter::Op*> > >::erase
- | | | | | | | | + 0.30% erase
- | | | | | | | | + 0.30% _M_erase_aux
- | | | | | | | | + 0.15% clear
- | | | | | | | | | + 0.15% std::_Rb_tree<unsigned long, std::pair<unsigned long const, Objecter::Op*>, std::_Select1st<std::pair<unsigned long const, Objecter::Op*> >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, Objecter::Op*> > >::_M_erase
- | | | | | | | | | + 0.15% _M_destroy_node
- | | | | | | | | | + 0.15% _M_put_node
- | | | | | | | | | + 0.15% deallocate
- | | | | | | | | | + 0.10% _int_free
- | | | | | | | | | + 0.05% __GI___libc_free
- | | | | | | | | + 0.10% erase
- | | | | | | | | + 0.10% _M_erase_aux
- | | | | | | | | + 0.05% std::_Rb_tree_rebalance_for_erase
- | | | | | | | | + 0.05% _M_destroy_node
- | | | | | | | + 0.10% Objecter::put_session
- | | | | | | | + 0.10% RefCountedObject::put
- | | | | | | | + 0.05% dec
- | | | | | | + 0.35% put_op_budget
- | | | | | | | + 0.30% put_op_budget_bytes
- | | | | | | | | + 0.30% Throttle::put
- | | | | | | | | + 0.10% Locker
- | | | | | | | | | + 0.10% Mutex::Lock
- | | | | | | | | | + 0.05% __GI___pthread_mutex_lock
- | | | | | | | | + 0.05% ~Locker
- | | | | | | | | + 0.05% read
- | | | | | | | | + 0.05% PerfCounters::inc
- | | | | | | | + 0.05% Objecter::calc_op_budget
- | | | | | | + 0.10% PerfCounters::dec
- | | | | | | + 0.05% sub
- | | | | | + 1.25% Context::complete
- | | | | | | + 1.20% librados::IoCtxImpl::C_aio_Complete::finish
- | | | | | | + 0.70% queue
- | | | | | | | + 0.45% pthread_cond_broadcast@@GLIBC_2.3.2
- | | | | | | | + 0.15% Mutex::Lock
- | | | | | | | | + 0.05% __GI___pthread_mutex_lock
- | | | | | | | + 0.05% PerfCounters::inc
- | | | | | | | + 0.05% Mutex::Unlock
- | | | | | | + 0.20% librados::IoCtxImpl::complete_aio_write
- | | | | | | | + 0.05% pthread_cond_broadcast@@GLIBC_2.3.2
- | | | | | | | + 0.05% librados::IoCtxImpl::put
- | | | | | | | + 0.05% Mutex::Unlock
- | | | | | | + 0.15% operator new
- | | | | | | | + 0.15% __GI___libc_malloc
- | | | | | | + 0.10% Mutex::Lock
- | | | | | + 0.25% Objecter::OSDSession::get_lock
- | | | | | | + 0.15% ceph_str_hash_linux
- | | | | | + 0.20% shunique_lock
- | | | | | | + 0.20% lock_shared
- | | | | | | + 0.20% boost::shared_mutex::lock_shared
- | | | | | | + 0.20% boost::this_thread::disable_interruption::disable_interruption()
- | | | | | | + 0.15% boost::this_thread::interruption_enabled()
- | | | | | | + 0.15% boost::detail::get_current_thread_data()
- | | | | | | + 0.05% boost::thread_detail::enter_once_region(boost::once_flag&)
- | | | | | | + 0.05% _ZN5boost13thread_detail17enter_once_regionERNS_9once_flagE@plt
- | | | | | + 0.20% ceph::shunique_lock<boost::shared_mutex>::unlock
- | | | | | | + 0.20% boost::shared_mutex::unlock_shared
- | | | | | | + 0.10% release_waiters
- | | | | | | | + 0.10% notify_all
- | | | | | | | + 0.05% pthread_mutex_scoped_lock
- | | | | | | | + 0.05% pthread_cond_broadcast@@GLIBC_2.3.2
- | | | | | | + 0.05% ~unique_lock
- | | | | | + 0.20% RefCountedObject::put
- | | | | | | + 0.20% MOSDOpReply::~MOSDOpReply
- | | | | | | + 0.15% ~MOSDOpReply
- | | | | | | | + 0.10% Message::~Message
- | | | | | | | | + 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% destroy<std::_List_node<ceph::buffer::ptr> >
- | | | | | | | | + 0.10% ~_List_node
- | | | | | | | | + 0.10% ~ptr
- | | | | | | | | + 0.10% ceph::buffer::ptr::release
- | | | | | | | | + 0.05% _int_free
- | | | | | | | + 0.05% ~object_t
- | | | | | | + 0.05% _int_free
- | | | | | + 0.10% unique_lock
- | | | | | | + 0.10% std::unique_lock<boost::shared_mutex>::lock
- | | | | | | + 0.10% boost::shared_mutex::lock
- | | | | | | + 0.10% unique_lock
- | | | | | | + 0.10% boost::unique_lock<boost::mutex>::lock
- | | | | | | + 0.10% lock
- | | | | | | + 0.10% pthread_mutex_lock
- | | | | | | + 0.10% __GI___pthread_mutex_lock
- | | | | | + 0.10% read
- | | | | | | + 0.10% AO_load_read
- | | | | | | + 0.10% AO_load
- | | | | | + 0.05% std::vector<OSDOp, std::allocator<OSDOp> >::~vector
- | | | | | + 0.05% std::unique_lock<boost::shared_mutex>::unlock
- | | | | | + 0.05% size
- | | | | | + 0.05% lock
- | | | | | + 0.05% find
- | | | | | + 0.05% Objecter::put_session
- | | | | + 0.05% should_gather
- | | | + 0.05% ceph_clock_now
- | | + 0.20% DispatchQueue::post_dispatch
- | | | + 0.15% DispatchQueue::dispatch_throttle_release
- | | | + 0.10% Throttle::put
- | | | + 0.05% PerfCounters::set
- | | | + 0.05% PerfCounters::inc
- | | + 0.15% DispatchQueue::pre_dispatch
- | + 2.15% AsyncConnection::read_until
- | | + 2.15% AsyncConnection::read_bulk
- | | + 2.15% read
- | | + 2.10% PosixConnectedSocketImpl::read
- | | + 2.10% read
- | | + 2.05% read
- | | + 0.05% read@plt
- | + 2.10% decode_message
- | | + 1.05% MOSDOpReply::decode_payload
- | | | + 0.75% decode
- | | | | + 0.65% decode
- | | | | | + 0.45% decode
- | | | | | | + 0.25% ceph::buffer::list::iterator::copy
- | | | | | | | + 0.25% ceph::buffer::list::iterator_impl<false>::copy
- | | | | | | | + 0.20% std::string::append
- | | | | | | | | + 0.15% std::string::reserve
- | | | | | | | | | + 0.10% std::string::_Rep::_M_clone
- | | | | | | | | | + 0.10% std::string::_Rep::_S_create
- | | | | | | | | | + 0.10% allocate
- | | | | | | | | | + 0.10% operator new
- | | | | | | | | | + 0.10% __GI___libc_malloc
- | | | | | | | | | + 0.10% _int_malloc
- | | | | | | | | + 0.05% _M_copy
- | | | | | | | + 0.05% _ZN4ceph6buffer4list13iterator_implILb0EE7advanceEi@plt
- | | | | | | + 0.10% clear
- | | | | | | | + 0.10% std::string::_M_mutate
- | | | | | | | + 0.10% _M_move
- | | | | | | | + 0.10% move
- | | | | | | + 0.05% decode
- | | | | | + 0.10% ceph::buffer::list::iterator_impl<false>::copy
- | | | | | | + 0.05% ceph::buffer::ptr::copy_out
- | | | | | | + 0.05% __memcpy_ssse3_back
- | | | | | + 0.05% ceph::buffer::list::iterator::copy
- | | | | + 0.10% decode_raw<ceph_le64>
- | | | | + 0.10% ceph::buffer::list::iterator_impl<false>::copy
- | | | | + 0.05% ceph::buffer::ptr::copy_out
- | | | + 0.15% OSDOp::split_osd_op_vector_out_data
- | | | | + 0.15% begin
- | | | + 0.10% std::vector<OSDOp, std::allocator<OSDOp> >::resize
- | | | + 0.10% std::vector<OSDOp, std::allocator<OSDOp> >::_M_default_append
- | | | + 0.05% __uninitialized_default_n_a<OSDOp*, unsigned long, OSDOp>
- | | | + 0.05% _M_allocate
- | | + 0.40% ceph::buffer::list::crc32c
- | | | + 0.20% set_crc
- | | | | + 0.20% operator[]
- | | | | + 0.20% std::_Rb_tree<std::pair<unsigned long, unsigned long>, std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> >, std::_Select1st<std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> > >, std::less<std::pair<unsigned long, unsigned long> >, std::allocator<std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> > > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<std::pair<unsigned long, unsigned long> const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> > >, std::piecewise_construct_t const&, std::tuple<std::pair<unsigned long, unsigned long> const&>&&, std::tuple<>&&)
- | | | | + 0.10% _M_insert_node
- | | | | | + 0.05% _ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_@plt
- | | | | + 0.05% std::_Rb_tree<std::pair<unsigned long, unsigned long>, std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> >, std::_Select1st<std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> > >, std::less<std::pair<unsigned long, unsigned long> >, std::allocator<std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> > > >::_M_get_insert_hint_unique_pos
- | | | + 0.05% ceph_crc32c
- | | | + 0.05% ceph::buffer::ptr::c_str
- | | | + 0.05% _ZNK4ceph6buffer3ptr5c_strEv@plt
- | | + 0.30% operator new
- | | | + 0.30% __GI___libc_malloc
- | | | + 0.15% _int_malloc
- | | + 0.15% set_payload
- | | | + 0.15% ceph::buffer::list::claim
- | | | + 0.10% clear
- | | | + 0.10% ceph::buffer::ptr::operator=(ceph::buffer::ptr&&)
- | | | + 0.05% _ZN4ceph6buffer3ptr7releaseEv@plt
- | | + 0.05% set_middle
- | | + 0.05% MOSDOpReply::MOSDOpReply
- | + 0.40% ceph::buffer::create
- | | + 0.35% ceph::buffer::create_aligned
- | | + 0.25% create
- | | + 0.25% allocate_aligned
- | | + 0.20% __posix_memalign
- | | | + 0.20% __GI___libc_malloc
- | | | + 0.10% _int_malloc
- | | + 0.05% operator+=
- | + 0.35% Throttle::get_or_fail
- | | + 0.15% PerfCounters::set
- | | | + 0.05% set
- | | + 0.10% Locker
- | | | + 0.10% Mutex::Lock
- | | | + 0.05% _post_lock
- | | | + 0.05% __GI___pthread_mutex_lock
- | | + 0.05% ~Locker
- | | + 0.05% _should_wait
- | + 0.20% ceph::buffer::list::clear
- | | + 0.10% ceph::buffer::ptr::operator=(ceph::buffer::ptr&&)
- | | + 0.05% clear
- | | + 0.05% begin
- | + 0.15% ceph_clock_now
- | | + 0.10% clock_gettime
- | | + 0.10% clock_gettime
- | + 0.10% ceph_crc32c
- | | + 0.10% ceph_crc32c_intel_baseline
- | + 0.10% ceph::buffer::list::push_back
- | | + 0.05% ~ptr
- | | + 0.05% push_back
- | + 0.05% ~intrusive_ptr
- | + 0.05% operator __u32
- | + 0.05% now
- | + 0.05% ms_can_fast_dispatch
- | + 0.05% intrusive_ptr
- | + 0.05% _ZN8Throttle11get_or_failEl@plt
- | + 0.05% PerfCounters::inc
- + 0.90% C_handle_notify::do_request
- | + 0.90% read
- | + 0.85% read
- | + 0.05% read@plt
- + 0.25% now
- | + 0.25% clock_gettime
- | + 0.15% clock_gettime
- + 0.15% ~deque
- | + 0.10% std::_Deque_base<EventCallback*, std::allocator<EventCallback*> >::~_Deque_base
- + 0.10% deque
- | + 0.10% _Deque_base
- | + 0.10% _M_initialize_map
- | + 0.10% _M_allocate_map
- | + 0.10% allocate
- | + 0.10% operator new
- | + 0.10% __GI___libc_malloc
- | + 0.10% _int_malloc
- + 0.05% ~vector
- + 0.05% _get_file_event
- + 0.05% _ZN15AsyncConnection7processEv@plt
- + 0.05% _ZN15AsyncConnection12handle_writeEv@plt
- + 0.05% C_handle_read::do_request
- Thread: 18 (msgr-worker-0) - 2000 samples
- + 100.00% clone
- + 100.00% start_thread
- + 100.00% std::(anonymous namespace)::execute_native_thread_routine
- + 100.00% NetworkStack::__lambda4::operator()
- + 100.00% EventCenter::process_events
- + 65.60% EpollDriver::event_wait
- | + 65.40% epoll_wait
- | | + 0.05% __libc_enable_asynccancel
- | + 0.15% resize
- | + 0.15% std::vector<FiredFileEvent, std::allocator<FiredFileEvent> >::_M_default_append
- | + 0.15% _M_allocate
- | + 0.15% allocate
- | + 0.15% operator new
- | + 0.15% __GI___libc_malloc
- + 16.65% AsyncConnection::process
- | + 7.05% DispatchQueue::fast_dispatch
- | | + 6.80% ms_fast_dispatch
- | | | + 6.80% Objecter::ms_dispatch
- | | | + 6.70% Objecter::handle_osd_op_reply
- | | | | + 2.75% Objecter::_finish_op
- | | | | | + 1.25% RefCountedObject::put
- | | | | | | + 1.15% Objecter::Op::~Op
- | | | | | | | + 0.80% ~Op
- | | | | | | | | + 0.50% std::vector<OSDOp, std::allocator<OSDOp> >::~vector
- | | | | | | | | | + 0.30% _Destroy<OSDOp*, OSDOp>
- | | | | | | | | | | + 0.30% _Destroy<OSDOp*>
- | | | | | | | | | | + 0.30% __destroy<OSDOp*>
- | | | | | | | | | | + 0.30% _Destroy<OSDOp>
- | | | | | | | | | | + 0.30% ~OSDOp
- | | | | | | | | | | + 0.25% ~list
- | | | | | | | | | | | + 0.15% ~list
- | | | | | | | | | | | | + 0.15% ~_List_base
- | | | | | | | | | | | | + 0.15% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear
- | | | | | | | | | | | | + 0.10% _M_put_node
- | | | | | | | | | | | | | + 0.10% deallocate
- | | | | | | | | | | | | | + 0.10% _int_free
- | | | | | | | | | | | | + 0.05% destroy<std::_List_node<ceph::buffer::ptr> >
- | | | | | | | | | | | + 0.10% ~ptr
- | | | | | | | | | | | + 0.10% ceph::buffer::ptr::release
- | | | | | | | | | | + 0.05% ~sobject_t
- | | | | | | | | | + 0.20% ~_Vector_base
- | | | | | | | | | + 0.20% _M_deallocate
- | | | | | | | | | + 0.20% deallocate
- | | | | | | | | | + 0.20% _int_free
- | | | | | | | | | + 0.10% _L_lock_4780
- | | | | | | | | | | + 0.10% __lll_lock_wait_private
- | | | | | | | | | + 0.05% _L_unlock_4968
- | | | | | | | | + 0.20% ~vector
- | | | | | | | | | + 0.20% ~_Vector_base
- | | | | | | | | | + 0.20% _M_deallocate
- | | | | | | | | | + 0.20% deallocate
- | | | | | | | | | + 0.10% _int_free
- | | | | | | | | | + 0.10% __GI___libc_free
- | | | | | | | | + 0.10% ~op_target_t
- | | | | | | | | + 0.10% ~vector
- | | | | | | | | + 0.10% ~_Vector_base
- | | | | | | | | + 0.10% _M_deallocate
- | | | | | | | | + 0.10% deallocate
- | | | | | | | | + 0.10% _int_free
- | | | | | | | + 0.25% _int_free
- | | | | | | | | + 0.20% _L_lock_4780
- | | | | | | | | + 0.20% __lll_lock_wait_private
- | | | | | | | + 0.10% __GI___libc_free
- | | | | | | + 0.10% dec
- | | | | | + 1.00% put_op_budget
- | | | | | | + 0.90% put_op_budget_bytes
- | | | | | | | + 0.90% Throttle::put
- | | | | | | | + 0.25% read
- | | | | | | | | + 0.15% AO_load_read
- | | | | | | | | + 0.15% AO_load
- | | | | | | | + 0.25% PerfCounters::inc
- | | | | | | | | + 0.10% add
- | | | | | | | | + 0.10% ceph_spin_lock
- | | | | | | | | + 0.10% pthread_spin_lock
- | | | | | | | + 0.15% PerfCounters::set
- | | | | | | | | + 0.10% set
- | | | | | | | | + 0.10% ceph_spin_lock
- | | | | | | | | + 0.10% pthread_spin_lock
- | | | | | | | + 0.15% Locker
- | | | | | | | | + 0.15% Mutex::Lock
- | | | | | | | | + 0.15% __GI___pthread_mutex_lock
- | | | | | | | | + 0.05% _L_lock_791
- | | | | | | | + 0.05% ~Locker
- | | | | | | + 0.05% Objecter::calc_op_budget
- | | | | | + 0.30% Objecter::_session_op_remove
- | | | | | | + 0.25% erase
- | | | | | | | + 0.25% std::_Rb_tree<unsigned long, std::pair<unsigned long const, Objecter::Op*>, std::_Select1st<std::pair<unsigned long const, Objecter::Op*> >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, Objecter::Op*> > >::erase
- | | | | | | | + 0.20% erase
- | | | | | | | + 0.20% _M_erase_aux
- | | | | | | | + 0.15% erase
- | | | | | | | | + 0.15% _M_erase_aux
- | | | | | | | | + 0.10% std::_Rb_tree_rebalance_for_erase
- | | | | | | | | + 0.05% _M_destroy_node
- | | | | | | | + 0.05% clear
- | | | | | | + 0.05% Objecter::put_session
- | | | | | + 0.15% PerfCounters::dec
- | | | | | + 0.15% sub
- | | | | | + 0.15% ceph_spin_lock
- | | | | | + 0.15% pthread_spin_lock
- | | | | + 1.30% Context::complete
- | | | | | + 1.30% librados::IoCtxImpl::C_aio_Complete::finish
- | | | | | + 1.00% queue
- | | | | | | + 0.65% pthread_cond_broadcast@@GLIBC_2.3.2
- | | | | | | + 0.15% push_back
- | | | | | | | + 0.15% std::vector<Context*, std::allocator<Context*> >::_M_emplace_back_aux<Context* const&>
- | | | | | | | + 0.05% __uninitialized_move_if_noexcept_a<Context**, Context**, std::allocator<Context*> >
- | | | | | | | + 0.05% _M_allocate
- | | | | | | + 0.15% Mutex::Lock
- | | | | | | | + 0.05% __GI___pthread_mutex_lock
- | | | | | | + 0.05% PerfCounters::inc
- | | | | | + 0.20% librados::IoCtxImpl::complete_aio_write
- | | | | | | + 0.10% remove_myself
- | | | | | | | + 0.10% remove
- | | | | | | + 0.05% librados::IoCtxImpl::put
- | | | | | | + 0.05% Cond::Signal
- | | | | | + 0.05% operator new
- | | | | | + 0.05% Mutex::Lock
- | | | | + 0.45% shunique_lock
- | | | | | + 0.45% lock_shared
- | | | | | + 0.40% boost::shared_mutex::lock_shared
- | | | | | + 0.30% unique_lock
- | | | | | | + 0.30% boost::unique_lock<boost::mutex>::lock
- | | | | | | + 0.25% lock
- | | | | | | + 0.25% pthread_mutex_lock
- | | | | | | + 0.25% __GI___pthread_mutex_lock
- | | | | | + 0.10% boost::this_thread::disable_interruption::disable_interruption()
- | | | | | + 0.05% boost::this_thread::interruption_enabled()
- | | | | + 0.45% RefCountedObject::put
- | | | | | + 0.45% MOSDOpReply::~MOSDOpReply
- | | | | | + 0.45% ~MOSDOpReply
- | | | | | + 0.30% Message::~Message
- | | | | | | + 0.15% ~list
- | | | | | | | + 0.15% ~list
- | | | | | | | + 0.15% ~_List_base
- | | | | | | | + 0.15% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear
- | | | | | | | + 0.15% destroy<std::_List_node<ceph::buffer::ptr> >
- | | | | | | | + 0.15% ~_List_node
- | | | | | | | + 0.15% ~ptr
- | | | | | | | + 0.15% ceph::buffer::ptr::release
- | | | | | | | + 0.15% ceph::buffer::raw_combined::~raw_combined
- | | | | | | | + 0.05% ~raw_combined
- | | | | | | | + 0.05% operator delete
- | | | | | | + 0.10% ~intrusive_ptr
- | | | | | | | + 0.05% _ZNK16RefCountedObject3putEv@plt
- | | | | | | | + 0.05% RefCountedObject::put
- | | | | | | + 0.05% release_message_throttle
- | | | | | + 0.15% ~object_t
- | | | | | + 0.15% ~basic_string
- | | | | | + 0.05% std::string::_Rep::_M_dispose
- | | | | | + 0.05% _int_free
- | | | | | + 0.05% __GI___libc_free
- | | | | + 0.15% unique_lock
- | | | | | + 0.15% std::unique_lock<boost::shared_mutex>::lock
- | | | | | + 0.15% boost::shared_mutex::lock
- | | | | | + 0.10% boost::this_thread::disable_interruption::disable_interruption()
- | | | | | | + 0.05% boost::this_thread::interruption_enabled()
- | | | | | + 0.05% unique_lock
- | | | | + 0.15% std::unique_lock<boost::shared_mutex>::unlock
- | | | | | + 0.15% unlock
- | | | | | + 0.10% release_waiters
- | | | | | | + 0.05% notify_one
- | | | | | | + 0.05% notify_all
- | | | | | + 0.05% unique_lock
- | | | | + 0.15% get_priv
- | | | | | + 0.05% RefCountedObject::get
- | | | | | + 0.05% Locker
- | | | | + 0.15% find
- | | | | | + 0.15% std::_Rb_tree<unsigned long, std::pair<unsigned long const, Objecter::Op*>, std::_Select1st<std::pair<unsigned long const, Objecter::Op*> >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, Objecter::Op*> > >::find
- | | | | + 0.15% ceph::shunique_lock<boost::shared_mutex>::unlock
- | | | | | + 0.15% boost::shared_mutex::unlock_shared
- | | | | | + 0.10% release_waiters
- | | | | | | + 0.10% notify_one
- | | | | | | + 0.10% pthread_mutex_scoped_lock
- | | | | | | + 0.10% __GI___pthread_mutex_lock
- | | | | | + 0.05% unique_lock
- | | | | + 0.10% PerfCounters::inc
- | | | | | + 0.05% add
- | | | | + 0.10% Objecter::put_session
- | | | | | + 0.05% RefCountedObject::put
- | | | | + 0.05% std::vector<OSDOp, std::allocator<OSDOp> >::~vector
- | | | | + 0.05% read
- | | | | + 0.05% librados::IoCtxImpl::C_aio_Complete::~C_aio_Complete
- | | | | + 0.05% intrusive_ptr
- | | | | + 0.05% get_result
- | | | | + 0.05% Objecter::OSDSession::get_lock
- | | | + 0.05% should_gather
- | | | + 0.05% read
- | | + 0.20% DispatchQueue::post_dispatch
- | | + 0.20% DispatchQueue::dispatch_throttle_release
- | | + 0.15% Throttle::put
- | | + 0.05% read
- | | + 0.05% Locker
- | + 3.70% AsyncConnection::read_until
- | | + 3.55% AsyncConnection::read_bulk
- | | + 3.50% read
- | | + 3.50% PosixConnectedSocketImpl::read
- | | + 3.50% read
- | | + 3.50% read
- | + 3.10% decode_message
- | | + 1.65% MOSDOpReply::decode_payload
- | | | + 1.20% decode
- | | | | + 0.70% decode
- | | | | | + 0.65% decode
- | | | | | | + 0.25% decode
- | | | | | | | + 0.20% decode_raw<ceph_le32>
- | | | | | | | | + 0.20% ceph::buffer::list::iterator_impl<false>::copy
- | | | | | | | | + 0.05% ceph::buffer::list::iterator_impl<false>::advance
- | | | | | | | + 0.05% operator __u32
- | | | | | | + 0.20% clear
- | | | | | | | + 0.15% std::string::_M_mutate
- | | | | | | | + 0.05% _ZNSs9_M_mutateEmmm@plt
- | | | | | | + 0.10% ceph::buffer::list::iterator::copy
- | | | | | | | + 0.10% ceph::buffer::list::iterator_impl<false>::copy
- | | | | | | | + 0.05% std::string::append
- | | | | | | + 0.05% _ZN4ceph6buffer4list13iterator_implILb0EE4copyEjRSs@plt
- | | | | | + 0.05% ceph::buffer::list::iterator_impl<false>::copy
- | | | | + 0.25% pg_t::decode
- | | | | | + 0.20% decode
- | | | | | + 0.10% decode_raw<unsigned char>
- | | | | | | + 0.05% ceph::buffer::list::iterator_impl<false>::copy
- | | | | | + 0.10% decode_raw<ceph_le64>
- | | | | | + 0.10% ceph::buffer::list::iterator_impl<false>::copy
- | | | | | + 0.10% ceph::buffer::ptr::copy_out
- | | | | | + 0.05% maybe_inline_memcpy
- | | | | + 0.15% decode_raw<ceph_osd_op>
- | | | | | + 0.15% ceph::buffer::list::iterator_impl<false>::copy
- | | | | | + 0.10% __memcpy_ssse3_back
- | | | | | + 0.05% ceph::buffer::list::iterator_impl<false>::advance
- | | | | + 0.10% decode_raw<ceph_le32>
- | | | | + 0.10% ceph::buffer::list::iterator_impl<false>::copy
- | | | | + 0.05% ceph::buffer::ptr::copy_out
- | | | + 0.25% std::vector<OSDOp, std::allocator<OSDOp> >::resize
- | | | | + 0.10% std::vector<OSDOp, std::allocator<OSDOp> >::_M_default_append
- | | | | | + 0.05% _M_allocate
- | | | | + 0.05% _ZNSt6vectorI5OSDOpSaIS0_EE17_M_default_appendEm@plt
- | | | + 0.05% _ZNSt6vectorI5OSDOpSaIS0_EE6resizeEm@plt
- | | | + 0.05% _ZN5OSDOp28split_osd_op_vector_out_dataERSt6vectorIS_SaIS_EERN4ceph6buffer4listE@plt
- | | | + 0.05% OSDOp::split_osd_op_vector_out_data
- | | + 0.40% operator new
- | | | + 0.40% __GI___libc_malloc
- | | | + 0.30% _int_malloc
- | | | + 0.05% malloc_printerr
- | | + 0.35% ceph::buffer::list::crc32c
- | | | + 0.30% set_crc
- | | | | + 0.30% operator[]
- | | | | + 0.30% std::_Rb_tree<std::pair<unsigned long, unsigned long>, std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> >, std::_Select1st<std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> > >, std::less<std::pair<unsigned long, unsigned long> >, std::allocator<std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> > > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<std::pair<unsigned long, unsigned long> const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> > >, std::piecewise_construct_t const&, std::tuple<std::pair<unsigned long, unsigned long> const&>&&, std::tuple<>&&)
- | | | | + 0.20% std::_Rb_tree<std::pair<unsigned long, unsigned long>, std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> >, std::_Select1st<std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> > >, std::less<std::pair<unsigned long, unsigned long> >, std::allocator<std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> > > >::_M_get_insert_hint_unique_pos
- | | | | | + 0.10% _ZNSt8_Rb_treeISt4pairImmES0_IKS1_S0_IjjEESt10_Select1stIS4_ESt4lessIS1_ESaIS4_EE24_M_get_insert_unique_posERS2_@plt
- | | | | + 0.10% _M_create_node<const std::piecewise_construct_t&, std::tuple<const std::pair<long unsigned int, long unsigned int>&>, std::tuple<> >
- | | | | + 0.10% _M_get_node
- | | | | + 0.10% allocate
- | | | | + 0.10% operator new
- | | | | + 0.10% __GI___libc_malloc
- | | | | + 0.05% _int_malloc
- | | | + 0.05% get_crc
- | | + 0.25% MOSDOpReply::MOSDOpReply
- | | | + 0.20% Message::Message
- | | | | + 0.05% operator=
- | | | | + 0.05% memset
- | | | | + 0.05% list
- | | | + 0.05% request_redirect_t
- | | + 0.10% set_payload
- | | | + 0.10% ceph::buffer::list::claim
- | | | + 0.05% clear
- | | | + 0.05% ceph::buffer::list::claim_append
- | | + 0.05% set_middle
- | | + 0.05% set_data
- | + 0.65% Throttle::get_or_fail
- | | + 0.20% PerfCounters::inc
- | | | + 0.15% add
- | | | + 0.15% ceph_spin_lock
- | | | + 0.15% pthread_spin_lock
- | | + 0.20% Locker
- | | | + 0.20% Mutex::Lock
- | | | + 0.05% _post_lock
- | | + 0.05% ~Locker
- | | + 0.05% read
- | | + 0.05% _should_wait
- | | + 0.05% PerfCounters::set
- | + 0.40% ceph::buffer::create
- | | + 0.40% ceph::buffer::create_aligned
- | | + 0.25% create
- | | + 0.25% allocate_aligned
- | | + 0.20% __posix_memalign
- | | | + 0.20% __GI___libc_malloc
- | | | + 0.20% _int_malloc
- | | + 0.05% operator+=
- | + 0.30% ceph::buffer::list::clear
- | | + 0.10% begin
- | | | + 0.05% ceph::buffer::list::iterator_impl<false>::iterator_impl
- | | | + 0.05% ceph::buffer::list::iterator::iterator
- | | + 0.05% clear
- | | + 0.05% ceph::buffer::ptr::operator=(ceph::buffer::ptr&&)
- | + 0.25% ceph::buffer::list::push_back
- | | + 0.15% push_back
- | | | + 0.15% push_back
- | | | + 0.15% _M_insert<ceph::buffer::ptr>
- | | | + 0.10% _M_create_node<ceph::buffer::ptr>
- | | | | + 0.05% construct<std::_List_node<ceph::buffer::ptr>, ceph::buffer::ptr>
- | | | | + 0.05% _M_get_node
- | | | + 0.05% std::__detail::_List_node_base::_M_hook
- | | + 0.10% ceph::buffer::ptr::ptr
- | + 0.20% ceph_clock_now
- | | + 0.10% clock_gettime
- | | + 0.10% clock_gettime
- | + 0.10% intrusive_ptr
- | | + 0.10% intrusive_ptr_add_ref
- | | + 0.05% RefCountedObject::get
- | + 0.10% ceph_crc32c
- | | + 0.05% ceph_crc32c_intel_baseline
- | + 0.10% ceph::buffer::ptr::c_str
- | | + 0.05% ceph::buffer::raw::get_data
- | + 0.05% ~intrusive_ptr
- | + 0.05% operator __u32
- | + 0.05% now
- | + 0.05% lock_guard
- | + 0.05% ceph::logging::SubsystemMap::should_gather
- | + 0.05% _Z14ceph_clock_nowv@plt
- + 14.50% AsyncConnection::handle_write
- | + 9.40% AsyncConnection::write_message
- | | + 6.30% AsyncConnection::_try_send
- | | | + 6.00% send
- | | | | + 6.00% PosixConnectedSocketImpl::send
- | | | | + 5.20% do_sendmsg
- | | | | | + 5.20% sendmsg
- | | | | + 0.75% clear
- | | | | + 0.70% ceph::buffer::ptr::operator=(ceph::buffer::ptr&&)
- | | | | | + 0.60% ceph::buffer::ptr::release
- | | | | | + 0.30% ceph::buffer::raw_combined::~raw_combined
- | | | | | | + 0.15% operator delete
- | | | | | | | + 0.10% deallocate_aligned
- | | | | | | | + 0.10% operator-=
- | | | | | | + 0.10% ~raw_combined
- | | | | | | + 0.10% ~raw
- | | | | | | + 0.05% ~map
- | | | | | + 0.20% _int_free
- | | | | + 0.05% clear
- | | | + 0.05% should_gather
- | | + 2.10% RefCountedObject::put
- | | | + 2.05% MOSDOp::~MOSDOp
- | | | | + 1.65% ~MOSDOp
- | | | | | + 1.00% ~vector
- | | | | | | + 0.75% ~_Vector_base
- | | | | | | | + 0.75% _M_deallocate
- | | | | | | | + 0.75% deallocate
- | | | | | | | + 0.75% _int_free
- | | | | | | | + 0.40% _L_unlock_4968
- | | | | | | | | + 0.40% __lll_unlock_wake_private
- | | | | | | | + 0.15% _L_lock_4780
- | | | | | | | + 0.15% __lll_lock_wait_private
- | | | | | | + 0.25% _Destroy<OSDOp*, OSDOp>
- | | | | | | + 0.25% _Destroy<OSDOp*>
- | | | | | | + 0.25% __destroy<OSDOp*>
- | | | | | | + 0.25% _Destroy<OSDOp>
- | | | | | | + 0.25% ~OSDOp
- | | | | | | + 0.25% ~list
- | | | | | | + 0.20% ~list
- | | | | | | | + 0.20% ~_List_base
- | | | | | | | + 0.20% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear
- | | | | | | | + 0.15% _M_put_node
- | | | | | | | | + 0.15% deallocate
- | | | | | | | | + 0.15% __GI___libc_free
- | | | | | | | + 0.05% destroy<std::_List_node<ceph::buffer::ptr> >
- | | | | | | + 0.05% ~ptr
- | | | | | + 0.50% ~MOSDFastDispatchOp
- | | | | | | + 0.50% Message::~Message
- | | | | | | + 0.30% ~list
- | | | | | | | + 0.30% ~list
- | | | | | | | + 0.30% ~_List_base
- | | | | | | | + 0.30% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear
- | | | | | | | + 0.20% destroy<std::_List_node<ceph::buffer::ptr> >
- | | | | | | | | + 0.20% ~_List_node
- | | | | | | | | + 0.20% ~ptr
- | | | | | | | | + 0.20% ceph::buffer::ptr::release
- | | | | | | | | + 0.10% ceph::buffer::raw_combined::~raw_combined
- | | | | | | | | + 0.10% ~raw_combined
- | | | | | | | | + 0.10% ~raw
- | | | | | | | | + 0.10% ~map
- | | | | | | | | + 0.10% ~_Rb_tree
- | | | | | | | | + 0.10% std::_Rb_tree<std::pair<unsigned long, unsigned long>, std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> >, std::_Select1st<std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> > >, std::less<std::pair<unsigned long, unsigned long> >, std::allocator<std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> > > >::_M_erase
- | | | | | | | | + 0.10% _M_destroy_node
- | | | | | | | | + 0.10% _M_put_node
- | | | | | | | | + 0.10% deallocate
- | | | | | | | | + 0.10% _int_free
- | | | | | | | + 0.10% _M_put_node
- | | | | | | | + 0.10% deallocate
- | | | | | | | + 0.05% _int_free
- | | | | | | | + 0.05% __GI___libc_free
- | | | | | | + 0.20% ~intrusive_ptr
- | | | | | | + 0.15% RefCountedObject::put
- | | | | | | | + 0.10% dec
- | | | | | | + 0.05% intrusive_ptr_release
- | | | | | + 0.15% ~hobject_t
- | | | | | + 0.15% ~object_t
- | | | | | + 0.15% ~basic_string
- | | | | | + 0.10% std::string::_Rep::_M_dispose
- | | | | | + 0.05% __exchange_and_add_dispatch
- | | | | + 0.15% _int_free
- | | | | | + 0.05% _L_unlock_4968
- | | | | | + 0.05% _L_lock_4780
- | | | | + 0.15% __GI___libc_free
- | | | + 0.05% dec
- | | + 0.45% ceph::buffer::list::append
- | | | + 0.15% ceph::buffer::ptr::append
- | | | | + 0.05% ceph::buffer::ptr::unused_tail_length
- | | | + 0.10% create
- | | | | + 0.05% raw_combined
- | | | | + 0.05% allocate_aligned
- | | | + 0.10% ceph::buffer::list::append
- | | | | + 0.10% push_back
- | | | | + 0.10% push_back
- | | | | + 0.10% _M_insert<ceph::buffer::ptr>
- | | | | + 0.10% _M_create_node<ceph::buffer::ptr>
- | | | | + 0.10% _M_get_node
- | | | | + 0.10% allocate
- | | | | + 0.05% operator new
- | | | + 0.05% ceph::buffer::ptr::operator=(ceph::buffer::ptr&&)
- | | + 0.20% ceph::buffer::list::claim_append
- | | | + 0.05% splice
- | | | + 0.05% make_shareable
- | | + 0.15% inc
- | | + 0.15% ceph_spin_lock
- | | + 0.15% pthread_spin_lock
- | + 4.10% AsyncConnection::prepare_send_message
- | | + 3.85% Message::encode
- | | | + 3.10% MOSDOp::encode_payload
- | | | | + 2.50% encode
- | | | | | + 1.85% spg_t::encode
- | | | | | | + 1.60% encode
- | | | | | | | + 1.25% encode_raw<unsigned char>
- | | | | | | | | + 1.25% ceph::buffer::list::append
- | | | | | | | | + 0.95% create
- | | | | | | | | | + 0.95% allocate_aligned
- | | | | | | | | | + 0.95% __posix_memalign
- | | | | | | | | | + 0.95% __GI___libc_malloc
- | | | | | | | | | + 0.95% _int_malloc
- | | | | | | | | | + 0.70% malloc_consolidate
- | | | | | | | | + 0.20% ceph::buffer::list::append
- | | | | | | | | | + 0.05% push_back
- | | | | | | | | | + 0.05% ceph::buffer::ptr::ptr
- | | | | | | | | + 0.10% ceph::buffer::ptr::append
- | | | | | | | | + 0.10% maybe_inline_memcpy
- | | | | | | | + 0.30% encode
- | | | | | | | | + 0.30% encode
- | | | | | | | | + 0.15% encode_raw<ceph_le32>
- | | | | | | | | | + 0.15% ceph::buffer::list::append
- | | | | | | | | | + 0.05% ceph::buffer::ptr::append
- | | | | | | | | | + 0.05% ceph::buffer::list::append
- | | | | | | | | + 0.10% encode_raw<unsigned char>
- | | | | | | | | | + 0.10% ceph::buffer::list::append
- | | | | | | | | | + 0.05% ceph::buffer::ptr::append
- | | | | | | | | | + 0.05% ceph::buffer::list::append
- | | | | | | | | + 0.05% encode_raw<ceph_le64>
- | | | | | | | + 0.05% encode_raw<ceph_le32>
- | | | | | | + 0.15% ceph::buffer::list::iterator::copy_in
- | | | | | | + 0.05% end
- | | | | | | + 0.05% ceph::buffer::list::iterator_impl<false>::advance
- | | | | | + 0.40% object_locator_t::encode
- | | | | | | + 0.25% encode
- | | | | | | | + 0.10% encode_raw<unsigned char>
- | | | | | | | | + 0.10% ceph::buffer::list::append
- | | | | | | | + 0.05% operator=
- | | | | | | | + 0.05% encode_raw<ceph_le64>
- | | | | | | | + 0.05% encode_raw<ceph_le32>
- | | | | | | + 0.05% end
- | | | | | | + 0.05% ceph::buffer::list::iterator::copy_in
- | | | | | + 0.15% encode_raw<ceph_le32>
- | | | | | | + 0.15% ceph::buffer::list::append
- | | | | | | + 0.10% ceph::buffer::ptr::append
- | | | | | | + 0.05% maybe_inline_memcpy
- | | | | | + 0.05% encode_raw<ceph_osd_op>
- | | | | | + 0.05% encode
- | | | | + 0.30% OSDOp::merge_osd_op_vector_in_data
- | | | | | + 0.15% ceph::buffer::list::append
- | | | | | + 0.10% push_back
- | | | | | + 0.10% _M_insert<ceph::buffer::ptr const&>
- | | | | | + 0.10% _M_create_node<ceph::buffer::ptr const&>
- | | | | | + 0.10% construct<std::_List_node<ceph::buffer::ptr>, ceph::buffer::ptr const&>
- | | | | | + 0.10% _List_node<ceph::buffer::ptr const&>
- | | | | | + 0.10% ceph::buffer::ptr::ptr
- | | | | | + 0.10% inc
- | | | | | + 0.10% AO_fetch_and_add_full
- | | | | + 0.15% encode<osd_reqid_t, denc_traits<osd_reqid_t> >
- | | | | | + 0.10% encode
- | | | | | | + 0.10% encode
- | | | | | | + 0.10% _denc_friend<osd_reqid_t const, ceph::buffer::list::contiguous_appender>
- | | | | | | + 0.05% denc<unsigned long, denc_traits<unsigned long> >
- | | | | | | + 0.05% denc<entity_name_t, denc_traits<entity_name_t> >
- | | | | | + 0.05% get_contiguous_appender
- | | | | + 0.10% MOSDOp::get_object_locator
- | | | | | + 0.10% empty
- | | | | | + 0.10% size
- | | | | + 0.05% encode<std::vector<snapid_t>, denc_traits<std::vector<snapid_t>, void> >
- | | | + 0.40% calc_data_crc
- | | | | + 0.40% ceph::buffer::list::crc32c
- | | | | + 0.35% ceph_crc32c
- | | | | | + 0.35% ceph_crc32c_intel_fast
- | | | | | + 0.35% None
- | | | | | + 0.35% None
- | | | | | + 0.35% crc32_iscsi_00
- | | | | + 0.05% get_crc
- | | | + 0.35% calc_front_crc
- | | | + 0.35% ceph::buffer::list::crc32c
- | | | + 0.20% ceph_crc32c
- | | | | + 0.10% ceph_crc32c_intel_fast
- | | | | | + 0.05% None
- | | | | + 0.10% ceph_crc32c_intel_baseline
- | | | + 0.05% set_crc
- | | + 0.20% ceph::buffer::list::append
- | | + 0.20% push_back
- | | + 0.20% _M_insert<ceph::buffer::ptr const&>
- | | + 0.20% _M_create_node<ceph::buffer::ptr const&>
- | | + 0.15% _M_get_node
- | | | + 0.15% allocate
- | | | + 0.15% operator new
- | | | + 0.15% __GI___libc_malloc
- | | | + 0.10% _int_malloc
- | | + 0.05% construct<std::_List_node<ceph::buffer::ptr>, ceph::buffer::ptr const&>
- | + 0.65% _get_next_outgoing
- | | + 0.45% erase
- | | | + 0.25% std::_Rb_tree<int, std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > >, std::_Select1st<std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > > >, std::less<int>, std::allocator<std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > > > >::erase
- | | | | + 0.25% erase
- | | | | + 0.25% _M_erase_aux
- | | | | + 0.25% clear
- | | | | + 0.25% std::_Rb_tree<int, std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > >, std::_Select1st<std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > > >, std::less<int>, std::allocator<std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > > > >::_M_erase
- | | | | + 0.20% _M_destroy_node
- | | | | | + 0.15% destroy<std::_Rb_tree_node<std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*> > > > >
- | | | | | | + 0.15% ~_Rb_tree_node
- | | | | | | + 0.15% ~pair
- | | | | | | + 0.15% ~list
- | | | | | | + 0.15% ~_List_base
- | | | | | | + 0.15% std::_List_base<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > >::_M_clear
- | | | | | + 0.05% _M_put_node
- | | | | + 0.05% std::_Rb_tree<int, std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > >, std::_Select1st<std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > > >, std::less<int>, std::allocator<std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > > > > >::_M_erase
- | | | + 0.20% _M_erase
- | | | + 0.20% _M_put_node
- | | | + 0.20% deallocate
- | | | + 0.10% _int_free
- | | | + 0.10% __GI___libc_free
- | | + 0.05% operator->
- | | + 0.05% ceph::buffer::list::swap
- | + 0.15% lock
- | | + 0.10% __gthread_mutex_lock
- | | + 0.10% __GI___pthread_mutex_lock
- | | + 0.05% _L_lock_791
- | + 0.05% read
- | + 0.05% list
- + 2.10% C_handle_notify::do_request
- | + 2.10% read
- | + 2.10% read
- + 0.30% ~deque
- | + 0.20% std::_Deque_base<EventCallback*, std::allocator<EventCallback*> >::~_Deque_base
- | | + 0.15% _M_destroy_nodes
- | | + 0.15% _M_deallocate_node
- | | + 0.15% deallocate
- | | + 0.10% _int_free
- | | + 0.05% __GI___libc_free
- | + 0.05% _int_free
- + 0.20% now
- | + 0.20% clock_gettime
- + 0.20% deque
- | + 0.20% _Deque_base
- | + 0.20% _M_initialize_map
- | + 0.10% _M_create_nodes
- | | + 0.10% _M_allocate_node
- | | + 0.10% allocate
- | | + 0.10% operator new
- | | + 0.10% __GI___libc_malloc
- | | + 0.05% _int_malloc
- | + 0.05% _M_set_node
- | + 0.05% _M_allocate_map
- + 0.10% _ZN15AsyncConnection7processEv@plt
- + 0.05% ~vector
- + 0.05% C_handle_read::do_request
- Thread: 19 (admin_socket) - 2000 samples
- + 100.00% clone
- + 100.00% start_thread
- + 100.00% AdminSocket::entry
- + 100.00% poll
- + 100.00% poll
- Thread: 20 (service) - 2000 samples
- + 100.00% clone
- + 100.00% start_thread
- + 100.00% CephContextServiceThread::entry
- + 100.00% WaitInterval
- + 100.00% WaitUntil
- + 100.00% pthread_cond_timedwait@@GLIBC_2.3.2
- Thread: 21 (log) - 2000 samples
- + 100.00% clone
- + 100.00% start_thread
- + 100.00% ceph::logging::Log::entry
- + 100.00% pthread_cond_wait@@GLIBC_2.3.2
- Thread: 22 (fio) - 2000 samples
- + 100.00% clone
- + 100.00% start_thread
- + 100.00% helper_thread_main
- + 100.00% pthread_cond_timedwait@@GLIBC_2.3.2
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement