Advertisement
Guest User

Untitled

a guest
May 10th, 2017
413
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 232.76 KB | None | 0 0
  1. Thread: 1 (fio) - 2000 samples
  2.  
  3. + 100.00% main
  4. + 100.00% fio_backend
  5. + 100.00% run_threads
  6. + 100.00% do_usleep
  7. + 100.00% usleep
  8. + 100.00% nanosleep
  9.  
  10. Thread: 2 (fio) - 2000 samples
  11.  
  12. + 100.00% clone
  13. + 100.00% start_thread
  14. + 100.00% thread_main
  15. + 100.00% do_io
  16. + 99.80% wait_for_completions
  17. | + 99.80% io_u_queued_complete
  18. | + 99.80% td_io_getevents
  19. | + 99.80% fio_rbd_getevents
  20. | + 99.80% rbd_iter_events
  21. | + 97.75% poll
  22. | | + 97.75% poll
  23. | + 1.50% fri_check_complete
  24. | | + 1.50% rbd_aio_release
  25. | | + 1.50% librbd::RBD::AioCompletion::release
  26. | | + 1.50% release
  27. | | + 1.50% Mutex::Lock
  28. | | + 1.50% __GI___pthread_mutex_lock
  29. | | + 1.50% _L_lock_840
  30. | | + 1.50% __lll_lock_wait
  31. | + 0.50% rbd_poll_io_events
  32. | + 0.50% librbd::poll_io_events
  33. | + 0.50% Locker
  34. | + 0.50% Mutex::Lock
  35. | + 0.40% __GI___pthread_mutex_lock
  36. | + 0.30% _L_lock_791
  37. | + 0.30% __lll_lock_wait
  38. + 0.15% td_io_queue
  39. | + 0.15% fio_rbd_queue
  40. | + 0.10% rbd_aio_write
  41. | | + 0.10% create_write_raw
  42. | | + 0.10% ceph::buffer::copy
  43. | | + 0.05% memcpy
  44. | | + 0.05% ceph::buffer::create_aligned
  45. | + 0.05% rbd_aio_create_completion
  46. + 0.05% io_queue_event
  47.  
  48. Thread: 3 (taskfin_librbd) - 2000 samples
  49.  
  50. + 100.00% clone
  51. + 100.00% start_thread
  52. + 100.00% Finisher::finisher_thread_entry
  53. + 100.00% Wait
  54. + 100.00% pthread_cond_wait@@GLIBC_2.3.2
  55.  
  56. Thread: 4 (safe_timer) - 2000 samples
  57.  
  58. + 100.00% clone
  59. + 100.00% start_thread
  60. + 100.00% SafeTimerThread::entry
  61. + 100.00% SafeTimer::timer_thread
  62. + 100.00% Wait
  63. + 100.00% pthread_cond_wait@@GLIBC_2.3.2
  64.  
  65. Thread: 5 (flusher) - 2000 samples
  66.  
  67. + 100.00% clone
  68. + 100.00% start_thread
  69. + 100.00% ObjectCacher::FlusherThread::entry
  70. + 100.00% ObjectCacher::flusher_entry
  71. + 100.00% WaitInterval<std::chrono::duration<long> >
  72. + 100.00% pthread_cond_timedwait@@GLIBC_2.3.2
  73.  
  74. Thread: 6 (fn_anonymous) - 2000 samples
  75.  
  76. + 100.00% clone
  77. + 100.00% start_thread
  78. + 100.00% Finisher::finisher_thread_entry
  79. + 100.00% Wait
  80. + 100.00% pthread_cond_wait@@GLIBC_2.3.2
  81.  
  82. Thread: 7 (tp_librbd) - 2000 samples
  83.  
  84. + 100.00% clone
  85. + 100.00% start_thread
  86. + 100.00% ThreadPool::WorkThread::entry
  87. + 100.00% ThreadPool::worker
  88. + 95.45% librbd::io::ImageRequestWQ::process
  89. | + 93.55% librbd::io::ImageRequest<librbd::ImageCtx>::send
  90. | | + 92.65% librbd::io::AbstractImageWriteRequest<librbd::ImageCtx>::send_request
  91. | | | + 86.10% librbd::io::ImageWriteRequest<librbd::ImageCtx>::send_object_cache_requests
  92. | | | | + 84.75% librbd::ImageCtx::write_to_cache
  93. | | | | | + 70.20% ObjectCacher::writex
  94. | | | | | | + 56.80% ObjectCacher::_wait_for_write
  95. | | | | | | | + 56.05% ObjectCacher::flush_set
  96. | | | | | | | | + 53.35% ObjectCacher::flush
  97. | | | | | | | | | + 53.25% ObjectCacher::bh_write
  98. | | | | | | | | | | + 51.90% librbd::LibrbdWriteback::write
  99. | | | | | | | | | | | + 41.30% librbd::io::AbstractObjectWriteRequest::send
  100. | | | | | | | | | | | | + 39.00% librbd::io::ObjectWriteRequest::send_write
  101. | | | | | | | | | | | | | + 38.85% librbd::io::AbstractObjectWriteRequest::send_write
  102. | | | | | | | | | | | | | + 38.85% librbd::io::AbstractObjectWriteRequest::send_pre_object_map_update
  103. | | | | | | | | | | | | | + 37.80% librbd::io::AbstractObjectWriteRequest::send_write_op
  104. | | | | | | | | | | | | | | + 33.40% librados::IoCtx::aio_operate
  105. | | | | | | | | | | | | | | | + 33.25% librados::IoCtxImpl::aio_operate
  106. | | | | | | | | | | | | | | | | + 30.85% Objecter::op_submit
  107. | | | | | | | | | | | | | | | | | + 29.00% Objecter::_op_submit_with_budget
  108. | | | | | | | | | | | | | | | | | | + 25.85% Objecter::_op_submit
  109. | | | | | | | | | | | | | | | | | | | + 11.80% Objecter::_calc_target
  110. | | | | | | | | | | | | | | | | | | | | + 8.95% pg_to_up_acting_osds
  111. | | | | | | | | | | | | | | | | | | | | | + 8.95% OSDMap::_pg_to_up_acting_osds
  112. | | | | | | | | | | | | | | | | | | | | | + 6.95% OSDMap::_pg_to_raw_osds
  113. | | | | | | | | | | | | | | | | | | | | | | + 6.10% do_rule<std::vector<unsigned int, mempool::pool_allocator<(mempool::pool_index_t)9, unsigned int> > >
  114. | | | | | | | | | | | | | | | | | | | | | | | + 4.80% crush_do_rule
  115. | | | | | | | | | | | | | | | | | | | | | | | | + 4.55% crush_choose_firstn
  116. | | | | | | | | | | | | | | | | | | | | | | | | + 2.60% crush_bucket_choose
  117. | | | | | | | | | | | | | | | | | | | | | | | | | + 2.40% bucket_straw_choose
  118. | | | | | | | | | | | | | | | | | | | | | | | | | + 2.15% crush_hash32_3
  119. | | | | | | | | | | | | | | | | | | | | | | | | | + 2.05% crush_hash32_rjenkins1_3
  120. | | | | | | | | | | | | | | | | | | | | | | | | + 1.55% crush_choose_firstn
  121. | | | | | | | | | | | | | | | | | | | | | | | | + 1.35% crush_bucket_choose
  122. | | | | | | | | | | | | | | | | | | | | | | | | + 1.30% bucket_straw_choose
  123. | | | | | | | | | | | | | | | | | | | | | | | | + 1.05% crush_hash32_3
  124. | | | | | | | | | | | | | | | | | | | | | | | | + 1.05% crush_hash32_rjenkins1_3
  125. | | | | | | | | | | | | | | | | | | | | | | | + 1.10% resize
  126. | | | | | | | | | | | | | | | | | | | | | | | | + 1.10% _M_default_append
  127. | | | | | | | | | | | | | | | | | | | | | | | | + 0.75% _M_allocate
  128. | | | | | | | | | | | | | | | | | | | | | | | | | + 0.70% __gnu_cxx::new_allocator<int>::allocate
  129. | | | | | | | | | | | | | | | | | | | | | | | | | + 0.60% operator new
  130. | | | | | | | | | | | | | | | | | | | | | | | | | + 0.45% __GI___libc_malloc
  131. | | | | | | | | | | | | | | | | | | | | | | | | | + 0.25% _int_malloc
  132. | | | | | | | | | | | | | | | | | | | | | | | | | + 0.15% _L_lock_14932
  133. | | | | | | | | | | | | | | | | | | | | | | | | | + 0.15% __lll_lock_wait_private
  134. | | | | | | | | | | | | | | | | | | | | | | | | + 0.15% __uninitialized_move_if_noexcept_a<int*, int*, std::allocator<int> >
  135. | | | | | | | | | | | | | | | | | | | | | | | | | + 0.15% __uninitialized_copy_a<std::move_iterator<int*>, int*, int>
  136. | | | | | | | | | | | | | | | | | | | | | | | | | + 0.15% uninitialized_copy<std::move_iterator<int*>, int*>
  137. | | | | | | | | | | | | | | | | | | | | | | | | | + 0.15% __uninit_copy<std::move_iterator<int*>, int*>
  138. | | | | | | | | | | | | | | | | | | | | | | | | | + 0.15% copy<std::move_iterator<int*>, int*>
  139. | | | | | | | | | | | | | | | | | | | | | | | | | + 0.15% __copy_move_a2<true, int*, int*>
  140. | | | | | | | | | | | | | | | | | | | | | | | | | + 0.15% __copy_move_a<true, int*, int*>
  141. | | | | | | | | | | | | | | | | | | | | | | | | + 0.10% _M_check_len
  142. | | | | | | | | | | | | | | | | | | | | | | | | + 0.05% __uninitialized_default_n_a<int*, unsigned long, int>
  143. | | | | | | | | | | | | | | | | | | | | | | | + 0.20% crush_init_workspace
  144. | | | | | | | | | | | | | | | | | | | | | | + 0.40% find_rule
  145. | | | | | | | | | | | | | | | | | | | | | | | + 0.40% crush_find_rule
  146. | | | | | | | | | | | | | | | | | | | | | | + 0.10% pg_pool_t::raw_pg_to_pps
  147. | | | | | | | | | | | | | | | | | | | | | | + 0.10% crush_hash32_2
  148. | | | | | | | | | | | | | | | | | | | | | | + 0.10% OSDMap::_remove_nonexistent_osds
  149. | | | | | | | | | | | | | | | | | | | | | | | + 0.10% exists
  150. | | | | | | | | | | | | | | | | | | | | | | + 0.05% crush_hash32_2@plt
  151. | | | | | | | | | | | | | | | | | | | | | + 0.40% std::vector<int, std::allocator<int> >::operator=
  152. | | | | | | | | | | | | | | | | | | | | | | + 0.35% _M_allocate_and_copy<__gnu_cxx::__normal_iterator<int const*, std::vector<int> > >
  153. | | | | | | | | | | | | | | | | | | | | | | + 0.20% _M_allocate
  154. | | | | | | | | | | | | | | | | | | | | | | | + 0.20% allocate
  155. | | | | | | | | | | | | | | | | | | | | | | | + 0.20% operator new
  156. | | | | | | | | | | | | | | | | | | | | | | | + 0.20% __GI___libc_malloc
  157. | | | | | | | | | | | | | | | | | | | | | | | + 0.05% _int_malloc
  158. | | | | | | | | | | | | | | | | | | | | | | + 0.15% __uninitialized_copy_a<__gnu_cxx::__normal_iterator<int const*, std::vector<int> >, int*, int>
  159. | | | | | | | | | | | | | | | | | | | | | | + 0.15% uninitialized_copy<__gnu_cxx::__normal_iterator<int const*, std::vector<int> >, int*>
  160. | | | | | | | | | | | | | | | | | | | | | | + 0.15% __uninit_copy<__gnu_cxx::__normal_iterator<int const*, std::vector<int> >, int*>
  161. | | | | | | | | | | | | | | | | | | | | | | + 0.15% copy<__gnu_cxx::__normal_iterator<int const*, std::vector<int> >, int*>
  162. | | | | | | | | | | | | | | | | | | | | | | + 0.15% __copy_move_a2<false, __gnu_cxx::__normal_iterator<int const*, std::vector<int> >, int*>
  163. | | | | | | | | | | | | | | | | | | | | | | + 0.15% __copy_move_a<false, int const*, int*>
  164. | | | | | | | | | | | | | | | | | | | | | | + 0.15% __copy_m<int>
  165. | | | | | | | | | | | | | | | | | | | | | | + 0.15% __memmove_ssse3_back
  166. | | | | | | | | | | | | | | | | | | | | | + 0.40% OSDMap::_get_temp_osds
  167. | | | | | | | | | | | | | | | | | | | | | | + 0.20% find
  168. | | | | | | | | | | | | | | | | | | | | | | | + 0.20% find
  169. | | | | | | | | | | | | | | | | | | | | | | | + 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
  170. | | | | | | | | | | | | | | | | | | | | | | + 0.05% pg_pool_t::raw_pg_to_pg
  171. | | | | | | | | | | | | | | | | | | | | | + 0.35% OSDMap::_raw_to_up_osds
  172. | | | | | | | | | | | | | | | | | | | | | | + 0.25% std::vector<int, std::allocator<int> >::reserve
  173. | | | | | | | | | | | | | | | | | | | | | | + 0.15% _M_allocate_and_copy<std::move_iterator<int*> >
  174. | | | | | | | | | | | | | | | | | | | | | | + 0.15% _M_allocate
  175. | | | | | | | | | | | | | | | | | | | | | | + 0.15% allocate
  176. | | | | | | | | | | | | | | | | | | | | | | + 0.15% operator new
  177. | | | | | | | | | | | | | | | | | | | | | | + 0.15% __GI___libc_malloc
  178. | | | | | | | | | | | | | | | | | | | | | | + 0.15% _int_malloc
  179. | | | | | | | | | | | | | | | | | | | | | + 0.25% OSDMap::_apply_remap
  180. | | | | | | | | | | | | | | | | | | | | | | + 0.20% find
  181. | | | | | | | | | | | | | | | | | | | | | | + 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
  182. | | | | | | | | | | | | | | | | | | | | | | + 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
  183. | | | | | | | | | | | | | | | | | | | | | | + 0.05% _ZNKSt8_Rb_treeI4pg_tSt4pairIKS0_St6vectorIiN7mempool14pool_allocatorILNS4_12pool_index_tE9EiEEEESt10_Select1stIS9_ESt4lessIS0_ENS5_ILS6_9ES9_EEE4findERS2_@plt
  184. | | | | | | | | | | | | | | | | | | | | | | + 0.05% _ZNKSt8_Rb_treeI4pg_tSt4pairIKS0_St6vectorIS1_IiiEN7mempool14pool_allocatorILNS5_12pool_index_tE9ES4_EEEESt10_Select1stISA_ESt4lessIS0_ENS6_ILS7_9ESA_EEE4findERS2_@plt
  185. | | | | | | | | | | | | | | | | | | | | | + 0.15% ~vector
  186. | | | | | | | | | | | | | | | | | | | | | | + 0.15% ~_Vector_base
  187. | | | | | | | | | | | | | | | | | | | | | | + 0.15% _M_deallocate
  188. | | | | | | | | | | | | | | | | | | | | | | + 0.15% deallocate
  189. | | | | | | | | | | | | | | | | | | | | | | + 0.10% _int_free
  190. | | | | | | | | | | | | | | | | | | | | | | | + 0.05% free_perturb
  191. | | | | | | | | | | | | | | | | | | | | | | + 0.05% _ZdlPv@plt
  192. | | | | | | | | | | | | | | | | | | | | | + 0.10% OSDMap::_pick_primary
  193. | | | | | | | | | | | | | | | | | | | | | + 0.05% vector
  194. | | | | | | | | | | | | | | | | | | | | | + 0.05% get_pg_pool
  195. | | | | | | | | | | | | | | | | | | | | | + 0.05% _ZNK6OSDMap23_apply_primary_affinityEjRK9pg_pool_tPSt6vectorIiSaIiEEPi@plt
  196. | | | | | | | | | | | | | | | | | | | | | + 0.05% _ZNK6OSDMap14_get_temp_osdsERK9pg_pool_t4pg_tPSt6vectorIiSaIiEEPi@plt
  197. | | | | | | | | | | | | | | | | | | | | | + 0.05% OSDMap::_apply_primary_affinity
  198. | | | | | | | | | | | | | | | | | | | | + 0.85% OSDMap::object_locator_to_pg
  199. | | | | | | | | | | | | | | | | | | | | | + 0.60% OSDMap::map_to_pg
  200. | | | | | | | | | | | | | | | | | | | | | | + 0.35% pg_pool_t::hash_key
  201. | | | | | | | | | | | | | | | | | | | | | | | + 0.20% ceph_str_hash
  202. | | | | | | | | | | | | | | | | | | | | | | | + 0.20% ceph_str_hash_rjenkins
  203. | | | | | | | | | | | | | | | | | | | | | | + 0.10% _ZNK9pg_pool_t8hash_keyERKSsS1_@plt
  204. | | | | | | | | | | | | | | | | | | | | | | + 0.05% get_pg_pool
  205. | | | | | | | | | | | | | | | | | | | | | + 0.05% _ZNK6OSDMap9map_to_pgElRKSsS1_S1_P4pg_t@plt
  206. | | | | | | | | | | | | | | | | | | | | + 0.75% std::vector<int, std::allocator<int> >::operator=
  207. | | | | | | | | | | | | | | | | | | | | | + 0.60% _M_allocate_and_copy<__gnu_cxx::__normal_iterator<int const*, std::vector<int> > >
  208. | | | | | | | | | | | | | | | | | | | | | + 0.50% _M_allocate
  209. | | | | | | | | | | | | | | | | | | | | | | + 0.50% allocate
  210. | | | | | | | | | | | | | | | | | | | | | | + 0.50% operator new
  211. | | | | | | | | | | | | | | | | | | | | | | + 0.40% __GI___libc_malloc
  212. | | | | | | | | | | | | | | | | | | | | | | + 0.25% _int_malloc
  213. | | | | | | | | | | | | | | | | | | | | | + 0.10% __uninitialized_copy_a<__gnu_cxx::__normal_iterator<int const*, std::vector<int> >, int*, int>
  214. | | | | | | | | | | | | | | | | | | | | | + 0.10% uninitialized_copy<__gnu_cxx::__normal_iterator<int const*, std::vector<int> >, int*>
  215. | | | | | | | | | | | | | | | | | | | | | + 0.10% __uninit_copy<__gnu_cxx::__normal_iterator<int const*, std::vector<int> >, int*>
  216. | | | | | | | | | | | | | | | | | | | | | + 0.10% copy<__gnu_cxx::__normal_iterator<int const*, std::vector<int> >, int*>
  217. | | | | | | | | | | | | | | | | | | | | | + 0.10% __copy_move_a2<false, __gnu_cxx::__normal_iterator<int const*, std::vector<int> >, int*>
  218. | | | | | | | | | | | | | | | | | | | | | + 0.10% __copy_move_a<false, int const*, int*>
  219. | | | | | | | | | | | | | | | | | | | | | + 0.10% __copy_m<int>
  220. | | | | | | | | | | | | | | | | | | | | | + 0.05% memmove@plt
  221. | | | | | | | | | | | | | | | | | | | | | + 0.05% __memmove_ssse3_back
  222. | | | | | | | | | | | | | | | | | | | | + 0.35% get_pg_pool
  223. | | | | | | | | | | | | | | | | | | | | | + 0.35% find
  224. | | | | | | | | | | | | | | | | | | | | | + 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
  225. | | | | | | | | | | | | | | | | | | | | | | + 0.05% _M_lower_bound
  226. | | | | | | | | | | | | | | | | | | | | | + 0.05% _ZNKSt8_Rb_treeIlSt4pairIKl9pg_pool_tESt10_Select1stIS3_ESt4lessIlEN7mempool14pool_allocatorILNS8_12pool_index_tE9ES3_EEE4findERS1_@plt
  227. | | | | | | | | | | | | | | | | | | | | + 0.15% ~vector
  228. | | | | | | | | | | | | | | | | | | | | | + 0.15% ~_Vector_base
  229. | | | | | | | | | | | | | | | | | | | | | + 0.15% _M_deallocate
  230. | | | | | | | | | | | | | | | | | | | | | + 0.15% deallocate
  231. | | | | | | | | | | | | | | | | | | | | | + 0.05% operator delete
  232. | | | | | | | | | | | | | | | | | | | | | + 0.05% _int_free
  233. | | | | | | | | | | | | | | | | | | | | + 0.10% operator=
  234. | | | | | | | | | | | | | | | | | | | | | + 0.10% operator=
  235. | | | | | | | | | | | | | | | | | | | | | + 0.10% std::string::assign
  236. | | | | | | | | | | | | | | | | | | | | | + 0.05% _M_grab
  237. | | | | | | | | | | | | | | | | | | | | + 0.05% ceph::logging::SubsystemMap::should_gather
  238. | | | | | | | | | | | | | | | | | | | | + 0.05% _ZNK6OSDMap20object_locator_to_pgERK8object_tRK16object_locator_tR4pg_t@plt
  239. | | | | | | | | | | | | | | | | | | | + 8.05% Objecter::_send_op
  240. | | | | | | | | | | | | | | | | | | | | + 6.80% AsyncConnection::send_message
  241. | | | | | | | | | | | | | | | | | | | | | + 3.35% EventCenter::dispatch_event_external
  242. | | | | | | | | | | | | | | | | | | | | | | + 3.05% EventCenter::wakeup
  243. | | | | | | | | | | | | | | | | | | | | | | | + 2.95% write
  244. | | | | | | | | | | | | | | | | | | | | | | + 0.10% unlock
  245. | | | | | | | | | | | | | | | | | | | | | | | + 0.10% __gthread_mutex_unlock
  246. | | | | | | | | | | | | | | | | | | | | | | | + 0.10% __GI___pthread_mutex_unlock
  247. | | | | | | | | | | | | | | | | | | | | | | | + 0.10% __pthread_mutex_unlock_usercnt
  248. | | | | | | | | | | | | | | | | | | | | | | + 0.05% operator++
  249. | | | | | | | | | | | | | | | | | | | | | | + 0.05% lock
  250. | | | | | | | | | | | | | | | | | | | | | + 1.25% lock_guard
  251. | | | | | | | | | | | | | | | | | | | | | | + 1.25% lock
  252. | | | | | | | | | | | | | | | | | | | | | | + 1.20% __gthread_mutex_lock
  253. | | | | | | | | | | | | | | | | | | | | | | + 1.20% __GI___pthread_mutex_lock
  254. | | | | | | | | | | | | | | | | | | | | | | + 1.10% _L_lock_791
  255. | | | | | | | | | | | | | | | | | | | | | | + 1.10% __lll_lock_wait
  256. | | | | | | | | | | | | | | | | | | | | | + 0.45% emplace_back<ceph::buffer::list, Message*&>
  257. | | | | | | | | | | | | | | | | | | | | | | + 0.45% _M_insert<ceph::buffer::list, Message*&>
  258. | | | | | | | | | | | | | | | | | | | | | | + 0.35% _M_create_node<ceph::buffer::list, Message*&>
  259. | | | | | | | | | | | | | | | | | | | | | | | + 0.20% _M_get_node
  260. | | | | | | | | | | | | | | | | | | | | | | | | + 0.20% allocate
  261. | | | | | | | | | | | | | | | | | | | | | | | | + 0.20% operator new
  262. | | | | | | | | | | | | | | | | | | | | | | | | + 0.20% __GI___libc_malloc
  263. | | | | | | | | | | | | | | | | | | | | | | | | + 0.15% _int_malloc
  264. | | | | | | | | | | | | | | | | | | | | | | | + 0.15% construct<std::_List_node<std::pair<ceph::buffer::list, Message*> >, ceph::buffer::list, Message*&>
  265. | | | | | | | | | | | | | | | | | | | | | | | + 0.15% _List_node<ceph::buffer::list, Message*&>
  266. | | | | | | | | | | | | | | | | | | | | | | | + 0.15% pair<ceph::buffer::list, Message*&, void>
  267. | | | | | | | | | | | | | | | | | | | | | | | + 0.15% ceph::buffer::list::list(ceph::buffer::list&&)
  268. | | | | | | | | | | | | | | | | | | | | | | | + 0.10% clear
  269. | | | | | | | | | | | | | | | | | | | | | | | | + 0.05% ~ptr
  270. | | | | | | | | | | | | | | | | | | | | | | | | + 0.05% clear
  271. | | | | | | | | | | | | | | | | | | | | | | | + 0.05% _ZN4ceph6buffer3ptr4swapERS1_@plt
  272. | | | | | | | | | | | | | | | | | | | | | | + 0.10% std::__detail::_List_node_base::_M_hook
  273. | | | | | | | | | | | | | | | | | | | | | + 0.35% operator[]
  274. | | | | | | | | | | | | | | | | | | | | | | + 0.35% _M_emplace_hint_unique<const std::piecewise_construct_t&, std::tuple<int&&>, std::tuple<> >
  275. | | | | | | | | | | | | | | | | | | | | | | + 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
  276. | | | | | | | | | | | | | | | | | | | | | | | + 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
  277. | | | | | | | | | | | | | | | | | | | | | | | + 0.05% _ZNSt8_Rb_treeIiSt4pairIKiSt4listIS0_IN4ceph6buffer4listEP7MessageESaIS8_EEESt10_Select1stISB_ESt4lessIiESaISB_EE24_M_get_insert_unique_posERS1_@plt
  278. | | | | | | | | | | | | | | | | | | | | | | + 0.15% _M_create_node<const std::piecewise_construct_t&, std::tuple<int&&>, std::tuple<> >
  279. | | | | | | | | | | | | | | | | | | | | | | | + 0.15% _M_get_node
  280. | | | | | | | | | | | | | | | | | | | | | | | + 0.15% allocate
  281. | | | | | | | | | | | | | | | | | | | | | | | + 0.15% operator new
  282. | | | | | | | | | | | | | | | | | | | | | | | + 0.15% __GI___libc_malloc
  283. | | | | | | | | | | | | | | | | | | | | | | | + 0.15% _int_malloc
  284. | | | | | | | | | | | | | | | | | | | | | | + 0.05% _M_insert_node
  285. | | | | | | | | | | | | | | | | | | | | | + 0.25% ~intrusive_ptr
  286. | | | | | | | | | | | | | | | | | | | | | | + 0.20% RefCountedObject::put
  287. | | | | | | | | | | | | | | | | | | | | | | | + 0.05% dec
  288. | | | | | | | | | | | | | | | | | | | | | | + 0.05% _ZNK16RefCountedObject3putEv@plt
  289. | | | | | | | | | | | | | | | | | | | | | + 0.25% now
  290. | | | | | | | | | | | | | | | | | | | | | | + 0.15% clock_gettime
  291. | | | | | | | | | | | | | | | | | | | | | | + 0.10% clock_gettime@plt
  292. | | | | | | | | | | | | | | | | | | | | | + 0.15% operator==
  293. | | | | | | | | | | | | | | | | | | | | | | + 0.15% __memcmp_sse4_1
  294. | | | | | | | | | | | | | | | | | | | | | + 0.15% PerfCounters::inc
  295. | | | | | | | | | | | | | | | | | | | | | + 0.10% should_gather
  296. | | | | | | | | | | | | | | | | | | | | | + 0.10% set_connection
  297. | | | | | | | | | | | | | | | | | | | | | | + 0.10% operator=
  298. | | | | | | | | | | | | | | | | | | | | | | + 0.10% intrusive_ptr
  299. | | | | | | | | | | | | | | | | | | | | | | + 0.10% intrusive_ptr_add_ref
  300. | | | | | | | | | | | | | | | | | | | | | | + 0.10% RefCountedObject::get
  301. | | | | | | | | | | | | | | | | | | | | | + 0.10% list
  302. | | | | | | | | | | | | | | | | | | | | | | + 0.10% ceph::buffer::list::iterator::iterator
  303. | | | | | | | | | | | | | | | | | | | | | + 0.05% ms_can_fast_dispatch
  304. | | | | | | | | | | | | | | | | | | | | | + 0.05% intrusive_ptr
  305. | | | | | | | | | | | | | | | | | | | | + 0.35% intrusive_ptr
  306. | | | | | | | | | | | | | | | | | | | | | + 0.30% intrusive_ptr_add_ref
  307. | | | | | | | | | | | | | | | | | | | | | | + 0.30% RefCountedObject::get
  308. | | | | | | | | | | | | | | | | | | | | | + 0.05% _ZNK16RefCountedObject3getEv@plt
  309. | | | | | | | | | | | | | | | | | | | | + 0.30% Objecter::op_target_t::get_hobj
  310. | | | | | | | | | | | | | | | | | | | | | + 0.10% object_t
  311. | | | | | | | | | | | | | | | | | | | | | | + 0.05% std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string
  312. | | | | | | | | | | | | | | | | | | | | | + 0.10% hobject_t
  313. | | | | | | | | | | | | | | | | | | | | | | + 0.05% std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string
  314. | | | | | | | | | | | | | | | | | | | | | | + 0.05% build_hash_cache
  315. | | | | | | | | | | | | | | | | | | | | | + 0.05% std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string
  316. | | | | | | | | | | | | | | | | | | | | + 0.15% MOSDOp::get_spg
  317. | | | | | | | | | | | | | | | | | | | | | + 0.10% operator bool
  318. | | | | | | | | | | | | | | | | | | | | | + 0.10% load
  319. | | | | | | | | | | | | | | | | | | | | + 0.10% ~intrusive_ptr
  320. | | | | | | | | | | | | | | | | | | | | | + 0.10% RefCountedObject::put
  321. | | | | | | | | | | | | | | | | | | | | | + 0.10% dec
  322. | | | | | | | | | | | | | | | | | | | | + 0.05% set_tid
  323. | | | | | | | | | | | | | | | | | | | | + 0.05% find
  324. | | | | | | | | | | | | | | | | | | | + 2.90% Objecter::_prepare_osd_op
  325. | | | | | | | | | | | | | | | | | | | | + 0.75% MOSDOp
  326. | | | | | | | | | | | | | | | | | | | | | + 0.40% MOSDFastDispatchOp
  327. | | | | | | | | | | | | | | | | | | | | | | + 0.40% Message::Message
  328. | | | | | | | | | | | | | | | | | | | | | | + 0.20% list
  329. | | | | | | | | | | | | | | | | | | | | | | | + 0.15% ceph::buffer::list::iterator_impl<false>::iterator_impl
  330. | | | | | | | | | | | | | | | | | | | | | | | + 0.05% ceph::buffer::list::iterator_impl<false>::advance
  331. | | | | | | | | | | | | | | | | | | | | | | + 0.05% operator=
  332. | | | | | | | | | | | | | | | | | | | | | | + 0.05% memset
  333. | | | | | | | | | | | | | | | | | | | | | | + 0.05% list_member_hook
  334. | | | | | | | | | | | | | | | | | | | | | | + 0.05% RefCountedObject
  335. | | | | | | | | | | | | | | | | | | | | | + 0.30% hobject_t
  336. | | | | | | | | | | | | | | | | | | | | | | + 0.30% object_t
  337. | | | | | | | | | | | | | | | | | | | | | | + 0.30% std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string
  338. | | | | | | | | | | | | | | | | | | | | | | + 0.25% _M_grab
  339. | | | | | | | | | | | | | | | | | | | | | | + 0.25% _M_refcopy
  340. | | | | | | | | | | | | | | | | | | | | | | + 0.25% __atomic_add_dispatch
  341. | | | | | | | | | | | | | | | | | | | | | | + 0.25% __atomic_add
  342. | | | | | | | | | | | | | | | | | | | | | + 0.05% vector
  343. | | | | | | | | | | | | | | | | | | | | + 0.55% std::vector<OSDOp, std::allocator<OSDOp> >::operator=
  344. | | | | | | | | | | | | | | | | | | | | | + 0.50% _M_allocate_and_copy<__gnu_cxx::__normal_iterator<OSDOp const*, std::vector<OSDOp> > >
  345. | | | | | | | | | | | | | | | | | | | | | + 0.30% __uninitialized_copy_a<__gnu_cxx::__normal_iterator<OSDOp const*, std::vector<OSDOp> >, OSDOp*, OSDOp>
  346. | | | | | | | | | | | | | | | | | | | | | | + 0.30% uninitialized_copy<__gnu_cxx::__normal_iterator<OSDOp const*, std::vector<OSDOp> >, OSDOp*>
  347. | | | | | | | | | | | | | | | | | | | | | | + 0.30% __uninit_copy<__gnu_cxx::__normal_iterator<OSDOp const*, std::vector<OSDOp> >, OSDOp*>
  348. | | | | | | | | | | | | | | | | | | | | | | + 0.30% _Construct<OSDOp, OSDOp const&>
  349. | | | | | | | | | | | | | | | | | | | | | | + 0.30% OSDOp
  350. | | | | | | | | | | | | | | | | | | | | | | + 0.30% ceph::buffer::list::list
  351. | | | | | | | | | | | | | | | | | | | | | | + 0.30% list
  352. | | | | | | | | | | | | | | | | | | | | | | + 0.30% _M_initialize_dispatch<std::_List_const_iterator<ceph::buffer::ptr> >
  353. | | | | | | | | | | | | | | | | | | | | | | + 0.30% emplace_back<ceph::buffer::ptr const&>
  354. | | | | | | | | | | | | | | | | | | | | | | + 0.30% _M_insert<ceph::buffer::ptr const&>
  355. | | | | | | | | | | | | | | | | | | | | | | + 0.30% _M_create_node<ceph::buffer::ptr const&>
  356. | | | | | | | | | | | | | | | | | | | | | | + 0.25% _M_get_node
  357. | | | | | | | | | | | | | | | | | | | | | | | + 0.25% allocate
  358. | | | | | | | | | | | | | | | | | | | | | | | + 0.25% operator new
  359. | | | | | | | | | | | | | | | | | | | | | | | + 0.25% __GI___libc_malloc
  360. | | | | | | | | | | | | | | | | | | | | | | | + 0.10% _int_malloc
  361. | | | | | | | | | | | | | | | | | | | | | | + 0.05% construct<std::_List_node<ceph::buffer::ptr>, ceph::buffer::ptr const&>
  362. | | | | | | | | | | | | | | | | | | | | | + 0.20% _M_allocate
  363. | | | | | | | | | | | | | | | | | | | | | + 0.20% allocate
  364. | | | | | | | | | | | | | | | | | | | | | + 0.20% operator new
  365. | | | | | | | | | | | | | | | | | | | | | + 0.15% __GI___libc_malloc
  366. | | | | | | | | | | | | | | | | | | | | | | + 0.10% _int_malloc
  367. | | | | | | | | | | | | | | | | | | | | | + 0.05% malloc@plt
  368. | | | | | | | | | | | | | | | | | | | | + 0.55% operator new
  369. | | | | | | | | | | | | | | | | | | | | | + 0.55% __GI___libc_malloc
  370. | | | | | | | | | | | | | | | | | | | | | + 0.30% _int_malloc
  371. | | | | | | | | | | | | | | | | | | | | + 0.45% PerfCounters::inc
  372. | | | | | | | | | | | | | | | | | | | | | + 0.30% add
  373. | | | | | | | | | | | | | | | | | | | | | + 0.30% ceph_spin_lock
  374. | | | | | | | | | | | | | | | | | | | | | + 0.30% pthread_spin_lock
  375. | | | | | | | | | | | | | | | | | | | | + 0.15% get_hobj
  376. | | | | | | | | | | | | | | | | | | | | | + 0.15% hobject_t
  377. | | | | | | | | | | | | | | | | | | | | | + 0.05% object_t
  378. | | | | | | | | | | | | | | | | | | | | | + 0.05% build_hash_cache
  379. | | | | | | | | | | | | | | | | | | | | | + 0.05% _ZNSsC1ERKSs@plt
  380. | | | | | | | | | | | | | | | | | | | | + 0.10% now
  381. | | | | | | | | | | | | | | | | | | | | | + 0.10% clock_gettime
  382. | | | | | | | | | | | | | | | | | | | | | + 0.05% clock_gettime
  383. | | | | | | | | | | | | | | | | | | | | + 0.05% ~hobject_t
  384. | | | | | | | | | | | | | | | | | | | | + 0.05% set_snaps
  385. | | | | | | | | | | | | | | | | | | | | + 0.05% set_snap_seq
  386. | | | | | | | | | | | | | | | | | | | | + 0.05% set_mtime
  387. | | | | | | | | | | | | | | | | | | | + 0.65% Objecter::_get_session
  388. | | | | | | | | | | | | | | | | | | | | + 0.10% RefCountedObject::get
  389. | | | | | | | | | | | | | | | | | | | | + 0.05% find
  390. | | | | | | | | | | | | | | | | | | | + 0.55% unique_lock
  391. | | | | | | | | | | | | | | | | | | | | + 0.55% lock
  392. | | | | | | | | | | | | | | | | | | | | + 0.55% boost::shared_mutex::lock
  393. | | | | | | | | | | | | | | | | | | | | + 0.25% boost::condition_variable::wait
  394. | | | | | | | | | | | | | | | | | | | | | + 0.25% pthread_cond_wait@@GLIBC_2.3.2
  395. | | | | | | | | | | | | | | | | | | | | + 0.20% unique_lock
  396. | | | | | | | | | | | | | | | | | | | | | + 0.20% boost::unique_lock<boost::mutex>::lock
  397. | | | | | | | | | | | | | | | | | | | | | + 0.10% lock
  398. | | | | | | | | | | | | | | | | | | | | | + 0.10% pthread_mutex_lock
  399. | | | | | | | | | | | | | | | | | | | | | + 0.10% __GI___pthread_mutex_lock
  400. | | | | | | | | | | | | | | | | | | | | + 0.10% ~unique_lock
  401. | | | | | | | | | | | | | | | | | | | | + 0.10% unlock
  402. | | | | | | | | | | | | | | | | | | | | + 0.05% pthread_mutex_unlock
  403. | | | | | | | | | | | | | | | | | | | + 0.45% Objecter::_session_op_assign
  404. | | | | | | | | | | | | | | | | | | | | + 0.30% operator[]
  405. | | | | | | | | | | | | | | | | | | | | | + 0.30% _M_emplace_hint_unique<const std::piecewise_construct_t&, std::tuple<long unsigned int const&>, std::tuple<> >
  406. | | | | | | | | | | | | | | | | | | | | | + 0.15% _M_insert_node
  407. | | | | | | | | | | | | | | | | | | | | | | + 0.10% std::_Rb_tree_insert_and_rebalance
  408. | | | | | | | | | | | | | | | | | | | | | | + 0.05% _ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_@plt
  409. | | | | | | | | | | | | | | | | | | | | | + 0.15% _M_create_node<const std::piecewise_construct_t&, std::tuple<long unsigned int const&>, std::tuple<> >
  410. | | | | | | | | | | | | | | | | | | | | | + 0.15% _M_get_node
  411. | | | | | | | | | | | | | | | | | | | | | + 0.15% allocate
  412. | | | | | | | | | | | | | | | | | | | | | + 0.15% operator new
  413. | | | | | | | | | | | | | | | | | | | | | + 0.10% __GI___libc_malloc
  414. | | | | | | | | | | | | | | | | | | | | | | + 0.10% _int_malloc
  415. | | | | | | | | | | | | | | | | | | | | | + 0.05% malloc@plt
  416. | | | | | | | | | | | | | | | | | | | | + 0.15% Objecter::get_session
  417. | | | | | | | | | | | | | | | | | | | | + 0.15% RefCountedObject::get
  418. | | | | | | | | | | | | | | | | | | | | + 0.05% inc
  419. | | | | | | | | | | | | | | | | | | | + 0.40% Objecter::_send_op_account
  420. | | | | | | | | | | | | | | | | | | | | + 0.35% PerfCounters::inc
  421. | | | | | | | | | | | | | | | | | | | | + 0.30% add
  422. | | | | | | | | | | | | | | | | | | | | + 0.30% ceph_spin_lock
  423. | | | | | | | | | | | | | | | | | | | | + 0.30% pthread_spin_lock
  424. | | | | | | | | | | | | | | | | | | | + 0.30% std::unique_lock<boost::shared_mutex>::unlock
  425. | | | | | | | | | | | | | | | | | | | | + 0.30% unlock
  426. | | | | | | | | | | | | | | | | | | | | + 0.25% release_waiters
  427. | | | | | | | | | | | | | | | | | | | | | + 0.15% notify_one
  428. | | | | | | | | | | | | | | | | | | | | | | + 0.10% ~pthread_mutex_scoped_lock
  429. | | | | | | | | | | | | | | | | | | | | | | | + 0.10% unlock
  430. | | | | | | | | | | | | | | | | | | | | | | | + 0.10% __GI___pthread_mutex_unlock
  431. | | | | | | | | | | | | | | | | | | | | | | | + 0.10% __pthread_mutex_unlock_usercnt
  432. | | | | | | | | | | | | | | | | | | | | | | + 0.05% pthread_mutex_scoped_lock
  433. | | | | | | | | | | | | | | | | | | | | | + 0.10% notify_all
  434. | | | | | | | | | | | | | | | | | | | | | + 0.05% pthread_mutex_scoped_lock
  435. | | | | | | | | | | | | | | | | | | | | | + 0.05% pthread_cond_broadcast@@GLIBC_2.3.2
  436. | | | | | | | | | | | | | | | | | | | | + 0.05% unique_lock
  437. | | | | | | | | | | | | | | | | | | | + 0.20% inc
  438. | | | | | | | | | | | | | | | | | | | | + 0.20% ceph_spin_lock
  439. | | | | | | | | | | | | | | | | | | | | + 0.15% pthread_spin_lock
  440. | | | | | | | | | | | | | | | | | | | | + 0.05% pthread_spin_lock@plt
  441. | | | | | | | | | | | | | | | | | | | + 0.15% ceph::logging::SubsystemMap::should_gather
  442. | | | | | | | | | | | | | | | | | | | | + 0.05% size
  443. | | | | | | | | | | | | | | | | | | | + 0.10% Objecter::put_session
  444. | | | | | | | | | | | | | | | | | | | + 0.05% Objecter::_osdmap_pool_full
  445. | | | | | | | | | | | | | | | | | | + 2.90% _take_op_budget
  446. | | | | | | | | | | | | | | | | | | + 2.80% Objecter::_throttle_op
  447. | | | | | | | | | | | | | | | | | | | + 2.70% Throttle::get_or_fail
  448. | | | | | | | | | | | | | | | | | | | + 0.90% Locker
  449. | | | | | | | | | | | | | | | | | | | | + 0.90% Mutex::Lock
  450. | | | | | | | | | | | | | | | | | | | | + 0.85% __GI___pthread_mutex_lock
  451. | | | | | | | | | | | | | | | | | | | | + 0.80% _L_lock_791
  452. | | | | | | | | | | | | | | | | | | | | + 0.80% __lll_lock_wait
  453. | | | | | | | | | | | | | | | | | | | + 0.55% PerfCounters::inc
  454. | | | | | | | | | | | | | | | | | | | | + 0.25% add
  455. | | | | | | | | | | | | | | | | | | | | + 0.25% ceph_spin_lock
  456. | | | | | | | | | | | | | | | | | | | | + 0.25% pthread_spin_lock
  457. | | | | | | | | | | | | | | | | | | | + 0.25% _should_wait
  458. | | | | | | | | | | | | | | | | | | | | + 0.25% read
  459. | | | | | | | | | | | | | | | | | | | | + 0.20% AO_load_read
  460. | | | | | | | | | | | | | | | | | | | | | + 0.20% AO_load
  461. | | | | | | | | | | | | | | | | | | | | + 0.05% AO_nop_full
  462. | | | | | | | | | | | | | | | | | | | + 0.25% PerfCounters::set
  463. | | | | | | | | | | | | | | | | | | | | + 0.15% set
  464. | | | | | | | | | | | | | | | | | | | | + 0.15% ceph_spin_lock
  465. | | | | | | | | | | | | | | | | | | | | + 0.15% pthread_spin_lock
  466. | | | | | | | | | | | | | | | | | | | + 0.15% ~Locker
  467. | | | | | | | | | | | | | | | | | | | | + 0.15% Mutex::Unlock
  468. | | | | | | | | | | | | | | | | | | | | + 0.05% _pre_unlock
  469. | | | | | | | | | | | | | | | | | | | | + 0.05% __GI___pthread_mutex_unlock
  470. | | | | | | | | | | | | | | | | | | | + 0.10% should_gather
  471. | | | | | | | | | | | | | | | | | | | | + 0.05% size
  472. | | | | | | | | | | | | | | | | | | | + 0.10% read
  473. | | | | | | | | | | | | | | | | | | | | + 0.10% AO_load_read
  474. | | | | | | | | | | | | | | | | | | | | + 0.10% AO_load
  475. | | | | | | | | | | | | | | | | | | | + 0.05% _ZN12PerfCounters3incEim@plt
  476. | | | | | | | | | | | | | | | | | | + 0.10% Objecter::calc_op_budget
  477. | | | | | | | | | | | | | | | | | | + 0.05% operator __u16
  478. | | | | | | | | | | | | | | | | | | + 0.05% begin
  479. | | | | | | | | | | | | | | | | | + 1.35% shunique_lock
  480. | | | | | | | | | | | | | | | | | | + 1.30% lock_shared
  481. | | | | | | | | | | | | | | | | | | + 1.30% boost::shared_mutex::lock_shared
  482. | | | | | | | | | | | | | | | | | | + 0.50% unique_lock
  483. | | | | | | | | | | | | | | | | | | | + 0.45% boost::unique_lock<boost::mutex>::lock
  484. | | | | | | | | | | | | | | | | | | | | + 0.45% lock
  485. | | | | | | | | | | | | | | | | | | | | + 0.45% pthread_mutex_lock
  486. | | | | | | | | | | | | | | | | | | | | + 0.45% __GI___pthread_mutex_lock
  487. | | | | | | | | | | | | | | | | | | | | + 0.35% _L_lock_791
  488. | | | | | | | | | | | | | | | | | | | | + 0.35% __lll_lock_wait
  489. | | | | | | | | | | | | | | | | | | | + 0.05% _ZN5boost11unique_lockINS_5mutexEE4lockEv@plt
  490. | | | | | | | | | | | | | | | | | | + 0.40% boost::this_thread::disable_interruption::disable_interruption()
  491. | | | | | | | | | | | | | | | | | | | + 0.35% boost::this_thread::interruption_enabled()
  492. | | | | | | | | | | | | | | | | | | | + 0.10% boost::detail::get_current_thread_data()
  493. | | | | | | | | | | | | | | | | | | | | + 0.10% boost::thread_detail::enter_once_region(boost::once_flag&)
  494. | | | | | | | | | | | | | | | | | | | + 0.05% pthread_getspecific@plt
  495. | | | | | | | | | | | | | | | | | | | + 0.05% __GI___pthread_getspecific
  496. | | | | | | | | | | | | | | | | | | + 0.20% ~unique_lock
  497. | | | | | | | | | | | | | | | | | | | + 0.15% unlock
  498. | | | | | | | | | | | | | | | | | | | + 0.15% pthread_mutex_unlock
  499. | | | | | | | | | | | | | | | | | | | + 0.10% __GI___pthread_mutex_unlock
  500. | | | | | | | | | | | | | | | | | | | | + 0.10% __pthread_mutex_unlock_usercnt
  501. | | | | | | | | | | | | | | | | | | | + 0.05% pthread_mutex_unlock@plt
  502. | | | | | | | | | | | | | | | | | | + 0.05% _ZN5boost11this_thread20disable_interruptionC1Ev@plt
  503. | | | | | | | | | | | | | | | | | + 0.45% ~shunique_lock
  504. | | | | | | | | | | | | | | | | | + 0.45% boost::shared_mutex::unlock_shared
  505. | | | | | | | | | | | | | | | | | + 0.20% release_waiters
  506. | | | | | | | | | | | | | | | | | | + 0.15% notify_one
  507. | | | | | | | | | | | | | | | | | | | + 0.10% pthread_mutex_scoped_lock
  508. | | | | | | | | | | | | | | | | | | | | + 0.10% __GI___pthread_mutex_lock
  509. | | | | | | | | | | | | | | | | | | | + 0.05% pthread_cond_signal@@GLIBC_2.3.2
  510. | | | | | | | | | | | | | | | | | | + 0.05% notify_all
  511. | | | | | | | | | | | | | | | | | + 0.05% unique_lock
  512. | | | | | | | | | | | | | | | | + 1.65% prepare_mutate_op
  513. | | | | | | | | | | | | | | | | | + 1.25% Objecter::Op::Op
  514. | | | | | | | | | | | | | | | | | | + 0.65% resize
  515. | | | | | | | | | | | | | | | | | | | + 0.30% std::vector<int*, std::allocator<int*> >::_M_default_append
  516. | | | | | | | | | | | | | | | | | | | | + 0.30% _M_allocate
  517. | | | | | | | | | | | | | | | | | | | | + 0.30% allocate
  518. | | | | | | | | | | | | | | | | | | | | + 0.30% operator new
  519. | | | | | | | | | | | | | | | | | | | | + 0.25% __GI___libc_malloc
  520. | | | | | | | | | | | | | | | | | | | | | + 0.20% _int_malloc
  521. | | | | | | | | | | | | | | | | | | | | + 0.05% malloc@plt
  522. | | | | | | | | | | | | | | | | | | | + 0.15% std::vector<ceph::buffer::list*, std::allocator<ceph::buffer::list*> >::_M_default_append
  523. | | | | | | | | | | | | | | | | | | | | + 0.15% _M_allocate
  524. | | | | | | | | | | | | | | | | | | | | + 0.15% allocate
  525. | | | | | | | | | | | | | | | | | | | | + 0.15% operator new
  526. | | | | | | | | | | | | | | | | | | | | + 0.15% __GI___libc_malloc
  527. | | | | | | | | | | | | | | | | | | | | + 0.05% _int_malloc
  528. | | | | | | | | | | | | | | | | | | | + 0.10% std::vector<Context*, std::allocator<Context*> >::_M_default_append
  529. | | | | | | | | | | | | | | | | | | | + 0.10% _M_allocate
  530. | | | | | | | | | | | | | | | | | | | + 0.10% allocate
  531. | | | | | | | | | | | | | | | | | | | + 0.10% operator new
  532. | | | | | | | | | | | | | | | | | | | + 0.10% __GI___libc_malloc
  533. | | | | | | | | | | | | | | | | | | + 0.25% ~object_t
  534. | | | | | | | | | | | | | | | | | | | + 0.25% ~basic_string
  535. | | | | | | | | | | | | | | | | | | | + 0.25% std::string::_Rep::_M_dispose
  536. | | | | | | | | | | | | | | | | | | | + 0.25% std::string::_Rep::_M_dispose
  537. | | | | | | | | | | | | | | | | | | | + 0.25% __exchange_and_add_dispatch
  538. | | | | | | | | | | | | | | | | | | | + 0.25% __exchange_and_add
  539. | | | | | | | | | | | | | | | | | | + 0.15% op_target_t
  540. | | | | | | | | | | | | | | | | | | | + 0.10% vector
  541. | | | | | | | | | | | | | | | | | | | | + 0.10% _Vector_base
  542. | | | | | | | | | | | | | | | | | | | | + 0.10% _Vector_impl
  543. | | | | | | | | | | | | | | | | | | | + 0.05% object_t
  544. | | | | | | | | | | | | | | | | | | + 0.10% object_t
  545. | | | | | | | | | | | | | | | | | | + 0.10% std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string
  546. | | | | | | | | | | | | | | | | | + 0.25% operator new
  547. | | | | | | | | | | | | | | | | | | + 0.25% __GI___libc_malloc
  548. | | | | | | | | | | | | | | | | | | + 0.15% _int_malloc
  549. | | | | | | | | | | | | | | | | | + 0.15% read
  550. | | | | | | | | | | | | | | | | | + 0.15% AO_load_read
  551. | | | | | | | | | | | | | | | | | + 0.15% AO_load
  552. | | | | | | | | | | | | | | | | + 0.30% librados::IoCtxImpl::queue_aio_write
  553. | | | | | | | | | | | | | | | | | + 0.10% Mutex::Unlock
  554. | | | | | | | | | | | | | | | | | | + 0.05% _pre_unlock
  555. | | | | | | | | | | | | | | | | | | + 0.05% __GI___pthread_mutex_unlock
  556. | | | | | | | | | | | | | | | | | + 0.10% Mutex::Lock
  557. | | | | | | | | | | | | | | | | | + 0.10% __GI___pthread_mutex_lock
  558. | | | | | | | | | | | | | | | | | + 0.10% _L_lock_791
  559. | | | | | | | | | | | | | | | | | + 0.10% __lll_lock_wait
  560. | | | | | | | | | | | | | | | | + 0.25% operator new
  561. | | | | | | | | | | | | | | | | | + 0.25% __GI___libc_malloc
  562. | | | | | | | | | | | | | | | | | + 0.05% _int_malloc
  563. | | | | | | | | | | | | | | | | + 0.10% now
  564. | | | | | | | | | | | | | | | | | + 0.10% clock_gettime
  565. | | | | | | | | | | | | | | | | | + 0.05% clock_gettime
  566. | | | | | | | | | | | | | | | | + 0.10% librados::IoCtxImpl::C_aio_Complete::C_aio_Complete
  567. | | | | | | | | | | | | | | | | + 0.10% get
  568. | | | | | | | | | | | | | | | | + 0.10% Mutex::Lock
  569. | | | | | | | | | | | | | | | | + 0.10% __GI___pthread_mutex_lock
  570. | | | | | | | | | | | | | | | + 0.05% object_t
  571. | | | | | | | | | | | | | | + 2.45% librbd::io::ObjectWriteRequest::add_write_ops
  572. | | | | | | | | | | | | | | | + 2.25% librados::ObjectWriteOperation::write
  573. | | | | | | | | | | | | | | | | + 1.65% write
  574. | | | | | | | | | | | | | | | | | + 1.65% write
  575. | | | | | | | | | | | | | | | | | + 1.65% add_data
  576. | | | | | | | | | | | | | | | | | + 1.60% ObjectOperation::add_op
  577. | | | | | | | | | | | | | | | | | | + 1.60% resize
  578. | | | | | | | | | | | | | | | | | | + 0.45% std::vector<OSDOp, std::allocator<OSDOp> >::_M_default_append
  579. | | | | | | | | | | | | | | | | | | | + 0.25% _M_allocate
  580. | | | | | | | | | | | | | | | | | | | | + 0.20% allocate
  581. | | | | | | | | | | | | | | | | | | | | + 0.15% operator new
  582. | | | | | | | | | | | | | | | | | | | | | + 0.15% __GI___libc_malloc
  583. | | | | | | | | | | | | | | | | | | | | | + 0.10% _int_malloc
  584. | | | | | | | | | | | | | | | | | | | | + 0.05% _Znwm@plt
  585. | | | | | | | | | | | | | | | | | | | + 0.15% __uninitialized_default_n_a<OSDOp*, unsigned long, OSDOp>
  586. | | | | | | | | | | | | | | | | | | | | + 0.15% __uninitialized_default_n<OSDOp*, unsigned long>
  587. | | | | | | | | | | | | | | | | | | | | + 0.15% std::__uninitialized_default_n_1<false>::__uninit_default_n<OSDOp*, unsigned long>
  588. | | | | | | | | | | | | | | | | | | | | + 0.15% _Construct<OSDOp>
  589. | | | | | | | | | | | | | | | | | | | | + 0.10% memset
  590. | | | | | | | | | | | | | | | | | | | | + 0.05% list
  591. | | | | | | | | | | | | | | | | | | | + 0.05% __uninitialized_move_if_noexcept_a<OSDOp*, OSDOp*, std::allocator<OSDOp> >
  592. | | | | | | | | | | | | | | | | | | + 0.40% std::vector<ceph::buffer::list*, std::allocator<ceph::buffer::list*> >::_M_default_append
  593. | | | | | | | | | | | | | | | | | | | + 0.35% _M_allocate
  594. | | | | | | | | | | | | | | | | | | | + 0.35% allocate
  595. | | | | | | | | | | | | | | | | | | | + 0.35% operator new
  596. | | | | | | | | | | | | | | | | | | | + 0.35% __GI___libc_malloc
  597. | | | | | | | | | | | | | | | | | | | + 0.30% _int_malloc
  598. | | | | | | | | | | | | | | | | | | + 0.40% std::vector<Context*, std::allocator<Context*> >::_M_default_append
  599. | | | | | | | | | | | | | | | | | | | + 0.40% _M_allocate
  600. | | | | | | | | | | | | | | | | | | | + 0.40% allocate
  601. | | | | | | | | | | | | | | | | | | | + 0.40% operator new
  602. | | | | | | | | | | | | | | | | | | | + 0.40% __GI___libc_malloc
  603. | | | | | | | | | | | | | | | | | | | + 0.10% _int_malloc
  604. | | | | | | | | | | | | | | | | | | + 0.15% std::vector<int*, std::allocator<int*> >::_M_default_append
  605. | | | | | | | | | | | | | | | | | | | + 0.15% _M_allocate
  606. | | | | | | | | | | | | | | | | | | | + 0.15% allocate
  607. | | | | | | | | | | | | | | | | | | | + 0.15% operator new
  608. | | | | | | | | | | | | | | | | | | | + 0.15% __GI___libc_malloc
  609. | | | | | | | | | | | | | | | | | | | + 0.10% _int_malloc
  610. | | | | | | | | | | | | | | | | | | + 0.15% _ZNSt6vectorI5OSDOpSaIS0_EE17_M_default_appendEm@plt
  611. | | | | | | | | | | | | | | | | | + 0.05% _ZN15ObjectOperation6add_opEi@plt
  612. | | | | | | | | | | | | | | | | + 0.50% ceph::buffer::list::list
  613. | | | | | | | | | | | | | | | | | + 0.35% list
  614. | | | | | | | | | | | | | | | | | | + 0.30% _M_initialize_dispatch<std::_List_const_iterator<ceph::buffer::ptr> >
  615. | | | | | | | | | | | | | | | | | | | + 0.30% emplace_back<ceph::buffer::ptr const&>
  616. | | | | | | | | | | | | | | | | | | | + 0.30% _M_insert<ceph::buffer::ptr const&>
  617. | | | | | | | | | | | | | | | | | | | + 0.30% _M_create_node<ceph::buffer::ptr const&>
  618. | | | | | | | | | | | | | | | | | | | + 0.30% _M_get_node
  619. | | | | | | | | | | | | | | | | | | | + 0.30% allocate
  620. | | | | | | | | | | | | | | | | | | | + 0.30% operator new
  621. | | | | | | | | | | | | | | | | | | | + 0.30% __GI___libc_malloc
  622. | | | | | | | | | | | | | | | | | | | + 0.15% _L_lock_14932
  623. | | | | | | | | | | | | | | | | | | | | + 0.15% __lll_lock_wait_private
  624. | | | | | | | | | | | | | | | | | | | + 0.10% _int_malloc
  625. | | | | | | | | | | | | | | | | | | + 0.05% _List_base
  626. | | | | | | | | | | | | | | | | | + 0.05% ceph::buffer::list::iterator_impl<false>::iterator_impl
  627. | | | | | | | | | | | | | | | | + 0.05% ~list
  628. | | | | | | | | | | | | | | | + 0.05% librados::ObjectOperation::set_op_flags2
  629. | | | | | | | | | | | | | | | + 0.05% RLocker
  630. | | | | | | | | | | | | | | + 1.70% create_rados_callback<librbd::io::AbstractObjectWriteRequest>
  631. | | | | | | | | | | | | | | | + 1.70% librados::Rados::aio_create_completion
  632. | | | | | | | | | | | | | | | + 1.45% rados_aio_create_completion
  633. | | | | | | | | | | | | | | | | + 0.75% AioCompletionImpl
  634. | | | | | | | | | | | | | | | | | + 0.40% std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string
  635. | | | | | | | | | | | | | | | | | | + 0.35% _S_construct<char const*>
  636. | | | | | | | | | | | | | | | | | | | + 0.35% _S_construct_aux<char const*>
  637. | | | | | | | | | | | | | | | | | | | + 0.35% std::string::_S_construct<char const*>
  638. | | | | | | | | | | | | | | | | | | | + 0.30% std::string::_Rep::_S_create
  639. | | | | | | | | | | | | | | | | | | | | + 0.25% allocate
  640. | | | | | | | | | | | | | | | | | | | | + 0.25% operator new
  641. | | | | | | | | | | | | | | | | | | | | + 0.20% __GI___libc_malloc
  642. | | | | | | | | | | | | | | | | | | | | | + 0.15% _int_malloc
  643. | | | | | | | | | | | | | | | | | | | | + 0.05% malloc@plt
  644. | | | | | | | | | | | | | | | | | | | + 0.05% _S_copy_chars
  645. | | | | | | | | | | | | | | | | | | + 0.05% length
  646. | | | | | | | | | | | | | | | | | + 0.10% ~basic_string
  647. | | | | | | | | | | | | | | | | | | + 0.10% std::string::_Rep::_M_dispose
  648. | | | | | | | | | | | | | | | | | | + 0.05% __exchange_and_add_dispatch
  649. | | | | | | | | | | | | | | | | | + 0.10% Cond
  650. | | | | | | | | | | | | | | | | | | + 0.10% __pthread_cond_init
  651. | | | | | | | | | | | | | | | | | + 0.05% item
  652. | | | | | | | | | | | | | | | | + 0.30% operator new
  653. | | | | | | | | | | | | | | | | | + 0.30% __GI___libc_malloc
  654. | | | | | | | | | | | | | | | | | + 0.10% _int_malloc
  655. | | | | | | | | | | | | | | | | + 0.20% set_complete_callback
  656. | | | | | | | | | | | | | | | | + 0.20% Mutex::Lock
  657. | | | | | | | | | | | | | | | | + 0.20% __GI___pthread_mutex_lock
  658. | | | | | | | | | | | | | | | + 0.25% operator new
  659. | | | | | | | | | | | | | | | + 0.20% __GI___libc_malloc
  660. | | | | | | | | | | | | | | | + 0.10% _int_malloc
  661. | | | | | | | | | | | | | | | + 0.05% _L_lock_14932
  662. | | | | | | | | | | | | | | + 0.15% RWLock::unlock
  663. | | | | | | | | | | | | | | | + 0.10% read
  664. | | | | | | | | | | | | | | | | + 0.10% AO_load_read
  665. | | | | | | | | | | | | | | | | + 0.10% AO_load
  666. | | | | | | | | | | | | | | | + 0.05% pthread_rwlock_unlock
  667. | | | | | | | | | | | | | | + 0.05% librados::ObjectOperation::size
  668. | | | | | | | | | | | | | + 0.40% librados::AioCompletion::release
  669. | | | | | | | | | | | | | | + 0.20% release
  670. | | | | | | | | | | | | | | + 0.15% Mutex::Lock
  671. | | | | | | | | | | | | | | | + 0.05% _post_lock
  672. | | | | | | | | | | | | | | | + 0.05% __GI___pthread_mutex_lock
  673. | | | | | | | | | | | | | | + 0.05% put_unlock
  674. | | | | | | | | | | | | | + 0.10% ~RLocker
  675. | | | | | | | | | | | | | | + 0.10% RWLock::unlock
  676. | | | | | | | | | | | | | | + 0.05% read
  677. | | | | | | | | | | | | | | + 0.05% pthread_rwlock_unlock@plt
  678. | | | | | | | | | | | | | + 0.10% RLocker
  679. | | | | | | | | | | | | | | + 0.10% RWLock::get_read
  680. | | | | | | | | | | | | | | + 0.05% pthread_rwlock_rdlock
  681. | | | | | | | | | | | | | + 0.05% ~WLocker
  682. | | | | | | | | | | | | | + 0.05% operator delete
  683. | | | | | | | | | | | | | + 0.05% _int_free
  684. | | | | | | | | | | | | | + 0.05% __GI___libc_free
  685. | | | | | | | | | | | | | + 0.05% WLocker
  686. | | | | | | | | | | | | + 0.95% librbd::ObjectMap<librbd::ImageCtx>::object_may_exist
  687. | | | | | | | | | | | | | + 0.30% librbd::ObjectMap<librbd::ImageCtx>::operator[]
  688. | | | | | | | | | | | | | | + 0.30% operator uint8_t
  689. | | | | | | | | | | | | | | + 0.10% compute_index
  690. | | | | | | | | | | | | | | + 0.10% ceph::buffer::ptr::operator[]
  691. | | | | | | | | | | | | | | + 0.10% ceph::buffer::list::operator[]
  692. | | | | | | | | | | | | | + 0.20% ~RLocker
  693. | | | | | | | | | | | | | | + 0.20% RWLock::unlock
  694. | | | | | | | | | | | | | | + 0.10% read
  695. | | | | | | | | | | | | | | | + 0.10% AO_load_read
  696. | | | | | | | | | | | | | | | + 0.10% AO_load
  697. | | | | | | | | | | | | | | + 0.10% pthread_rwlock_unlock
  698. | | | | | | | | | | | | | + 0.10% librbd::ImageCtx::test_flags
  699. | | | | | | | | | | | | | | + 0.05% librbd::ImageCtx::get_flags
  700. | | | | | | | | | | | | | | + 0.05% is_locked
  701. | | | | | | | | | | | | | + 0.10% librbd::ImageCtx::test_features
  702. | | | | | | | | | | | | | | + 0.05% is_locked
  703. | | | | | | | | | | | | | + 0.05% is_locked
  704. | | | | | | | | | | | | + 0.75% librbd::ManagedLock<librbd::ImageCtx>::is_lock_owner
  705. | | | | | | | | | | | | | + 0.35% ~Locker
  706. | | | | | | | | | | | | | | + 0.35% Mutex::Unlock
  707. | | | | | | | | | | | | | | + 0.25% __GI___pthread_mutex_unlock
  708. | | | | | | | | | | | | | | | + 0.25% __pthread_mutex_unlock_usercnt
  709. | | | | | | | | | | | | | | + 0.05% pthread_mutex_unlock@plt
  710. | | | | | | | | | | | | | + 0.30% Locker
  711. | | | | | | | | | | | | | | + 0.30% Mutex::Lock
  712. | | | | | | | | | | | | | | + 0.10% __GI___pthread_mutex_lock
  713. | | | | | | | | | | | | | | + 0.05% _post_lock
  714. | | | | | | | | | | | | | + 0.10% librbd::ManagedLock<librbd::ImageCtx>::is_lock_owner
  715. | | | | | | | | | | | | + 0.35% ~RLocker
  716. | | | | | | | | | | | | + 0.30% RWLock::unlock
  717. | | | | | | | | | | | | + 0.15% read
  718. | | | | | | | | | | | | | + 0.15% AO_load_read
  719. | | | | | | | | | | | | | + 0.15% AO_load
  720. | | | | | | | | | | | | + 0.15% pthread_rwlock_unlock
  721. | | | | | | | | | | | + 6.25% librbd::oid_to_object_no
  722. | | | | | | | | | | | | + 3.95% basic_istringstream
  723. | | | | | | | | | | | | | + 2.45% basic_istream
  724. | | | | | | | | | | | | | | + 2.35% std::basic_ios<char, std::char_traits<char> >::init
  725. | | | | | | | | | | | | | | + 1.80% std::basic_ios<char, std::char_traits<char> >::_M_cache_locale
  726. | | | | | | | | | | | | | | | + 0.65% std::has_facet<std::ctype<char> >
  727. | | | | | | | | | | | | | | | | + 0.35% __cxxabiv1::__dynamic_cast
  728. | | | | | | | | | | | | | | | | | + 0.20% __cxxabiv1::__vmi_class_type_info::__do_dyncast
  729. | | | | | | | | | | | | | | | | | | + 0.10% operator==
  730. | | | | | | | | | | | | | | | | | | + 0.05% strcmp@plt
  731. | | | | | | | | | | | | | | | | | | + 0.05% __strcmp_sse42
  732. | | | | | | | | | | | | | | | | | + 0.05% adjust_pointer<void>
  733. | | | | | | | | | | | | | | | | + 0.10% std::locale::id::_M_id
  734. | | | | | | | | | | | | | | | + 0.55% std::has_facet<std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > >
  735. | | | | | | | | | | | | | | | | + 0.30% __cxxabiv1::__dynamic_cast
  736. | | | | | | | | | | | | | | | | | + 0.10% __cxxabiv1::__si_class_type_info::__do_dyncast
  737. | | | | | | | | | | | | | | | | | + 0.05% adjust_pointer<void>
  738. | | | | | | | | | | | | | | | | + 0.10% std::locale::id::_M_id
  739. | | | | | | | | | | | | | | | + 0.20% std::use_facet<std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > >
  740. | | | | | | | | | | | | | | | | + 0.10% std::locale::id::_M_id
  741. | | | | | | | | | | | | | | | | + 0.05% __cxxabiv1::__dynamic_cast
  742. | | | | | | | | | | | | | | | + 0.20% std::has_facet<std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > >
  743. | | | | | | | | | | | | | | | | + 0.10% std::locale::id::_M_id
  744. | | | | | | | | | | | | | | | | + 0.10% __cxxabiv1::__dynamic_cast
  745. | | | | | | | | | | | | | | | + 0.15% std::use_facet<std::ctype<char> >
  746. | | | | | | | | | | | | | | + 0.50% std::ios_base::_M_init
  747. | | | | | | | | | | | | | | + 0.15% std::locale::operator=
  748. | | | | | | | | | | | | | | + 0.15% std::locale::locale
  749. | | | | | | | | | | | | | | | + 0.05% _M_add_reference
  750. | | | | | | | | | | | | | | + 0.05% std::locale::~locale
  751. | | | | | | | | | | | | | | + 0.05% _ZNSt6localeaSERKS_@plt
  752. | | | | | | | | | | | | | | + 0.05% _ZNSt6localeD1Ev@plt
  753. | | | | | | | | | | | | | + 0.60% basic_ios
  754. | | | | | | | | | | | | | | + 0.45% std::locale::locale
  755. | | | | | | | | | | | | | | | + 0.25% std::locale::_S_initialize
  756. | | | | | | | | | | | | | | | | + 0.20% __gthread_once
  757. | | | | | | | | | | | | | | | | + 0.15% pthread_once
  758. | | | | | | | | | | | | | | | | + 0.05% pthread_once@plt
  759. | | | | | | | | | | | | | | | + 0.05% _M_add_reference
  760. | | | | | | | | | | | | | | + 0.15% std::ios_base::ios_base
  761. | | | | | | | | | | | | | | + 0.05% _Words
  762. | | | | | | | | | | | | | + 0.45% std::basic_ios<char, std::char_traits<char> >::init
  763. | | | | | | | | | | | | | | + 0.35% std::basic_ios<char, std::char_traits<char> >::_M_cache_locale
  764. | | | | | | | | | | | | | | | + 0.20% std::use_facet<std::ctype<char> >
  765. | | | | | | | | | | | | | | | | + 0.20% __cxxabiv1::__dynamic_cast
  766. | | | | | | | | | | | | | | | | + 0.10% __cxxabiv1::__vmi_class_type_info::__do_dyncast
  767. | | | | | | | | | | | | | | | | + 0.05% operator==
  768. | | | | | | | | | | | | | | | + 0.10% std::has_facet<std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > >
  769. | | | | | | | | | | | | | | | | + 0.05% __cxxabiv1::__dynamic_cast
  770. | | | | | | | | | | | | | | | + 0.05% std::has_facet<std::ctype<char> >
  771. | | | | | | | | | | | | | | + 0.10% std::ios_base::_M_init
  772. | | | | | | | | | | | | | | + 0.05% std::locale::locale
  773. | | | | | | | | | | | | | + 0.45% basic_stringbuf
  774. | | | | | | | | | | | | | + 0.25% std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string
  775. | | | | | | | | | | | | | | + 0.20% _S_construct<char const*>
  776. | | | | | | | | | | | | | | + 0.20% _S_construct_aux<char const*>
  777. | | | | | | | | | | | | | | + 0.20% std::string::_S_construct<char const*>
  778. | | | | | | | | | | | | | | + 0.15% std::string::_Rep::_S_create
  779. | | | | | | | | | | | | | | | + 0.10% allocate
  780. | | | | | | | | | | | | | | | + 0.10% operator new
  781. | | | | | | | | | | | | | | | + 0.05% __GI___libc_malloc
  782. | | | | | | | | | | | | | | + 0.05% _S_copy_chars
  783. | | | | | | | | | | | | | + 0.15% _M_stringbuf_init
  784. | | | | | | | | | | | | | | + 0.15% std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::_M_sync
  785. | | | | | | | | | | | | | + 0.05% basic_streambuf
  786. | | | | | | | | | | | | + 1.25% operator>>
  787. | | | | | | | | | | | | | + 1.25% std::istream::_M_extract<unsigned long>
  788. | | | | | | | | | | | | | + 0.90% get
  789. | | | | | | | | | | | | | | + 0.90% std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::do_get
  790. | | | | | | | | | | | | | | + 0.90% std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_M_extract_int<unsigned long>
  791. | | | | | | | | | | | | | | + 0.15% operator*
  792. | | | | | | | | | | | | | | + 0.10% std::__use_cache<std::__numpunct_cache<char> >::operator()
  793. | | | | | | | | | | | | | | + 0.10% size
  794. | | | | | | | | | | | | | | | + 0.10% _M_rep
  795. | | | | | | | | | | | | | | | + 0.10% _M_data
  796. | | | | | | | | | | | | | | + 0.10% operator!=<char, std::char_traits<char> >
  797. | | | | | | | | | | | | | | | + 0.10% equal
  798. | | | | | | | | | | | | | | | + 0.10% _M_at_eof
  799. | | | | | | | | | | | | | | | + 0.10% _M_get
  800. | | | | | | | | | | | | | | | + 0.05% sgetc
  801. | | | | | | | | | | | | | | + 0.05% operator==<char, std::char_traits<char> >
  802. | | | | | | | | | | | | | | + 0.05% _M_find<char>
  803. | | | | | | | | | | | | | + 0.20% std::istream::sentry::sentry
  804. | | | | | | | | | | | | | | + 0.05% is
  805. | | | | | | | | | | | | | + 0.10% setstate
  806. | | | | | | | | | | | | | + 0.10% std::basic_ios<char, std::char_traits<char> >::clear
  807. | | | | | | | | | | | | + 0.50% ~basic_istringstream
  808. | | | | | | | | | | | | | + 0.35% ~basic_stringbuf
  809. | | | | | | | | | | | | | | + 0.30% ~basic_string
  810. | | | | | | | | | | | | | | + 0.15% _int_free
  811. | | | | | | | | | | | | | | + 0.10% __GI___libc_free
  812. | | | | | | | | | | | | | | + 0.05% std::string::_Rep::_M_destroy
  813. | | | | | | | | | | | | | + 0.15% ~basic_ios
  814. | | | | | | | | | | | | | + 0.15% std::ios_base::~ios_base
  815. | | | | | | | | | | | | | + 0.10% std::ios_base::_M_dispose_callbacks
  816. | | | | | | | | | | | | | + 0.05% _ZNSt8ios_base20_M_dispose_callbacksEv@plt
  817. | | | | | | | | | | | | + 0.15% std::istream::ignoreXX
  818. | | | | | | | | | | | | + 0.10% std::istream::sentry::sentry
  819. | | | | | | | | | | | + 1.90% ObjectWriteRequest
  820. | | | | | | | | | | | | + 1.50% librbd::io::AbstractObjectWriteRequest::AbstractObjectWriteRequest
  821. | | | | | | | | | | | | | + 1.15% librbd::io::ObjectRequest<librbd::ImageCtx>::ObjectRequest
  822. | | | | | | | | | | | | | | + 0.40% ~RLocker
  823. | | | | | | | | | | | | | | | + 0.40% RWLock::unlock
  824. | | | | | | | | | | | | | | | + 0.25% pthread_rwlock_unlock
  825. | | | | | | | | | | | | | | | + 0.10% read
  826. | | | | | | | | | | | | | | | | + 0.10% AO_load_read
  827. | | | | | | | | | | | | | | | | + 0.10% AO_load
  828. | | | | | | | | | | | | | | | + 0.05% dec
  829. | | | | | | | | | | | | | | + 0.25% librbd::io::ObjectRequest<librbd::ImageCtx>::compute_parent_extents
  830. | | | | | | | | | | | | | | | + 0.15% is_locked
  831. | | | | | | | | | | | | | | | | + 0.05% read
  832. | | | | | | | | | | | | | | | + 0.10% librbd::ImageCtx::get_parent_overlap
  833. | | | | | | | | | | | | | | | + 0.05% is_locked
  834. | | | | | | | | | | | | | | + 0.25% Striper::extent_to_file
  835. | | | | | | | | | | | | | | | + 0.15% std::vector<std::pair<unsigned long, unsigned long>, std::allocator<std::pair<unsigned long, unsigned long> > >::reserve
  836. | | | | | | | | | | | | | | | + 0.15% _M_allocate_and_copy<std::move_iterator<std::pair<unsigned long, unsigned long>*> >
  837. | | | | | | | | | | | | | | | + 0.15% _M_allocate
  838. | | | | | | | | | | | | | | | + 0.15% allocate
  839. | | | | | | | | | | | | | | | + 0.15% operator new
  840. | | | | | | | | | | | | | | | + 0.15% __GI___libc_malloc
  841. | | | | | | | | | | | | | | + 0.15% RLocker
  842. | | | | | | | | | | | | | | | + 0.15% RWLock::get_read
  843. | | | | | | | | | | | | | | | + 0.10% pthread_rwlock_rdlock
  844. | | | | | | | | | | | | | | + 0.10% std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string
  845. | | | | | | | | | | | | | | + 0.10% _M_grab
  846. | | | | | | | | | | | | | | + 0.10% _M_refcopy
  847. | | | | | | | | | | | | | | + 0.10% __atomic_add_dispatch
  848. | | | | | | | | | | | | | | + 0.10% __atomic_add
  849. | | | | | | | | | | | | | + 0.35% ObjectWriteOperation
  850. | | | | | | | | | | | | | + 0.30% librados::ObjectOperation::ObjectOperation
  851. | | | | | | | | | | | | | | + 0.20% operator new
  852. | | | | | | | | | | | | | | + 0.15% __GI___libc_malloc
  853. | | | | | | | | | | | | | | + 0.05% _int_malloc
  854. | | | | | | | | | | | | | + 0.05% _ZN8librados15ObjectOperationC2Ev@plt
  855. | | | | | | | | | | | | + 0.40% ceph::buffer::list::list
  856. | | | | | | | | | | | | + 0.30% list
  857. | | | | | | | | | | | | | + 0.30% _M_initialize_dispatch<std::_List_const_iterator<ceph::buffer::ptr> >
  858. | | | | | | | | | | | | | + 0.30% emplace_back<ceph::buffer::ptr const&>
  859. | | | | | | | | | | | | | + 0.30% _M_insert<ceph::buffer::ptr const&>
  860. | | | | | | | | | | | | | + 0.30% _M_create_node<ceph::buffer::ptr const&>
  861. | | | | | | | | | | | | | + 0.30% _M_get_node
  862. | | | | | | | | | | | | | + 0.30% allocate
  863. | | | | | | | | | | | | | + 0.30% operator new
  864. | | | | | | | | | | | | | + 0.25% __GI___libc_malloc
  865. | | | | | | | | | | | | | + 0.05% _int_malloc
  866. | | | | | | | | | | | | + 0.05% make_shareable
  867. | | | | | | | | | | | | + 0.05% ceph::buffer::list::iterator_impl<false>::advance
  868. | | | | | | | | | | | + 1.25% operator[]
  869. | | | | | | | | | | | | + 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[]
  870. | | | | | | | | | | | | + 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<>&&)
  871. | | | | | | | | | | | | | + 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<> >
  872. | | | | | | | | | | | | | | + 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<> >
  873. | | | | | | | | | | | | | | + 0.85% pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>
  874. | | | | | | | | | | | | | | + 0.85% pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, 0ul>
  875. | | | | | | | | | | | | | | + 0.35% queue
  876. | | | | | | | | | | | | | | | + 0.35% deque
  877. | | | | | | | | | | | | | | | + 0.35% _Deque_base
  878. | | | | | | | | | | | | | | | + 0.30% std::_Deque_base<librbd::LibrbdWriteback::write_result_d*, std::allocator<librbd::LibrbdWriteback::write_result_d*> >::_M_initialize_map
  879. | | | | | | | | | | | | | | | | + 0.15% _M_create_nodes
  880. | | | | | | | | | | | | | | | | | + 0.15% _M_allocate_node
  881. | | | | | | | | | | | | | | | | | + 0.15% allocate
  882. | | | | | | | | | | | | | | | | | + 0.15% operator new
  883. | | | | | | | | | | | | | | | | | + 0.15% __GI___libc_malloc
  884. | | | | | | | | | | | | | | | | | + 0.15% _int_malloc
  885. | | | | | | | | | | | | | | | | + 0.15% _M_allocate_map
  886. | | | | | | | | | | | | | | | | + 0.15% allocate
  887. | | | | | | | | | | | | | | | | + 0.15% operator new
  888. | | | | | | | | | | | | | | | | + 0.15% __GI___libc_malloc
  889. | | | | | | | | | | | | | | | | + 0.05% _int_malloc
  890. | | | | | | | | | | | | | | | + 0.05% swap<std::_Deque_iterator<librbd::LibrbdWriteback::write_result_d*, librbd::LibrbdWriteback::write_result_d*&, librbd::LibrbdWriteback::write_result_d**> >
  891. | | | | | | | | | | | | | | + 0.30% deque
  892. | | | | | | | | | | | | | | | + 0.30% _Deque_base
  893. | | | | | | | | | | | | | | | + 0.30% std::_Deque_base<librbd::LibrbdWriteback::write_result_d*, std::allocator<librbd::LibrbdWriteback::write_result_d*> >::_M_initialize_map
  894. | | | | | | | | | | | | | | | + 0.30% _M_create_nodes
  895. | | | | | | | | | | | | | | | + 0.30% _M_allocate_node
  896. | | | | | | | | | | | | | | | + 0.30% allocate
  897. | | | | | | | | | | | | | | | + 0.30% operator new
  898. | | | | | | | | | | | | | | | + 0.30% __GI___libc_malloc
  899. | | | | | | | | | | | | | | | + 0.15% _int_malloc
  900. | | | | | | | | | | | | | | + 0.20% ~deque
  901. | | | | | | | | | | | | | | + 0.15% std::_Deque_base<librbd::LibrbdWriteback::write_result_d*, std::allocator<librbd::LibrbdWriteback::write_result_d*> >::~_Deque_base
  902. | | | | | | | | | | | | | | | + 0.15% _M_destroy_nodes
  903. | | | | | | | | | | | | | | | + 0.15% _M_deallocate_node
  904. | | | | | | | | | | | | | | | + 0.15% deallocate
  905. | | | | | | | | | | | | | | | + 0.15% _int_free
  906. | | | | | | | | | | | | | | + 0.05% _int_free
  907. | | | | | | | | | | | | | + 0.10% allocate
  908. | | | | | | | | | | | | | + 0.10% operator new
  909. | | | | | | | | | | | | | + 0.10% __GI___libc_malloc
  910. | | | | | | | | | | | | | + 0.05% _int_malloc
  911. | | | | | | | | | | | | + 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
  912. | | | | | | | | | | | | | + 0.10% _M_insert_bucket_begin
  913. | | | | | | | | | | | | | + 0.10% _M_bucket_index
  914. | | | | | | | | | | | | | + 0.10% _M_bucket_index
  915. | | | | | | | | | | | | | + 0.10% operator()
  916. | | | | | | | | | | | | + 0.05% _M_hash_code
  917. | | | | | | | | | | | | + 0.05% _M_find_node
  918. | | | | | | | | | | | + 1.00% operator new
  919. | | | | | | | | | | | | + 0.95% __GI___libc_malloc
  920. | | | | | | | | | | | | | + 0.60% _int_malloc
  921. | | | | | | | | | | | | + 0.05% malloc@plt
  922. | | | | | | | | | | | + 0.05% write_result_d
  923. | | | | | | | | | | + 0.40% mark_tx
  924. | | | | | | | | | | | + 0.40% ObjectCacher::bh_set_state
  925. | | | | | | | | | | | + 0.10% lru_remove
  926. | | | | | | | | | | | | + 0.10% remove
  927. | | | | | | | | | | | + 0.10% ObjectCacher::bh_stat_sub
  928. | | | | | | | | | | | + 0.10% LRU::lru_insert_top
  929. | | | | | | | | | | | | + 0.05% insert_head
  930. | | | | | | | | | | | + 0.05% ObjectCacher::bh_stat_add
  931. | | | | | | | | | | + 0.25% C_WriteCommit
  932. | | | | | | | | | | | + 0.20% push_back
  933. | | | | | | | | | | | | + 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>&&)
  934. | | | | | | | | | | | | + 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>&&)
  935. | | | | | | | | | | | | + 0.20% _M_allocate
  936. | | | | | | | | | | | | + 0.20% allocate
  937. | | | | | | | | | | | | + 0.20% operator new
  938. | | | | | | | | | | | | + 0.20% __GI___libc_malloc
  939. | | | | | | | | | | | | + 0.15% _int_malloc
  940. | | | | | | | | | | | + 0.05% sobject_t
  941. | | | | | | | | | | + 0.20% ~object_t
  942. | | | | | | | | | | | + 0.20% ~basic_string
  943. | | | | | | | | | | | + 0.15% std::string::_Rep::_M_dispose
  944. | | | | | | | | | | | + 0.10% __exchange_and_add_dispatch
  945. | | | | | | | | | | | + 0.05% __exchange_and_add
  946. | | | | | | | | | | + 0.15% ~sobject_t
  947. | | | | | | | | | | | + 0.15% ~object_t
  948. | | | | | | | | | | | + 0.15% ~basic_string
  949. | | | | | | | | | | | + 0.15% std::string::_Rep::_M_dispose
  950. | | | | | | | | | | | + 0.10% __exchange_and_add_dispatch
  951. | | | | | | | | | | | + 0.10% __exchange_and_add
  952. | | | | | | | | | | + 0.10% operator new
  953. | | | | | | | | | | | + 0.10% __GI___libc_malloc
  954. | | | | | | | | | | | + 0.05% _L_lock_14932
  955. | | | | | | | | | | + 0.10% get_soid
  956. | | | | | | | | | | | + 0.10% sobject_t
  957. | | | | | | | | | | | + 0.10% object_t
  958. | | | | | | | | | | | + 0.05% std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string
  959. | | | | | | | | | | | + 0.05% _ZNSsC1ERKSs@plt
  960. | | | | | | | | | | + 0.10% PerfCounters::inc
  961. | | | | | | | | | | + 0.05% add
  962. | | | | | | | | | + 0.05% operator++
  963. | | | | | | | | | + 0.05% ObjectCacher::Object::data_lower_bound
  964. | | | | | | | | + 1.40% new_sub
  965. | | | | | | | | | + 0.65% C_GatherBase
  966. | | | | | | | | | | + 0.35% Mutex::Mutex
  967. | | | | | | | | | | | + 0.10% std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string
  968. | | | | | | | | | | | | + 0.05% _M_grab
  969. | | | | | | | | | | | + 0.10% __pthread_mutexattr_settype
  970. | | | | | | | | | | | + 0.05% pthread_mutexattr_init@plt
  971. | | | | | | | | | | | + 0.05% __pthread_mutexattr_destroy
  972. | | | | | | | | | | + 0.30% std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string
  973. | | | | | | | | | | + 0.25% _S_construct<char const*>
  974. | | | | | | | | | | + 0.25% _S_construct_aux<char const*>
  975. | | | | | | | | | | + 0.25% std::string::_S_construct<char const*>
  976. | | | | | | | | | | + 0.15% std::string::_Rep::_S_create
  977. | | | | | | | | | | | + 0.15% allocate
  978. | | | | | | | | | | | + 0.15% operator new
  979. | | | | | | | | | | | + 0.10% __GI___libc_malloc
  980. | | | | | | | | | | | + 0.05% _int_malloc
  981. | | | | | | | | | | + 0.10% _S_copy_chars
  982. | | | | | | | | | | + 0.10% _M_copy
  983. | | | | | | | | | | + 0.10% copy
  984. | | | | | | | | | | + 0.10% __memcpy_ssse3_back
  985. | | | | | | | | | + 0.50% new_sub
  986. | | | | | | | | | | + 0.35% insert
  987. | | | | | | | | | | | + 0.35% std::_Rb_tree<Context*, Context*, std::_Identity<Context*>, std::less<Context*>, std::allocator<Context*> >::_M_insert_unique<Context* const&>
  988. | | | | | | | | | | | + 0.30% _M_insert_<Context* const&>
  989. | | | | | | | | | | | + 0.25% _M_create_node<Context* const&>
  990. | | | | | | | | | | | + 0.25% _M_get_node
  991. | | | | | | | | | | | + 0.25% allocate
  992. | | | | | | | | | | | + 0.25% operator new
  993. | | | | | | | | | | | + 0.20% __GI___libc_malloc
  994. | | | | | | | | | | | + 0.15% _int_malloc
  995. | | | | | | | | | | + 0.10% ~Locker
  996. | | | | | | | | | | | + 0.10% Mutex::Unlock
  997. | | | | | | | | | | | + 0.10% __GI___pthread_mutex_unlock
  998. | | | | | | | | | | | + 0.10% __pthread_mutex_unlock_usercnt
  999. | | | | | | | | | | + 0.05% operator new
  1000. | | | | | | | | | + 0.25% operator new
  1001. | | | | | | | | | + 0.25% __GI___libc_malloc
  1002. | | | | | | | | | + 0.20% _int_malloc
  1003. | | | | | | | | + 0.35% count
  1004. | | | | | | | | | + 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
  1005. | | | | | | | | | + 0.10% _M_hash_code
  1006. | | | | | | | | | | + 0.10% operator()
  1007. | | | | | | | | | | + 0.10% operator()
  1008. | | | | | | | | | | + 0.05% rjhash64
  1009. | | | | | | | | | | + 0.05% ceph_str_hash_linux
  1010. | | | | | | | | | + 0.10% _M_bucket_begin
  1011. | | | | | | | | | + 0.05% _M_bucket_index
  1012. | | | | | | | | + 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[]
  1013. | | | | | | | | | + 0.25% _M_emplace_hint_unique<const std::piecewise_construct_t&, std::tuple<long unsigned int const&>, std::tuple<> >
  1014. | | | | | | | | | | + 0.20% _M_create_node<const std::piecewise_construct_t&, std::tuple<long unsigned int const&>, std::tuple<> >
  1015. | | | | | | | | | | | + 0.20% _M_get_node
  1016. | | | | | | | | | | | + 0.20% allocate
  1017. | | | | | | | | | | | + 0.20% operator new
  1018. | | | | | | | | | | | + 0.20% __GI___libc_malloc
  1019. | | | | | | | | | | | + 0.15% _int_malloc
  1020. | | | | | | | | | | + 0.05% _M_insert_node
  1021. | | | | | | | | | + 0.05% lower_bound
  1022. | | | | | | | | + 0.15% ObjectCacher::_flush_set_finish
  1023. | | | | | | | | | + 0.10% activate
  1024. | | | | | | | | | + 0.10% activate
  1025. | | | | | | | | | + 0.05% Mutex::Lock
  1026. | | | | | | | | + 0.10% push_back
  1027. | | | | | | | | | + 0.10% _M_insert<Context*>
  1028. | | | | | | | | | + 0.10% _M_create_node<Context*>
  1029. | | | | | | | | | + 0.10% _M_get_node
  1030. | | | | | | | | | + 0.10% allocate
  1031. | | | | | | | | | + 0.10% operator new
  1032. | | | | | | | | | + 0.10% __GI___libc_malloc
  1033. | | | | | | | | + 0.10% operator[]
  1034. | | | | | | | | | + 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[]
  1035. | | | | | | | | | + 0.05% _M_hash_code
  1036. | | | | | | | | | + 0.05% _M_bucket_index
  1037. | | | | | | | | + 0.05% ~sobject_t
  1038. | | | | | | | | + 0.05% ~basic_string
  1039. | | | | | | | | + 0.05% ceph::logging::SubsystemMap::should_gather
  1040. | | | | | | | | + 0.05% C_GatherBuilderBase<Context, C_GatherBase<Context, Context> >::~C_GatherBuilderBase
  1041. | | | | | | | + 0.25% ~Cond
  1042. | | | | | | | | + 0.15% __pthread_cond_destroy
  1043. | | | | | | | + 0.15% Cond
  1044. | | | | | | | | + 0.10% __pthread_cond_init
  1045. | | | | | | | + 0.05% ceph::logging::SubsystemMap::should_gather
  1046. | | | | | | + 4.65% ObjectCacher::trim
  1047. | | | | | | | + 2.30% ~BufferHead
  1048. | | | | | | | | + 2.10% ~list
  1049. | | | | | | | | | + 2.10% ~list
  1050. | | | | | | | | | + 2.10% ~_List_base
  1051. | | | | | | | | | + 2.10% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear
  1052. | | | | | | | | | + 2.05% destroy<std::_List_node<ceph::buffer::ptr> >
  1053. | | | | | | | | | | + 2.05% ~_List_node
  1054. | | | | | | | | | | + 1.95% ~ptr
  1055. | | | | | | | | | | + 1.95% ceph::buffer::ptr::release
  1056. | | | | | | | | | | + 0.75% ceph::buffer::raw_combined::~raw_combined
  1057. | | | | | | | | | | | + 0.60% ~raw_combined
  1058. | | | | | | | | | | | | + 0.50% ~raw
  1059. | | | | | | | | | | | | + 0.50% ~map
  1060. | | | | | | | | | | | | + 0.45% ~_Rb_tree
  1061. | | | | | | | | | | | | + 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
  1062. | | | | | | | | | | | | + 0.20% _M_destroy_node
  1063. | | | | | | | | | | | | + 0.20% _M_put_node
  1064. | | | | | | | | | | | | + 0.20% deallocate
  1065. | | | | | | | | | | | | + 0.10% _int_free
  1066. | | | | | | | | | | | | + 0.10% __GI___libc_free
  1067. | | | | | | | | | | | + 0.10% operator delete
  1068. | | | | | | | | | | | + 0.10% deallocate_aligned
  1069. | | | | | | | | | | | + 0.10% operator-=
  1070. | | | | | | | | | | + 0.70% _int_free
  1071. | | | | | | | | | | + 0.10% __GI___libc_free
  1072. | | | | | | | | | | + 0.05% dec
  1073. | | | | | | | | | + 0.05% _M_put_node
  1074. | | | | | | | | + 0.10% ~map
  1075. | | | | | | | | | + 0.05% ~_Rb_tree
  1076. | | | | | | | | + 0.10% ~SnapContext
  1077. | | | | | | | | + 0.10% ~vector
  1078. | | | | | | | | + 0.10% ~_Vector_base
  1079. | | | | | | | | + 0.10% _M_deallocate
  1080. | | | | | | | + 1.00% ObjectCacher::bh_remove
  1081. | | | | | | | | + 0.75% remove_bh
  1082. | | | | | | | | + 0.50% count
  1083. | | | | | | | | | + 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
  1084. | | | | | | | | + 0.25% erase
  1085. | | | | | | | | + 0.25% erase
  1086. | | | | | | | | + 0.25% erase
  1087. | | | | | | | | + 0.25% _M_erase_aux
  1088. | | | | | | | | + 0.15% clear
  1089. | | | | | | | | | + 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
  1090. | | | | | | | | | + 0.10% _M_destroy_node
  1091. | | | | | | | | | + 0.10% _M_put_node
  1092. | | | | | | | | | + 0.10% deallocate
  1093. | | | | | | | | | + 0.10% _int_free
  1094. | | | | | | | | + 0.10% erase
  1095. | | | | | | | | + 0.10% _M_erase_aux
  1096. | | | | | | | | + 0.05% std::_Rb_tree_rebalance_for_erase
  1097. | | | | | | | | + 0.05% _M_destroy_node
  1098. | | | | | | | + 0.70% ObjectCacher::close_object
  1099. | | | | | | | | + 0.40% erase
  1100. | | | | | | | | | + 0.40% erase
  1101. | | | | | | | | | + 0.40% _M_erase
  1102. | | | | | | | | | + 0.25% _M_erase
  1103. | | | | | | | | | | + 0.15% _M_bucket_index
  1104. | | | | | | | | | | | + 0.15% _M_bucket_index
  1105. | | | | | | | | | | | + 0.15% operator()
  1106. | | | | | | | | | | + 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
  1107. | | | | | | | | | | + 0.10% destroy<std::__detail::_Hash_node<std::pair<sobject_t const, ObjectCacher::Object*>, true> >
  1108. | | | | | | | | | | + 0.10% ~_Hash_node
  1109. | | | | | | | | | | + 0.10% ~pair
  1110. | | | | | | | | | | + 0.10% ~sobject_t
  1111. | | | | | | | | | | + 0.10% ~object_t
  1112. | | | | | | | | | | + 0.10% ~basic_string
  1113. | | | | | | | | | | + 0.10% _M_dispose
  1114. | | | | | | | | | + 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
  1115. | | | | | | | | | + 0.05% _M_hash_code
  1116. | | | | | | | | | + 0.05% _M_bucket_index
  1117. | | | | | | | | + 0.15% _int_free
  1118. | | | | | | | | | + 0.05% _L_lock_4780
  1119. | | | | | | | | + 0.10% ~Object
  1120. | | | | | | | | | + 0.05% ~sobject_t
  1121. | | | | | | | | | + 0.05% ~map
  1122. | | | | | | | | + 0.05% can_close
  1123. | | | | | | | + 0.35% _int_free
  1124. | | | | | | | + 0.25% lru_expire
  1125. | | | | | | | + 0.15% lru_get_next_expire
  1126. | | | | | | | | + 0.05% remove
  1127. | | | | | | | + 0.10% LRU::lru_remove
  1128. | | | | | | | + 0.05% remove
  1129. | | | | | | + 2.60% ObjectCacher::get_object
  1130. | | | | | | | + 1.35% count
  1131. | | | | | | | | + 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
  1132. | | | | | | | | + 0.55% _M_equals
  1133. | | | | | | | | | + 0.55% _S_equals
  1134. | | | | | | | | | + 0.55% operator()
  1135. | | | | | | | | | + 0.55% operator==
  1136. | | | | | | | | | + 0.55% operator==
  1137. | | | | | | | | | + 0.55% operator==<char>
  1138. | | | | | | | | | + 0.05% size
  1139. | | | | | | | | | + 0.05% compare
  1140. | | | | | | | | + 0.40% _M_bucket_index
  1141. | | | | | | | | | + 0.40% _M_bucket_index
  1142. | | | | | | | | | + 0.40% operator()
  1143. | | | | | | | | + 0.10% _M_hash_code
  1144. | | | | | | | | + 0.10% operator()
  1145. | | | | | | | | + 0.10% operator()
  1146. | | | | | | | | + 0.05% rjhash64
  1147. | | | | | | | | + 0.05% ceph_str_hash_linux
  1148. | | | | | | | + 0.50% operator[]
  1149. | | | | | | | | + 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[]
  1150. | | | | | | | | + 0.15% _M_allocate_node<const std::piecewise_construct_t&, std::tuple<const sobject_t&>, std::tuple<> >
  1151. | | | | | | | | | + 0.15% allocate
  1152. | | | | | | | | | + 0.15% operator new
  1153. | | | | | | | | | + 0.15% __GI___libc_malloc
  1154. | | | | | | | | | + 0.15% _int_malloc
  1155. | | | | | | | | + 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
  1156. | | | | | | | | | + 0.10% _M_insert_bucket_begin
  1157. | | | | | | | | | + 0.05% _M_bucket_index
  1158. | | | | | | | | + 0.10% _M_find_node
  1159. | | | | | | | | | + 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
  1160. | | | | | | | | + 0.10% _M_bucket_index
  1161. | | | | | | | | | + 0.10% _M_bucket_index
  1162. | | | | | | | | | + 0.10% operator()
  1163. | | | | | | | | + 0.05% _M_hash_code
  1164. | | | | | | | + 0.35% operator new
  1165. | | | | | | | | + 0.35% __GI___libc_malloc
  1166. | | | | | | | | + 0.15% _int_malloc
  1167. | | | | | | | | + 0.15% _L_lock_14932
  1168. | | | | | | | | + 0.15% __lll_lock_wait_private
  1169. | | | | | | | + 0.10% Object
  1170. | | | | | | | | + 0.05% push_back
  1171. | | | | | | | + 0.05% ~sobject_t
  1172. | | | | | | | + 0.05% sobject_t
  1173. | | | | | | + 1.35% ObjectCacher::Object::map_write
  1174. | | | | | | | + 0.45% ObjectCacher::bh_add
  1175. | | | | | | | | + 0.25% add_bh
  1176. | | | | | | | | | + 0.20% operator[]
  1177. | | | | | | | | | | + 0.20% _M_emplace_hint_unique<const std::piecewise_construct_t&, std::tuple<long int&&>, std::tuple<> >
  1178. | | | | | | | | | | + 0.10% _M_create_node<const std::piecewise_construct_t&, std::tuple<long int&&>, std::tuple<> >
  1179. | | | | | | | | | | | + 0.10% _M_get_node
  1180. | | | | | | | | | | | + 0.10% allocate
  1181. | | | | | | | | | | | + 0.10% operator new
  1182. | | | | | | | | | | | + 0.10% __GI___libc_malloc
  1183. | | | | | | | | | | + 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
  1184. | | | | | | | | | | + 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
  1185. | | | | | | | | | + 0.05% get
  1186. | | | | | | | | + 0.10% ObjectCacher::bh_stat_add
  1187. | | | | | | | + 0.35% ObjectCacher::Object::data_lower_bound
  1188. | | | | | | | | + 0.05% lower_bound
  1189. | | | | | | | + 0.25% operator new
  1190. | | | | | | | | + 0.25% __GI___libc_malloc
  1191. | | | | | | | | + 0.15% _int_malloc
  1192. | | | | | | | | + 0.10% _L_lock_14932
  1193. | | | | | | | | + 0.10% __lll_lock_wait_private
  1194. | | | | | | | + 0.10% BufferHead
  1195. | | | | | | | | + 0.05% map
  1196. | | | | | | | | + 0.05% list
  1197. | | | | | | | + 0.05% ObjectCacher::Object::replace_journal_tid
  1198. | | | | | | + 1.20% ObjectCacher::mark_dirty
  1199. | | | | | | | + 1.05% ObjectCacher::bh_set_state
  1200. | | | | | | | | + 0.85% insert
  1201. | | | | | | | | | + 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&>
  1202. | | | | | | | | | + 0.75% _M_get_insert_unique_pos
  1203. | | | | | | | | | | + 0.65% operator()
  1204. | | | | | | | | | + 0.05% _M_insert_<ObjectCacher::BufferHead* const&>
  1205. | | | | | | | | + 0.10% lru_insert_top
  1206. | | | | | | | | | + 0.05% insert_head
  1207. | | | | | | | | + 0.05% ObjectCacher::bh_stat_add
  1208. | | | | | | | + 0.05% lru_touch
  1209. | | | | | | + 0.85% ~OSDWrite
  1210. | | | | | | | + 0.45% ~list
  1211. | | | | | | | | + 0.30% ~list
  1212. | | | | | | | | | + 0.30% ~_List_base
  1213. | | | | | | | | | + 0.30% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear
  1214. | | | | | | | | | + 0.10% destroy<std::_List_node<ceph::buffer::ptr> >
  1215. | | | | | | | | | | + 0.10% ~_List_node
  1216. | | | | | | | | | | + 0.05% ~ptr
  1217. | | | | | | | | | + 0.05% _M_put_node
  1218. | | | | | | | | + 0.10% ~ptr
  1219. | | | | | | | | + 0.10% ceph::buffer::ptr::release
  1220. | | | | | | | + 0.40% std::vector<ObjectExtent, std::allocator<ObjectExtent> >::~vector
  1221. | | | | | | | + 0.20% _Destroy<ObjectExtent*, ObjectExtent>
  1222. | | | | | | | | + 0.20% _Destroy<ObjectExtent*>
  1223. | | | | | | | | + 0.20% __destroy<ObjectExtent*>
  1224. | | | | | | | | + 0.20% _Destroy<ObjectExtent>
  1225. | | | | | | | | + 0.20% ~ObjectExtent
  1226. | | | | | | | | + 0.20% ~vector
  1227. | | | | | | | | + 0.20% ~_Vector_base
  1228. | | | | | | | | + 0.20% _M_deallocate
  1229. | | | | | | | | + 0.20% deallocate
  1230. | | | | | | | | + 0.10% _int_free
  1231. | | | | | | | | + 0.05% __GI___libc_free
  1232. | | | | | | | + 0.15% ~_Vector_base
  1233. | | | | | | | + 0.15% _M_deallocate
  1234. | | | | | | | + 0.15% deallocate
  1235. | | | | | | | + 0.15% _int_free
  1236. | | | | | | + 0.55% ~sobject_t
  1237. | | | | | | | + 0.55% ~object_t
  1238. | | | | | | | + 0.55% ~basic_string
  1239. | | | | | | | + 0.55% std::string::_Rep::_M_dispose
  1240. | | | | | | | + 0.45% __exchange_and_add_dispatch
  1241. | | | | | | | + 0.45% __exchange_and_add
  1242. | | | | | | + 0.40% ObjectCacher::touch_bh
  1243. | | | | | | | + 0.35% touch_ob
  1244. | | | | | | | | + 0.35% lru_touch
  1245. | | | | | | | | + 0.30% lru_remove
  1246. | | | | | | | | | + 0.25% remove
  1247. | | | | | | | | + 0.05% lru_insert_top
  1248. | | | | | | | + 0.05% lru_touch
  1249. | | | | | | + 0.25% ceph::buffer::list::swap
  1250. | | | | | | | + 0.15% swap
  1251. | | | | | | | | + 0.10% std::__detail::_List_node_base::swap
  1252. | | | | | | | | + 0.05% _ZNSt8__detail15_List_node_base4swapERS0_S1_@plt
  1253. | | | | | | | + 0.05% _ZN4ceph6buffer3ptr4swapERS1_@plt
  1254. | | | | | | + 0.25% ceph::buffer::list::substr_of
  1255. | | | | | | | + 0.10% push_back
  1256. | | | | | | | | + 0.10% _M_insert<ceph::buffer::ptr>
  1257. | | | | | | | | + 0.10% _M_create_node<ceph::buffer::ptr>
  1258. | | | | | | | | + 0.10% _M_get_node
  1259. | | | | | | | | + 0.10% allocate
  1260. | | | | | | | | + 0.10% operator new
  1261. | | | | | | | | + 0.10% __GI___libc_malloc
  1262. | | | | | | | | + 0.10% _int_malloc
  1263. | | | | | | | + 0.10% clear
  1264. | | | | | | | | + 0.05% ~ptr
  1265. | | | | | | | | + 0.05% clear
  1266. | | | | | | | + 0.05% ceph::buffer::ptr::ptr
  1267. | | | | | | + 0.20% sobject_t
  1268. | | | | | | | + 0.20% object_t
  1269. | | | | | | | + 0.10% std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string
  1270. | | | | | | | + 0.10% _M_grab
  1271. | | | | | | | + 0.10% _M_refcopy
  1272. | | | | | | | + 0.10% __atomic_add_dispatch
  1273. | | | | | | | + 0.10% __atomic_add
  1274. | | | | | | + 0.20% ObjectCacher::Object::try_merge_bh
  1275. | | | | | | | + 0.10% operator++
  1276. | | | | | | | + 0.10% std::_Rb_tree_increment
  1277. | | | | | | | + 0.10% local_Rb_tree_increment
  1278. | | | | | | + 0.15% operator=
  1279. | | | | | | | + 0.15% std::vector<snapid_t, std::allocator<snapid_t> >::operator=
  1280. | | | | | | + 0.10% object_t
  1281. | | | | | | | + 0.10% _ZNSsC1ERKSs@plt
  1282. | | | | | | + 0.10% now
  1283. | | | | | | | + 0.10% clock_gettime
  1284. | | | | | | | + 0.05% clock_gettime
  1285. | | | | | | + 0.10% ceph::buffer::list::claim_append
  1286. | | | | | | | + 0.05% splice
  1287. | | | | | | + 0.10% _int_free
  1288. | | | | | | + 0.05% ~list
  1289. | | | | | | + 0.05% ~basic_string
  1290. | | | | | | + 0.05% should_gather
  1291. | | | | | | + 0.05% begin
  1292. | | | | | | + 0.05% PerfCounters::inc
  1293. | | | | | + 11.80% Locker
  1294. | | | | | | + 11.80% Mutex::Lock
  1295. | | | | | | + 11.60% __GI___pthread_mutex_lock
  1296. | | | | | | | + 11.60% _L_lock_791
  1297. | | | | | | | + 11.60% __lll_lock_wait
  1298. | | | | | | + 0.05% _post_lock
  1299. | | | | | + 1.50% ~Locker
  1300. | | | | | | + 1.30% Mutex::Unlock
  1301. | | | | | | | + 1.30% __GI___pthread_mutex_unlock
  1302. | | | | | | | + 1.30% __pthread_mutex_unlock_usercnt
  1303. | | | | | | | + 1.25% _L_unlock_697
  1304. | | | | | | | + 1.25% __lll_unlock_wake
  1305. | | | | | | + 0.05% _ZN5Mutex6UnlockEv@plt
  1306. | | | | | + 0.45% prepare_write
  1307. | | | | | | + 0.35% operator new
  1308. | | | | | | | + 0.35% __GI___libc_malloc
  1309. | | | | | | | + 0.30% _int_malloc
  1310. | | | | | | + 0.10% OSDWrite
  1311. | | | | | | + 0.10% ceph::buffer::list::list
  1312. | | | | | | + 0.10% list
  1313. | | | | | | + 0.10% _M_initialize_dispatch<std::_List_const_iterator<ceph::buffer::ptr> >
  1314. | | | | | | + 0.10% emplace_back<ceph::buffer::ptr const&>
  1315. | | | | | | + 0.10% _M_insert<ceph::buffer::ptr const&>
  1316. | | | | | | + 0.10% _M_create_node<ceph::buffer::ptr const&>
  1317. | | | | | | + 0.05% construct<std::_List_node<ceph::buffer::ptr>, ceph::buffer::ptr const&>
  1318. | | | | | | + 0.05% _M_get_node
  1319. | | | | | + 0.40% push_back
  1320. | | | | | | + 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>&&)
  1321. | | | | | | | + 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>&&)
  1322. | | | | | | | + 0.15% _M_allocate
  1323. | | | | | | | + 0.15% allocate
  1324. | | | | | | | + 0.15% operator new
  1325. | | | | | | | + 0.15% __GI___libc_malloc
  1326. | | | | | | | + 0.10% _L_lock_14932
  1327. | | | | | | | | + 0.10% __lll_lock_wait_private
  1328. | | | | | | | + 0.05% _int_malloc
  1329. | | | | | | + 0.20% std::vector<ObjectExtent, std::allocator<ObjectExtent> >::_M_emplace_back_aux<ObjectExtent const&>
  1330. | | | | | | + 0.10% construct<ObjectExtent, ObjectExtent const&>
  1331. | | | | | | | + 0.10% _S_construct<ObjectExtent, ObjectExtent const&>
  1332. | | | | | | | + 0.10% construct<ObjectExtent, ObjectExtent const&>
  1333. | | | | | | | + 0.10% ObjectExtent::ObjectExtent
  1334. | | | | | | | + 0.05% vector
  1335. | | | | | | | + 0.05% object_t
  1336. | | | | | | + 0.05% _M_allocate
  1337. | | | | | + 0.15% librados::IoCtx::get_id
  1338. | | | | | + 0.10% ~ObjectExtent
  1339. | | | | | | + 0.05% ~vector
  1340. | | | | | | + 0.05% ~object_t
  1341. | | | | | + 0.10% put_read
  1342. | | | | | | + 0.10% RWLock::unlock
  1343. | | | | | | + 0.10% read
  1344. | | | | | | + 0.10% AO_load_read
  1345. | | | | | | + 0.10% AO_load
  1346. | | | | | + 0.05% RWLock::get_read
  1347. | | | | + 0.90% librbd::io::ImageWriteRequest<librbd::ImageCtx>::assemble_extent
  1348. | | | | | + 0.75% ceph::buffer::list::substr_of
  1349. | | | | | | + 0.20% clear
  1350. | | | | | | | + 0.10% clear
  1351. | | | | | | | | + 0.10% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear
  1352. | | | | | | | + 0.05% ~ptr
  1353. | | | | | | + 0.15% push_back
  1354. | | | | | | | + 0.15% _M_insert<ceph::buffer::ptr>
  1355. | | | | | | | + 0.10% _M_create_node<ceph::buffer::ptr>
  1356. | | | | | | | | + 0.10% _M_get_node
  1357. | | | | | | | | + 0.10% allocate
  1358. | | | | | | | | + 0.10% operator new
  1359. | | | | | | | | + 0.10% __GI___libc_malloc
  1360. | | | | | | | | + 0.05% _int_malloc
  1361. | | | | | | | | + 0.05% _L_lock_14932
  1362. | | | | | | | + 0.05% _ZNSt8__detail15_List_node_base7_M_hookEPS0_@plt
  1363. | | | | | | + 0.05% ceph::buffer::ptr::ptr
  1364. | | | | | + 0.10% ceph::buffer::list::claim_append
  1365. | | | | | | + 0.05% make_shareable
  1366. | | | | | + 0.05% ~list
  1367. | | | | + 0.15% list
  1368. | | | | | + 0.10% ceph::buffer::list::iterator_impl<false>::advance
  1369. | | | | | + 0.05% ceph::buffer::list::iterator::iterator
  1370. | | | | + 0.05% ~object_t
  1371. | | | | + 0.05% ~list
  1372. | | | | + 0.05% operator new
  1373. | | | | + 0.05% C_AioRequest
  1374. | | | + 4.75% Striper::file_to_extents
  1375. | | | | + 4.25% Striper::file_to_extents
  1376. | | | | | + 2.15% snprintf
  1377. | | | | | | + 2.15% ___snprintf_chk
  1378. | | | | | | + 2.10% ___vsnprintf_chk
  1379. | | | | | | + 1.80% _IO_vfprintf_internal
  1380. | | | | | | | + 0.35% __GI__IO_default_xsputn
  1381. | | | | | | | | + 0.05% __mempcpy_sse2
  1382. | | | | | | | + 0.20% __GI__IO_padn
  1383. | | | | | | | | + 0.15% __GI__IO_default_xsputn
  1384. | | | | | | | + 0.10% __GI___libc_free
  1385. | | | | | | | | + 0.05% munmap_chunk
  1386. | | | | | | | + 0.05% free@plt
  1387. | | | | | | | + 0.05% _itoa_word
  1388. | | | | | | + 0.20% _IO_no_init
  1389. | | | | | | | + 0.05% _IO_old_init
  1390. | | | | | | + 0.10% _IO_str_init_static_internal
  1391. | | | | | + 0.50% resize
  1392. | | | | | | + 0.45% std::vector<ObjectExtent, std::allocator<ObjectExtent> >::_M_default_append
  1393. | | | | | | + 0.35% _M_allocate
  1394. | | | | | | | + 0.35% allocate
  1395. | | | | | | | + 0.30% operator new
  1396. | | | | | | | + 0.30% __GI___libc_malloc
  1397. | | | | | | | + 0.15% _int_malloc
  1398. | | | | | | | + 0.05% _L_lock_14932
  1399. | | | | | | + 0.10% _M_check_len
  1400. | | | | | + 0.45% operator[]
  1401. | | | | | | + 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<>&&)
  1402. | | | | | | + 0.20% _M_create_node<const std::piecewise_construct_t&, std::tuple<const object_t&>, std::tuple<> >
  1403. | | | | | | | + 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<> >
  1404. | | | | | | | | + 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<> >
  1405. | | | | | | | | + 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<> >
  1406. | | | | | | | | + 0.10% _Rb_tree_node<const std::piecewise_construct_t&, std::tuple<const object_t&>, std::tuple<> >
  1407. | | | | | | | | + 0.10% pair<object_t const&>
  1408. | | | | | | | | + 0.10% pair<object_t const&, 0ul>
  1409. | | | | | | | | + 0.10% object_t
  1410. | | | | | | | | + 0.10% std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string
  1411. | | | | | | | | + 0.10% _M_grab
  1412. | | | | | | | | + 0.10% _M_refcopy
  1413. | | | | | | | | + 0.10% __atomic_add_dispatch
  1414. | | | | | | | | + 0.10% __atomic_add
  1415. | | | | | | | + 0.10% _M_get_node
  1416. | | | | | | | + 0.10% allocate
  1417. | | | | | | | + 0.10% operator new
  1418. | | | | | | | + 0.10% __GI___libc_malloc
  1419. | | | | | | | + 0.05% _L_lock_14932
  1420. | | | | | | + 0.10% _M_insert_node
  1421. | | | | | | + 0.05% std::_Rb_tree_insert_and_rebalance
  1422. | | | | | + 0.40% object_t
  1423. | | | | | | + 0.35% std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string
  1424. | | | | | | | + 0.30% _S_construct<char const*>
  1425. | | | | | | | | + 0.30% _S_construct_aux<char const*>
  1426. | | | | | | | | + 0.30% std::string::_S_construct<char const*>
  1427. | | | | | | | | + 0.30% std::string::_Rep::_S_create
  1428. | | | | | | | | + 0.25% allocate
  1429. | | | | | | | | + 0.25% operator new
  1430. | | | | | | | | + 0.20% __GI___libc_malloc
  1431. | | | | | | | | | + 0.05% _int_malloc
  1432. | | | | | | | | | + 0.05% _L_lock_14932
  1433. | | | | | | | | + 0.05% malloc@plt
  1434. | | | | | | | + 0.05% length
  1435. | | | | | | + 0.05% _ZNSsC1EPKcRKSaIcE@plt
  1436. | | | | | + 0.10% ~object_t
  1437. | | | | | | + 0.10% ~basic_string
  1438. | | | | | | + 0.10% _M_dispose
  1439. | | | | | + 0.10% size
  1440. | | | | | + 0.10% operator=
  1441. | | | | | | + 0.10% operator=
  1442. | | | | | | + 0.10% std::string::assign
  1443. | | | | | + 0.05% strlen@plt
  1444. | | | | | + 0.05% should_gather
  1445. | | | | | + 0.05% push_back
  1446. | | | | | + 0.05% file_to_object_locator
  1447. | | | | | + 0.05% basic_ostream
  1448. | | | | | + 0.05% __strlen_sse2_pminub
  1449. | | | | | + 0.05% Striper::object_truncate_size
  1450. | | | | + 0.35% Striper::assimilate_extents
  1451. | | | | | + 0.30% push_back
  1452. | | | | | | + 0.30% std::vector<ObjectExtent, std::allocator<ObjectExtent> >::_M_emplace_back_aux<ObjectExtent const&>
  1453. | | | | | | + 0.15% construct<ObjectExtent, ObjectExtent const&>
  1454. | | | | | | | + 0.15% _S_construct<ObjectExtent, ObjectExtent const&>
  1455. | | | | | | | + 0.15% construct<ObjectExtent, ObjectExtent const&>
  1456. | | | | | | | + 0.15% ObjectExtent::ObjectExtent
  1457. | | | | | | | + 0.10% vector
  1458. | | | | | | | + 0.10% _Vector_base
  1459. | | | | | | | + 0.10% _M_create_storage
  1460. | | | | | | | + 0.10% _M_allocate
  1461. | | | | | | | + 0.10% allocate
  1462. | | | | | | | + 0.10% operator new
  1463. | | | | | | | + 0.05% malloc@plt
  1464. | | | | | | | + 0.05% __GI___libc_malloc
  1465. | | | | | | + 0.10% _M_allocate
  1466. | | | | | | | + 0.10% allocate
  1467. | | | | | | | + 0.10% operator new
  1468. | | | | | | | + 0.10% __GI___libc_malloc
  1469. | | | | | | | + 0.05% _int_malloc
  1470. | | | | | | + 0.05% _M_deallocate
  1471. | | | | | + 0.05% operator++
  1472. | | | | + 0.15% ~map
  1473. | | | | + 0.15% ~_Rb_tree
  1474. | | | | + 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
  1475. | | | | + 0.10% _M_destroy_node
  1476. | | | | | + 0.10% destroy<std::_Rb_tree_node<std::pair<object_t const, std::vector<ObjectExtent> > > >
  1477. | | | | | + 0.10% ~_Rb_tree_node
  1478. | | | | | + 0.10% ~pair
  1479. | | | | | + 0.10% ~vector
  1480. | | | | | + 0.10% _Destroy<ObjectExtent*, ObjectExtent>
  1481. | | | | | + 0.10% _Destroy<ObjectExtent*>
  1482. | | | | | + 0.10% __destroy<ObjectExtent*>
  1483. | | | | | + 0.10% _Destroy<ObjectExtent>
  1484. | | | | | + 0.10% ~ObjectExtent
  1485. | | | | | + 0.10% ~object_locator_t
  1486. | | | | | + 0.10% ~basic_string
  1487. | | | | | + 0.05% std::string::_Rep::_M_dispose
  1488. | | | | + 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
  1489. | | | + 0.55% ~RLocker
  1490. | | | | + 0.50% RWLock::unlock
  1491. | | | | + 0.35% pthread_rwlock_unlock
  1492. | | | | + 0.05% read
  1493. | | | | + 0.05% dec
  1494. | | | + 0.50% std::vector<ObjectExtent, std::allocator<ObjectExtent> >::~vector
  1495. | | | | + 0.25% _Destroy<ObjectExtent*, ObjectExtent>
  1496. | | | | | + 0.25% _Destroy<ObjectExtent*>
  1497. | | | | | + 0.25% __destroy<ObjectExtent*>
  1498. | | | | | + 0.20% _Destroy<ObjectExtent>
  1499. | | | | | + 0.20% ~ObjectExtent
  1500. | | | | | + 0.15% ~vector
  1501. | | | | | | + 0.15% ~_Vector_base
  1502. | | | | | | + 0.15% _M_deallocate
  1503. | | | | | | + 0.15% deallocate
  1504. | | | | | | + 0.10% _int_free
  1505. | | | | | | + 0.05% __GI___libc_free
  1506. | | | | | + 0.05% ~object_t
  1507. | | | | + 0.15% ~_Vector_base
  1508. | | | | + 0.15% _M_deallocate
  1509. | | | | + 0.15% deallocate
  1510. | | | | + 0.15% _int_free
  1511. | | | + 0.25% librbd::io::ImageWriteRequest<librbd::ImageCtx>::update_stats
  1512. | | | | + 0.05% PerfCounters::inc
  1513. | | | + 0.15% RLocker
  1514. | | | | + 0.15% RWLock::get_read
  1515. | | | | + 0.10% pthread_rwlock_rdlock
  1516. | | | + 0.10% librbd::io::AioCompletion::set_request_count
  1517. | | | | + 0.05% unblock
  1518. | | | | + 0.05% Mutex::Unlock
  1519. | | | + 0.05% operator=
  1520. | | | + 0.05% PerfCounters::inc
  1521. | | + 0.50% librbd::io::ImageRequest<librbd::ImageCtx>::clip_request
  1522. | | | + 0.30% librbd::clip_io
  1523. | | | | + 0.25% librbd::ImageCtx::get_image_size
  1524. | | | | + 0.05% is_locked
  1525. | | | + 0.10% RLocker
  1526. | | | | + 0.10% RWLock::get_read
  1527. | | | | + 0.10% pthread_rwlock_rdlock
  1528. | | | + 0.05% ~RLocker
  1529. | | + 0.15% is_initialized
  1530. | | | + 0.10% Locker
  1531. | | | | + 0.10% Mutex::Lock
  1532. | | | | + 0.05% __GI___pthread_mutex_lock
  1533. | | | + 0.05% ~Locker
  1534. | | + 0.10% is_started
  1535. | | | + 0.05% ~Locker
  1536. | | | + 0.05% Locker
  1537. | | + 0.10% get
  1538. | | | + 0.10% Mutex::Unlock
  1539. | | | + 0.10% __GI___pthread_mutex_unlock
  1540. | | | + 0.10% __pthread_mutex_unlock_usercnt
  1541. | | + 0.05% librbd::io::ImageWriteRequest<librbd::ImageCtx>::get_aio_type
  1542. | + 0.40% librbd::io::ImageRequestWQ::finish_queued_op
  1543. | | + 0.20% RLocker
  1544. | | | + 0.20% RWLock::get_read
  1545. | | | + 0.15% pthread_rwlock_rdlock
  1546. | | + 0.05% librbd::io::AbstractImageWriteRequest<librbd::ImageCtx>::is_write_op
  1547. | | + 0.05% dec
  1548. | + 0.40% librbd::io::ImageRequestWQ::finish_in_flight_op
  1549. | | + 0.20% ~RLocker
  1550. | | | + 0.20% RWLock::unlock
  1551. | | | + 0.10% read
  1552. | | | + 0.10% AO_load_read
  1553. | | | + 0.10% AO_load
  1554. | | + 0.20% RLocker
  1555. | | + 0.20% RWLock::get_read
  1556. | | + 0.10% pthread_rwlock_rdlock
  1557. | + 0.35% librbd::io::ImageWriteRequest<librbd::ImageCtx>::~ImageWriteRequest
  1558. | | + 0.30% ~ImageWriteRequest
  1559. | | + 0.20% ~list
  1560. | | | + 0.15% ~list
  1561. | | | + 0.15% ~_List_base
  1562. | | | + 0.15% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear
  1563. | | | + 0.15% _M_put_node
  1564. | | | + 0.15% deallocate
  1565. | | | + 0.10% __GI___libc_free
  1566. | | | + 0.05% _int_free
  1567. | | + 0.10% ~AbstractImageWriteRequest
  1568. | | + 0.10% ~ImageRequest
  1569. | | + 0.10% ~vector
  1570. | | + 0.10% ~_Vector_base
  1571. | | + 0.10% _M_deallocate
  1572. | | + 0.10% deallocate
  1573. | | + 0.05% _int_free
  1574. | | + 0.05% __GI___libc_free
  1575. | + 0.30% _int_free
  1576. | + 0.20% RWLock::unlock
  1577. | | + 0.20% read
  1578. | | + 0.15% AO_load_read
  1579. | | | + 0.15% AO_load
  1580. | | + 0.05% AO_nop_full
  1581. | + 0.10% librbd::io::ImageRequestWQ::finish_in_progress_write
  1582. | | + 0.05% RLocker
  1583. | + 0.10% __GI___libc_free
  1584. + 2.10% librbd::io::ImageRequestWQ::_void_dequeue
  1585. | + 0.70% librbd::io::ImageRequest<librbd::ImageCtx>::start_op
  1586. | | + 0.70% librbd::io::AioCompletion::start_op
  1587. | | + 0.35% librbd::AsyncOperation::start_op
  1588. | | | + 0.20% ~Locker
  1589. | | | | + 0.20% Mutex::Unlock
  1590. | | | | + 0.20% __GI___pthread_mutex_unlock
  1591. | | | | + 0.20% __pthread_mutex_unlock_usercnt
  1592. | | | + 0.10% push_front
  1593. | | | + 0.05% Locker
  1594. | | + 0.30% Locker
  1595. | | | + 0.30% Mutex::Lock
  1596. | | | + 0.05% __GI___pthread_mutex_lock
  1597. | | + 0.05% ~Locker
  1598. | + 0.30% librbd::ImageState<librbd::ImageCtx>::is_refresh_required
  1599. | | + 0.10% ~Locker
  1600. | | | + 0.10% Mutex::Unlock
  1601. | | | + 0.10% __GI___pthread_mutex_unlock
  1602. | | | + 0.10% __pthread_mutex_unlock_usercnt
  1603. | | + 0.05% librbd::ImageState<librbd::ImageCtx>::find_pending_refresh
  1604. | | + 0.05% Locker
  1605. | + 0.25% _void_dequeue
  1606. | | + 0.25% pop_front
  1607. | | + 0.25% _M_erase
  1608. | | + 0.20% _M_put_node
  1609. | | | + 0.20% deallocate
  1610. | | | + 0.20% _int_free
  1611. | | + 0.05% std::__detail::_List_node_base::_M_unhook
  1612. | + 0.20% ~RLocker
  1613. | | + 0.20% RWLock::unlock
  1614. | | + 0.10% read
  1615. | | | + 0.10% AO_load_read
  1616. | | | + 0.10% AO_load
  1617. | | + 0.10% pthread_rwlock_unlock
  1618. | + 0.10% RLocker
  1619. | | + 0.10% RWLock::get_read
  1620. | | + 0.10% pthread_rwlock_rdlock
  1621. | + 0.05% front
  1622. + 0.75% WaitInterval
  1623. | + 0.75% WaitUntil
  1624. | + 0.75% pthread_cond_timedwait@@GLIBC_2.3.2
  1625. + 0.70% ThreadPool::TPHandle::reset_tp_timeout
  1626. | + 0.70% ceph::HeartbeatMap::reset_timeout
  1627. | + 0.30% ceph::HeartbeatMap::_check
  1628. | | + 0.10% read
  1629. | | + 0.10% AO_load_read
  1630. | | + 0.10% AO_load
  1631. | + 0.10% time
  1632. | + 0.05% should_gather
  1633. + 0.30% Mutex::Lock
  1634. | + 0.05% __GI___pthread_mutex_lock
  1635. + 0.20% ThreadPool::PointerWQ<Context>::_void_dequeue
  1636. + 0.15% Mutex::Unlock
  1637. | + 0.05% __GI___pthread_mutex_unlock
  1638. + 0.05% _ZN10ThreadPool8TPHandle16reset_tp_timeoutEv@plt
  1639. + 0.05% ThreadPool::join_old_threads
  1640.  
  1641. Thread: 8 (fn-radosclient) - 2000 samples
  1642.  
  1643. + 100.00% clone
  1644. + 100.00% start_thread
  1645. + 100.00% Finisher::finisher_thread_entry
  1646. + 50.55% Context::complete
  1647. | + 50.25% librados::C_AioComplete::finish
  1648. | | + 49.10% librbd::io::ObjectRequest<librbd::ImageCtx>::complete
  1649. | | | + 47.75% Context::complete
  1650. | | | | + 47.75% librbd::C_OrderedWrite::finish
  1651. | | | | + 33.60% Locker
  1652. | | | | | + 33.60% Mutex::Lock
  1653. | | | | | + 33.55% __GI___pthread_mutex_lock
  1654. | | | | | + 33.55% _L_lock_791
  1655. | | | | | + 33.55% __lll_lock_wait
  1656. | | | | + 10.85% librbd::LibrbdWriteback::complete_writes
  1657. | | | | | + 8.95% Context::complete
  1658. | | | | | | + 8.90% ObjectCacher::C_WriteCommit::finish
  1659. | | | | | | + 8.70% ObjectCacher::bh_write_commit
  1660. | | | | | | | + 7.00% finish_contexts<Context>
  1661. | | | | | | | | + 6.65% C_GatherBase<Context, Context>::C_GatherSub::complete
  1662. | | | | | | | | | + 6.60% complete
  1663. | | | | | | | | | + 6.60% C_GatherBase<Context, Context>::C_GatherSub::finish
  1664. | | | | | | | | | + 6.60% C_GatherBase<Context, Context>::sub_finish
  1665. | | | | | | | | | + 6.00% delete_me
  1666. | | | | | | | | | | + 5.45% Context::complete
  1667. | | | | | | | | | | | + 5.45% librbd::io::AioCompletion::complete_request
  1668. | | | | | | | | | | | + 2.70% librbd::io::AioCompletion::complete
  1669. | | | | | | | | | | | | + 0.80% notify
  1670. | | | | | | | | | | | | | + 0.80% write
  1671. | | | | | | | | | | | | + 0.50% _fio_rbd_finish_aiocb
  1672. | | | | | | | | | | | | | + 0.40% rbd_aio_get_return_value
  1673. | | | | | | | | | | | | | + 0.25% librbd::RBD::AioCompletion::get_return_value
  1674. | | | | | | | | | | | | | + 0.10% librbd::io::AioCompletion::get_return_value
  1675. | | | | | | | | | | | | | + 0.05% Mutex::Unlock
  1676. | | | | | | | | | | | | | + 0.05% Mutex::Lock
  1677. | | | | | | | | | | | | + 0.35% Mutex::Unlock
  1678. | | | | | | | | | | | | | + 0.35% __GI___pthread_mutex_unlock
  1679. | | | | | | | | | | | | | + 0.35% __pthread_mutex_unlock_usercnt
  1680. | | | | | | | | | | | | | + 0.10% _L_unlock_697
  1681. | | | | | | | | | | | | | + 0.10% __lll_unlock_wake
  1682. | | | | | | | | | | | | + 0.30% PerfCounters::tinc
  1683. | | | | | | | | | | | | | + 0.20% inc
  1684. | | | | | | | | | | | | | + 0.15% ceph_spin_lock
  1685. | | | | | | | | | | | | | + 0.15% pthread_spin_lock
  1686. | | | | | | | | | | | | + 0.25% librbd::AsyncOperation::finish_op
  1687. | | | | | | | | | | | | | + 0.15% ~Locker
  1688. | | | | | | | | | | | | | | + 0.15% Mutex::Unlock
  1689. | | | | | | | | | | | | | | + 0.15% __GI___pthread_mutex_unlock
  1690. | | | | | | | | | | | | | | + 0.15% __pthread_mutex_unlock_usercnt
  1691. | | | | | | | | | | | | | + 0.05% Locker
  1692. | | | | | | | | | | | | + 0.20% ceph_clock_now
  1693. | | | | | | | | | | | | | + 0.20% clock_gettime
  1694. | | | | | | | | | | | | | + 0.10% clock_gettime
  1695. | | | | | | | | | | | | + 0.20% Mutex::Lock
  1696. | | | | | | | | | | | | + 0.20% __GI___pthread_mutex_lock
  1697. | | | | | | | | | | | | + 0.10% _L_lock_791
  1698. | | | | | | | | | | | | + 0.10% __lll_lock_wait
  1699. | | | | | | | | | | | + 2.35% librbd::io::AioCompletion::put_unlock
  1700. | | | | | | | | | | | | + 2.35% Mutex::Unlock
  1701. | | | | | | | | | | | | + 2.35% __GI___pthread_mutex_unlock
  1702. | | | | | | | | | | | | + 2.35% __pthread_mutex_unlock_usercnt
  1703. | | | | | | | | | | | | + 2.10% _L_unlock_697
  1704. | | | | | | | | | | | | + 2.10% __lll_unlock_wake
  1705. | | | | | | | | | | | + 0.15% Mutex::Lock
  1706. | | | | | | | | | | | | + 0.05% __GI___pthread_mutex_lock
  1707. | | | | | | | | | | | + 0.10% librbd::io::AioCompletion::finalize
  1708. | | | | | | | | | | + 0.35% _int_free
  1709. | | | | | | | | | | | + 0.20% _L_lock_4780
  1710. | | | | | | | | | | | + 0.20% __lll_lock_wait_private
  1711. | | | | | | | | | | + 0.10% C_GatherBase<Context, Context>::~C_GatherBase
  1712. | | | | | | | | | | + 0.10% C_GatherBase<Context, Context>::~C_GatherBase
  1713. | | | | | | | | | | + 0.10% Mutex::~Mutex
  1714. | | | | | | | | | | + 0.10% ~basic_string
  1715. | | | | | | | | | | + 0.10% _M_dispose
  1716. | | | | | | | | | | + 0.05% _ZdlPv@plt
  1717. | | | | | | | | | + 0.25% erase
  1718. | | | | | | | | | | + 0.25% std::_Rb_tree<Context*, Context*, std::_Identity<Context*>, std::less<Context*>, std::allocator<Context*> >::erase
  1719. | | | | | | | | | | + 0.20% erase
  1720. | | | | | | | | | | + 0.20% _M_erase_aux
  1721. | | | | | | | | | | + 0.20% clear
  1722. | | | | | | | | | | + 0.20% std::_Rb_tree<Context*, Context*, std::_Identity<Context*>, std::less<Context*>, std::allocator<Context*> >::_M_erase
  1723. | | | | | | | | | | + 0.20% _M_destroy_node
  1724. | | | | | | | | | | + 0.20% _M_put_node
  1725. | | | | | | | | | | + 0.20% deallocate
  1726. | | | | | | | | | | + 0.15% __GI___libc_free
  1727. | | | | | | | | | | + 0.05% operator delete
  1728. | | | | | | | | | + 0.15% Mutex::Unlock
  1729. | | | | | | | | | | + 0.05% __GI___pthread_mutex_unlock
  1730. | | | | | | | | | + 0.10% Mutex::Lock
  1731. | | | | | | | | + 0.05% ~list
  1732. | | | | | | | | + 0.05% swap
  1733. | | | | | | | | + 0.05% _int_free
  1734. | | | | | | | | + 0.05% __GI___libc_free
  1735. | | | | | | | + 0.30% count
  1736. | | | | | | | | + 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
  1737. | | | | | | | | + 0.10% _M_bucket_index
  1738. | | | | | | | | | + 0.10% _M_bucket_index
  1739. | | | | | | | | | + 0.10% operator()
  1740. | | | | | | | | + 0.05% _M_hash_code
  1741. | | | | | | | + 0.25% mark_clean
  1742. | | | | | | | | + 0.25% ObjectCacher::bh_set_state
  1743. | | | | | | | | + 0.20% erase
  1744. | | | | | | | | | + 0.20% std::_Rb_tree<ObjectCacher::BufferHead*, ObjectCacher::BufferHead*, std::_Identity<ObjectCacher::BufferHead*>, ObjectCacher::BufferHead::ptr_lt, std::allocator<ObjectCacher::BufferHead*> >::erase
  1745. | | | | | | | | | + 0.10% std::_Rb_tree<ObjectCacher::BufferHead*, ObjectCacher::BufferHead*, std::_Identity<ObjectCacher::BufferHead*>, ObjectCacher::BufferHead::ptr_lt, std::allocator<ObjectCacher::BufferHead*> >::equal_range
  1746. | | | | | | | | | | + 0.10% std::_Rb_tree<ObjectCacher::BufferHead*, ObjectCacher::BufferHead*, std::_Identity<ObjectCacher::BufferHead*>, ObjectCacher::BufferHead::ptr_lt, std::allocator<ObjectCacher::BufferHead*> >::_M_lower_bound
  1747. | | | | | | | | | | + 0.05% operator()
  1748. | | | | | | | | | + 0.10% erase
  1749. | | | | | | | | | + 0.10% _M_erase_aux
  1750. | | | | | | | | | + 0.10% erase
  1751. | | | | | | | | | + 0.10% _M_erase_aux
  1752. | | | | | | | | | + 0.10% std::_Rb_tree_rebalance_for_erase
  1753. | | | | | | | | + 0.05% set_state
  1754. | | | | | | | + 0.15% operator[]
  1755. | | | | | | | | + 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[]
  1756. | | | | | | | | + 0.05% _M_hash_code
  1757. | | | | | | | + 0.15% ObjectCacher::Object::data_lower_bound
  1758. | | | | | | | + 0.10% push_back
  1759. | | | | | | | | + 0.10% emplace_back<std::pair<long, ObjectCacher::BufferHead*> >
  1760. | | | | | | | | + 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*>&&)
  1761. | | | | | | | | + 0.10% _M_allocate
  1762. | | | | | | | | + 0.10% allocate
  1763. | | | | | | | | + 0.10% operator new
  1764. | | | | | | | | + 0.10% __GI___libc_malloc
  1765. | | | | | | | + 0.05% ~basic_string
  1766. | | | | | | | + 0.05% splice
  1767. | | | | | | | + 0.05% erase
  1768. | | | | | | | + 0.05% ceph::logging::SubsystemMap::should_gather
  1769. | | | | | | | + 0.05% ObjectCacher::Object::try_merge_bh
  1770. | | | | | | + 0.15% ~sobject_t
  1771. | | | | | | | + 0.15% ~object_t
  1772. | | | | | | | + 0.15% ~basic_string
  1773. | | | | | | | + 0.15% _M_dispose
  1774. | | | | | | + 0.05% sobject_t
  1775. | | | | | + 0.70% erase
  1776. | | | | | | + 0.70% erase
  1777. | | | | | | + 0.70% _M_erase
  1778. | | | | | | + 0.70% _M_erase
  1779. | | | | | | + 0.65% _M_deallocate_node
  1780. | | | | | | | + 0.60% destroy<std::__detail::_Hash_node<std::pair<std::basic_string<char> const, std::queue<librbd::LibrbdWriteback::write_result_d*> >, true> >
  1781. | | | | | | | | + 0.60% ~_Hash_node
  1782. | | | | | | | | + 0.60% ~pair
  1783. | | | | | | | | + 0.55% ~queue
  1784. | | | | | | | | | + 0.55% ~deque
  1785. | | | | | | | | | + 0.50% std::_Deque_base<librbd::LibrbdWriteback::write_result_d*, std::allocator<librbd::LibrbdWriteback::write_result_d*> >::~_Deque_base
  1786. | | | | | | | | | + 0.50% _M_destroy_nodes
  1787. | | | | | | | | | + 0.50% _M_deallocate_node
  1788. | | | | | | | | | + 0.50% deallocate
  1789. | | | | | | | | | + 0.45% _int_free
  1790. | | | | | | | | | | + 0.10% _L_unlock_4968
  1791. | | | | | | | | | | + 0.10% __lll_unlock_wake_private
  1792. | | | | | | | | | + 0.05% __GI___libc_free
  1793. | | | | | | | | + 0.05% ~basic_string
  1794. | | | | | | | + 0.05% deallocate
  1795. | | | | | | + 0.05% _M_bucket_index
  1796. | | | | | + 0.45% operator[]
  1797. | | | | | | + 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[]
  1798. | | | | | | + 0.30% _M_hash_code
  1799. | | | | | | | + 0.30% operator()
  1800. | | | | | | | + 0.30% hash
  1801. | | | | | | | + 0.20% std::_Hash_bytes
  1802. | | | | | | | + 0.10% shift_mix
  1803. | | | | | | + 0.15% _M_find_node
  1804. | | | | | | + 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
  1805. | | | | | + 0.25% push_back
  1806. | | | | | | + 0.25% _M_insert<librbd::LibrbdWriteback::write_result_d* const&>
  1807. | | | | | | + 0.25% _M_create_node<librbd::LibrbdWriteback::write_result_d* const&>
  1808. | | | | | | + 0.25% _M_get_node
  1809. | | | | | | + 0.25% allocate
  1810. | | | | | | + 0.25% operator new
  1811. | | | | | | + 0.20% __GI___libc_malloc
  1812. | | | | | | | + 0.05% _int_malloc
  1813. | | | | | | + 0.05% malloc@plt
  1814. | | | | | + 0.25% ObjectCacher::C_WriteCommit::~C_WriteCommit
  1815. | | | | | | + 0.10% _int_free
  1816. | | | | | | + 0.10% __GI___libc_free
  1817. | | | | | | + 0.05% ~C_WriteCommit
  1818. | | | | | + 0.05% should_gather
  1819. | | | | + 3.15% ~Locker
  1820. | | | | + 3.15% Mutex::Unlock
  1821. | | | | + 3.05% __GI___pthread_mutex_unlock
  1822. | | | | | + 3.05% __pthread_mutex_unlock_usercnt
  1823. | | | | | + 2.95% _L_unlock_697
  1824. | | | | | + 2.95% __lll_unlock_wake
  1825. | | | | + 0.10% _pre_unlock
  1826. | | | + 1.00% librbd::io::ObjectWriteRequest::~ObjectWriteRequest
  1827. | | | | + 0.80% ~ObjectWriteRequest
  1828. | | | | | + 0.60% ~AbstractObjectWriteRequest
  1829. | | | | | | + 0.40% ~ObjectWriteOperation
  1830. | | | | | | | + 0.40% librados::ObjectOperation::~ObjectOperation
  1831. | | | | | | | + 0.35% ~ObjectOperationImpl
  1832. | | | | | | | | + 0.35% ~ObjectOperation
  1833. | | | | | | | | + 0.30% ~vector
  1834. | | | | | | | | + 0.30% ~_Vector_base
  1835. | | | | | | | | + 0.30% _M_deallocate
  1836. | | | | | | | | + 0.30% deallocate
  1837. | | | | | | | | + 0.20% __GI___libc_free
  1838. | | | | | | | | + 0.10% _int_free
  1839. | | | | | | | + 0.05% _int_free
  1840. | | | | | | + 0.20% ~ObjectRequest
  1841. | | | | | | + 0.20% ~vector
  1842. | | | | | | + 0.20% ~_Vector_base
  1843. | | | | | | + 0.20% _M_deallocate
  1844. | | | | | | + 0.20% deallocate
  1845. | | | | | | + 0.20% __GI___libc_free
  1846. | | | | | + 0.20% ~list
  1847. | | | | | + 0.20% ~list
  1848. | | | | | + 0.20% ~_List_base
  1849. | | | | | + 0.20% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear
  1850. | | | | | + 0.10% _M_put_node
  1851. | | | | | | + 0.10% deallocate
  1852. | | | | | | + 0.05% _int_free
  1853. | | | | | | + 0.05% __GI___libc_free
  1854. | | | | | + 0.05% destroy<std::_List_node<ceph::buffer::ptr> >
  1855. | | | | + 0.20% _int_free
  1856. | | | | + 0.05% _L_lock_4780
  1857. | | | + 0.35% librbd::io::AbstractObjectWriteRequest::should_complete
  1858. | | | + 0.15% librbd::io::AbstractObjectWriteRequest::send_post_object_map_update
  1859. | | | + 0.15% RLocker
  1860. | | | + 0.15% RWLock::get_read
  1861. | | | + 0.10% pthread_rwlock_rdlock
  1862. | | + 0.50% put_unlock
  1863. | | | + 0.45% ~AioCompletionImpl
  1864. | | | | + 0.30% Mutex::~Mutex
  1865. | | | | | + 0.15% ~basic_string
  1866. | | | | | | + 0.15% _M_dispose
  1867. | | | | | | + 0.05% _int_free
  1868. | | | | | | + 0.05% __GI___libc_free
  1869. | | | | | + 0.10% __GI___pthread_mutex_destroy
  1870. | | | | + 0.10% ~item
  1871. | | | | + 0.05% ~list
  1872. | | | + 0.05% Mutex::Unlock
  1873. | | + 0.45% librbd::util::detail::rados_callback<librbd::io::AbstractObjectWriteRequest>
  1874. | | | + 0.40% rados_aio_get_return_value
  1875. | | | + 0.35% get_return_value
  1876. | | | + 0.25% Mutex::Lock
  1877. | | | | + 0.25% __GI___pthread_mutex_lock
  1878. | | | | + 0.25% _L_lock_791
  1879. | | | | + 0.25% __lll_lock_wait
  1880. | | | + 0.10% Mutex::Unlock
  1881. | | | + 0.10% __GI___pthread_mutex_unlock
  1882. | | | + 0.10% __pthread_mutex_unlock_usercnt
  1883. | | + 0.05% Signal
  1884. | + 0.30% _int_free
  1885. | + 0.05% _L_lock_4780
  1886. + 48.20% Wait
  1887. | + 48.20% pthread_cond_wait@@GLIBC_2.3.2
  1888. | + 1.55% __pthread_mutex_cond_lock
  1889. | + 1.55% _L_cond_lock_792
  1890. | + 1.55% __lll_lock_wait
  1891. + 0.25% ~vector
  1892. | + 0.25% ~_Vector_base
  1893. | + 0.25% _M_deallocate
  1894. | + 0.25% deallocate
  1895. | + 0.15% _int_free
  1896. | + 0.10% __GI___libc_free
  1897. + 0.20% PerfCounters::tinc
  1898. | + 0.10% inc
  1899. | | + 0.10% ceph_spin_lock
  1900. | | + 0.10% pthread_spin_lock
  1901. | + 0.05% add
  1902. + 0.20% Mutex::Lock
  1903. | + 0.10% __GI___pthread_mutex_lock
  1904. | + 0.10% _L_lock_791
  1905. | + 0.10% __lll_lock_wait
  1906. + 0.15% ceph_clock_now
  1907. | + 0.15% clock_gettime
  1908. | + 0.10% clock_gettime
  1909. + 0.10% _int_free
  1910. | + 0.05% free_perturb
  1911. + 0.05% should_gather
  1912. + 0.05% __GI___libc_free
  1913. + 0.05% _ZdlPv@plt
  1914. + 0.05% PerfCounters::dec
  1915. + 0.05% Mutex::Unlock
  1916.  
  1917. Thread: 9 (safe_timer) - 2000 samples
  1918.  
  1919. + 100.00% clone
  1920. + 100.00% start_thread
  1921. + 100.00% SafeTimerThread::entry
  1922. + 100.00% SafeTimer::timer_thread
  1923. + 100.00% Wait
  1924. + 100.00% pthread_cond_wait@@GLIBC_2.3.2
  1925.  
  1926. Thread: 10 (safe_timer) - 2000 samples
  1927.  
  1928. + 100.00% clone
  1929. + 100.00% start_thread
  1930. + 100.00% SafeTimerThread::entry
  1931. + 100.00% SafeTimer::timer_thread
  1932. + 100.00% Wait
  1933. + 100.00% pthread_cond_wait@@GLIBC_2.3.2
  1934.  
  1935. Thread: 11 (fn_anonymous) - 2000 samples
  1936.  
  1937. + 100.00% clone
  1938. + 100.00% start_thread
  1939. + 100.00% Finisher::finisher_thread_entry
  1940. + 100.00% Wait
  1941. + 100.00% pthread_cond_wait@@GLIBC_2.3.2
  1942.  
  1943. Thread: 12 (safe_timer) - 2000 samples
  1944.  
  1945. + 100.00% clone
  1946. + 100.00% start_thread
  1947. + 100.00% SafeTimerThread::entry
  1948. + 100.00% SafeTimer::timer_thread
  1949. + 100.00% WaitUntil
  1950. + 100.00% pthread_cond_timedwait@@GLIBC_2.3.2
  1951.  
  1952. Thread: 13 (ms_local) - 2000 samples
  1953.  
  1954. + 100.00% clone
  1955. + 100.00% start_thread
  1956. + 100.00% DispatchQueue::LocalDeliveryThread::entry
  1957. + 100.00% DispatchQueue::run_local_delivery
  1958. + 100.00% Wait
  1959. + 100.00% pthread_cond_wait@@GLIBC_2.3.2
  1960.  
  1961. Thread: 14 (ms_dispatch) - 2000 samples
  1962.  
  1963. + 100.00% clone
  1964. + 100.00% start_thread
  1965. + 100.00% DispatchQueue::DispatchThread::entry
  1966. + 100.00% DispatchQueue::entry
  1967. + 100.00% Wait
  1968. + 100.00% pthread_cond_wait@@GLIBC_2.3.2
  1969.  
  1970. Thread: 15 (fio) - 2000 samples
  1971.  
  1972. + 100.00% clone
  1973. + 100.00% start_thread
  1974. + 100.00% std::(anonymous namespace)::execute_native_thread_routine
  1975. + 100.00% ceph::timer_detail::timer<ceph::time_detail::mono_clock>::timer_thread
  1976. + 100.00% wait_until<ceph::time_detail::mono_clock, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> > >
  1977. + 100.00% __wait_until_impl<std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> > >
  1978. + 100.00% __gthread_cond_timedwait
  1979. + 100.00% pthread_cond_timedwait@@GLIBC_2.3.2
  1980.  
  1981. Thread: 16 (msgr-worker-2) - 2000 samples
  1982.  
  1983. + 100.00% clone
  1984. + 100.00% start_thread
  1985. + 100.00% std::(anonymous namespace)::execute_native_thread_routine
  1986. + 100.00% NetworkStack::__lambda4::operator()
  1987. + 99.95% EventCenter::process_events
  1988. + 73.00% EpollDriver::event_wait
  1989. | + 72.55% epoll_wait
  1990. | + 0.40% resize
  1991. | | + 0.40% std::vector<FiredFileEvent, std::allocator<FiredFileEvent> >::_M_default_append
  1992. | | + 0.30% _M_allocate
  1993. | | + 0.30% allocate
  1994. | | + 0.30% operator new
  1995. | | + 0.20% __GI___libc_malloc
  1996. | | + 0.05% _int_malloc
  1997. | + 0.05% epoll_wait@plt
  1998. + 13.00% AsyncConnection::process
  1999. | + 5.90% DispatchQueue::fast_dispatch
  2000. | | + 5.50% ms_fast_dispatch
  2001. | | | + 5.45% Objecter::ms_dispatch
  2002. | | | | + 5.45% Objecter::handle_osd_op_reply
  2003. | | | | + 2.60% Objecter::_finish_op
  2004. | | | | | + 1.35% RefCountedObject::put
  2005. | | | | | | + 1.30% Objecter::Op::~Op
  2006. | | | | | | | + 0.90% ~Op
  2007. | | | | | | | | + 0.75% std::vector<OSDOp, std::allocator<OSDOp> >::~vector
  2008. | | | | | | | | | + 0.50% ~_Vector_base
  2009. | | | | | | | | | | + 0.50% _M_deallocate
  2010. | | | | | | | | | | + 0.50% deallocate
  2011. | | | | | | | | | | + 0.40% _int_free
  2012. | | | | | | | | | | | + 0.15% _L_lock_4780
  2013. | | | | | | | | | | | | + 0.15% __lll_lock_wait_private
  2014. | | | | | | | | | | | + 0.05% _L_unlock_4968
  2015. | | | | | | | | | | + 0.10% __GI___libc_free
  2016. | | | | | | | | | + 0.20% _Destroy<OSDOp*, OSDOp>
  2017. | | | | | | | | | + 0.20% _Destroy<OSDOp*>
  2018. | | | | | | | | | + 0.20% __destroy<OSDOp*>
  2019. | | | | | | | | | + 0.20% _Destroy<OSDOp>
  2020. | | | | | | | | | + 0.20% ~OSDOp
  2021. | | | | | | | | | + 0.20% ~list
  2022. | | | | | | | | | + 0.20% ~list
  2023. | | | | | | | | | + 0.20% ~_List_base
  2024. | | | | | | | | | + 0.20% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear
  2025. | | | | | | | | | + 0.15% destroy<std::_List_node<ceph::buffer::ptr> >
  2026. | | | | | | | | | | + 0.15% ~_List_node
  2027. | | | | | | | | | | + 0.05% ~ptr
  2028. | | | | | | | | | + 0.05% _M_put_node
  2029. | | | | | | | | + 0.15% ~op_target_t
  2030. | | | | | | | | + 0.15% ~vector
  2031. | | | | | | | | + 0.15% ~_Vector_base
  2032. | | | | | | | | + 0.15% _M_deallocate
  2033. | | | | | | | | + 0.15% deallocate
  2034. | | | | | | | | + 0.15% _int_free
  2035. | | | | | | | + 0.35% _int_free
  2036. | | | | | | | + 0.10% _L_lock_4780
  2037. | | | | | | | | + 0.10% __lll_lock_wait_private
  2038. | | | | | | | + 0.05% _L_unlock_4968
  2039. | | | | | | + 0.05% dec
  2040. | | | | | + 0.90% put_op_budget
  2041. | | | | | | + 0.80% put_op_budget_bytes
  2042. | | | | | | | + 0.80% Throttle::put
  2043. | | | | | | | + 0.20% PerfCounters::inc
  2044. | | | | | | | | + 0.15% add
  2045. | | | | | | | | + 0.15% ceph_spin_lock
  2046. | | | | | | | | + 0.15% pthread_spin_lock
  2047. | | | | | | | + 0.15% Locker
  2048. | | | | | | | | + 0.10% Mutex::Lock
  2049. | | | | | | | | + 0.10% __GI___pthread_mutex_lock
  2050. | | | | | | | | + 0.10% _L_lock_791
  2051. | | | | | | | | + 0.10% __lll_lock_wait
  2052. | | | | | | | + 0.10% read
  2053. | | | | | | | | + 0.05% AO_load_read
  2054. | | | | | | | + 0.05% ~Locker
  2055. | | | | | | | + 0.05% PerfCounters::set
  2056. | | | | | | + 0.10% Objecter::calc_op_budget
  2057. | | | | | | + 0.05% begin
  2058. | | | | | + 0.25% Objecter::_session_op_remove
  2059. | | | | | | + 0.20% erase
  2060. | | | | | | | + 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
  2061. | | | | | | | + 0.10% erase
  2062. | | | | | | | + 0.10% _M_erase_aux
  2063. | | | | | | | + 0.05% erase
  2064. | | | | | | | + 0.05% clear
  2065. | | | | | | + 0.05% Objecter::put_session
  2066. | | | | | + 0.05% PerfCounters::dec
  2067. | | | | + 0.80% Context::complete
  2068. | | | | | + 0.70% librados::IoCtxImpl::C_aio_Complete::finish
  2069. | | | | | + 0.60% queue
  2070. | | | | | | + 0.40% pthread_cond_broadcast@@GLIBC_2.3.2
  2071. | | | | | | + 0.10% Mutex::Lock
  2072. | | | | | | | + 0.05% __GI___pthread_mutex_lock
  2073. | | | | | | + 0.05% Mutex::Unlock
  2074. | | | | | + 0.05% librados::IoCtxImpl::complete_aio_write
  2075. | | | | | + 0.05% Signal
  2076. | | | | + 0.65% shunique_lock
  2077. | | | | | + 0.65% lock_shared
  2078. | | | | | + 0.65% boost::shared_mutex::lock_shared
  2079. | | | | | + 0.25% boost::this_thread::disable_interruption::disable_interruption()
  2080. | | | | | | + 0.25% boost::this_thread::interruption_enabled()
  2081. | | | | | | + 0.15% __GI___pthread_getspecific
  2082. | | | | | | + 0.10% boost::detail::get_current_thread_data()
  2083. | | | | | | + 0.05% boost::thread_detail::enter_once_region(boost::once_flag&)
  2084. | | | | | + 0.20% unique_lock
  2085. | | | | | | + 0.20% boost::unique_lock<boost::mutex>::lock
  2086. | | | | | | + 0.15% lock
  2087. | | | | | | + 0.15% pthread_mutex_lock
  2088. | | | | | | + 0.15% __GI___pthread_mutex_lock
  2089. | | | | | | + 0.05% _L_lock_791
  2090. | | | | | + 0.05% boost::this_thread::disable_interruption::~disable_interruption()
  2091. | | | | | + 0.05% _ZN5boost11this_thread20disable_interruptionD1Ev@plt
  2092. | | | | + 0.45% RefCountedObject::put
  2093. | | | | | + 0.45% MOSDOpReply::~MOSDOpReply
  2094. | | | | | + 0.30% ~MOSDOpReply
  2095. | | | | | | + 0.25% Message::~Message
  2096. | | | | | | | + 0.20% ~list
  2097. | | | | | | | + 0.20% ~list
  2098. | | | | | | | + 0.20% ~_List_base
  2099. | | | | | | | + 0.20% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear
  2100. | | | | | | | + 0.20% destroy<std::_List_node<ceph::buffer::ptr> >
  2101. | | | | | | | + 0.20% ~_List_node
  2102. | | | | | | | + 0.15% ~ptr
  2103. | | | | | | | + 0.15% ceph::buffer::ptr::release
  2104. | | | | | | | + 0.10% ceph::buffer::raw_combined::~raw_combined
  2105. | | | | | | | | + 0.05% ~raw_combined
  2106. | | | | | | | + 0.05% _int_free
  2107. | | | | | | + 0.05% ~vector
  2108. | | | | | + 0.05% _int_free
  2109. | | | | + 0.20% ceph::shunique_lock<boost::shared_mutex>::unlock
  2110. | | | | | + 0.20% boost::shared_mutex::unlock_shared
  2111. | | | | | + 0.10% release_waiters
  2112. | | | | | | + 0.05% notify_one
  2113. | | | | | | + 0.05% notify_all
  2114. | | | | | + 0.05% ~unique_lock
  2115. | | | | | + 0.05% unique_lock
  2116. | | | | + 0.15% std::unique_lock<boost::shared_mutex>::unlock
  2117. | | | | | + 0.15% unlock
  2118. | | | | | + 0.10% release_waiters
  2119. | | | | | | + 0.05% notify_one
  2120. | | | | | | + 0.05% notify_all
  2121. | | | | | + 0.05% ~unique_lock
  2122. | | | | + 0.15% _int_free
  2123. | | | | + 0.10% unique_lock
  2124. | | | | | + 0.10% std::unique_lock<boost::shared_mutex>::lock
  2125. | | | | | + 0.10% boost::shared_mutex::lock
  2126. | | | | | + 0.10% unique_lock
  2127. | | | | | + 0.10% boost::unique_lock<boost::mutex>::lock
  2128. | | | | | + 0.10% lock
  2129. | | | | | + 0.10% pthread_mutex_lock
  2130. | | | | | + 0.10% __GI___pthread_mutex_lock
  2131. | | | | + 0.10% std::unique_lock<std::mutex>::unlock
  2132. | | | | | + 0.05% unlock
  2133. | | | | + 0.05% lock
  2134. | | | | + 0.05% find
  2135. | | | | + 0.05% Objecter::OSDSession::get_lock
  2136. | | | + 0.05% ceph_clock_now
  2137. | | + 0.40% DispatchQueue::post_dispatch
  2138. | | + 0.40% DispatchQueue::dispatch_throttle_release
  2139. | | + 0.40% Throttle::put
  2140. | | + 0.10% ~Locker
  2141. | | | + 0.05% Mutex::Unlock
  2142. | | + 0.10% PerfCounters::inc
  2143. | | | + 0.05% add
  2144. | | + 0.05% read
  2145. | | + 0.05% PerfCounters::set
  2146. | | + 0.05% Locker
  2147. | + 3.05% AsyncConnection::read_until
  2148. | | + 2.90% AsyncConnection::read_bulk
  2149. | | + 2.75% read
  2150. | | + 2.75% PosixConnectedSocketImpl::read
  2151. | | + 2.65% read
  2152. | | + 2.65% read
  2153. | + 1.90% decode_message
  2154. | | + 1.00% MOSDOpReply::decode_payload
  2155. | | | + 0.60% decode
  2156. | | | | + 0.50% decode
  2157. | | | | | + 0.45% decode
  2158. | | | | | | + 0.35% ceph::buffer::list::iterator::copy
  2159. | | | | | | | + 0.30% ceph::buffer::list::iterator_impl<false>::copy
  2160. | | | | | | | + 0.30% std::string::append
  2161. | | | | | | | + 0.20% std::string::reserve
  2162. | | | | | | | | + 0.15% std::string::_Rep::_M_clone
  2163. | | | | | | | | | + 0.15% std::string::_Rep::_S_create
  2164. | | | | | | | | | + 0.05% allocate
  2165. | | | | | | | | + 0.05% _M_dispose
  2166. | | | | | | | + 0.05% _M_set_length_and_sharable
  2167. | | | | | | + 0.10% decode
  2168. | | | | | | + 0.10% decode_raw<ceph_le32>
  2169. | | | | | | + 0.10% ceph::buffer::list::iterator_impl<false>::copy
  2170. | | | | | | + 0.05% ceph::buffer::ptr::copy_out
  2171. | | | | | + 0.05% ceph::buffer::list::iterator_impl<false>::copy
  2172. | | | | + 0.05% pg_t::decode
  2173. | | | | + 0.05% decode_raw<ceph_le64>
  2174. | | | + 0.25% std::vector<OSDOp, std::allocator<OSDOp> >::resize
  2175. | | | | + 0.25% std::vector<OSDOp, std::allocator<OSDOp> >::_M_default_append
  2176. | | | | + 0.10% __uninitialized_default_n_a<OSDOp*, unsigned long, OSDOp>
  2177. | | | | | + 0.10% __uninitialized_default_n<OSDOp*, unsigned long>
  2178. | | | | | + 0.10% std::__uninitialized_default_n_1<false>::__uninit_default_n<OSDOp*, unsigned long>
  2179. | | | | | + 0.10% _Construct<OSDOp>
  2180. | | | | | + 0.10% memset
  2181. | | | | + 0.10% _M_allocate
  2182. | | | | + 0.10% allocate
  2183. | | | | + 0.10% operator new
  2184. | | | | + 0.10% __GI___libc_malloc
  2185. | | | + 0.05% OSDOp::split_osd_op_vector_out_data
  2186. | | + 0.25% ceph::buffer::list::crc32c
  2187. | | | + 0.15% set_crc
  2188. | | | | + 0.15% operator[]
  2189. | | | | + 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<>&&)
  2190. | | | | | + 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
  2191. | | | | | + 0.05% _M_insert_node
  2192. | | | | + 0.05% tuple
  2193. | | | + 0.05% ceph_crc32c
  2194. | | + 0.15% set_payload
  2195. | | | + 0.15% ceph::buffer::list::claim
  2196. | | | + 0.15% ceph::buffer::list::claim_append
  2197. | | | + 0.05% splice
  2198. | | | + 0.05% make_shareable
  2199. | | + 0.15% MOSDOpReply::MOSDOpReply
  2200. | | | + 0.10% Message::Message
  2201. | | | | + 0.05% list
  2202. | | | + 0.05% request_redirect_t
  2203. | | + 0.10% set_data
  2204. | | | + 0.05% share
  2205. | | + 0.10% operator new
  2206. | | | + 0.10% __GI___libc_malloc
  2207. | | | + 0.05% _int_malloc
  2208. | | + 0.05% set_middle
  2209. | + 0.40% ceph::buffer::list::clear
  2210. | | + 0.25% begin
  2211. | | | + 0.20% ceph::buffer::list::iterator_impl<false>::advance
  2212. | | | + 0.05% ceph::buffer::list::iterator_impl<false>::iterator_impl
  2213. | | + 0.05% ceph::buffer::ptr::operator=(ceph::buffer::ptr&&)
  2214. | + 0.20% ceph::buffer::create
  2215. | | + 0.20% ceph::buffer::create_aligned
  2216. | | + 0.20% create
  2217. | | + 0.20% allocate_aligned
  2218. | | + 0.20% __posix_memalign
  2219. | | + 0.20% __GI___libc_malloc
  2220. | | + 0.10% _int_malloc
  2221. | + 0.20% Throttle::get_or_fail
  2222. | | + 0.05% _should_wait
  2223. | | + 0.05% PerfCounters::set
  2224. | | + 0.05% PerfCounters::inc
  2225. | | + 0.05% Locker
  2226. | + 0.15% ~intrusive_ptr
  2227. | | + 0.10% _ZNK16RefCountedObject3putEv@plt
  2228. | | + 0.05% RefCountedObject::put
  2229. | + 0.15% lock_guard
  2230. | | + 0.15% lock
  2231. | | + 0.15% __gthread_mutex_lock
  2232. | | + 0.15% __GI___pthread_mutex_lock
  2233. | + 0.15% ceph_clock_now
  2234. | | + 0.05% clock_gettime
  2235. | + 0.15% ceph::buffer::ptr::c_str
  2236. | | + 0.05% ceph::buffer::raw::get_data
  2237. | + 0.10% _ZN13DispatchQueue13post_dispatchEP7Messagem@plt
  2238. | + 0.05% should_gather
  2239. | + 0.05% read
  2240. | + 0.05% now
  2241. | + 0.05% intrusive_ptr
  2242. | + 0.05% ceph_crc32c
  2243. | + 0.05% ceph::buffer::list::push_back
  2244. | + 0.05% _Z14decode_messageP11CephContextiR15ceph_msg_headerR15ceph_msg_footerRN4ceph6buffer4listES8_S8_@plt
  2245. + 11.90% AsyncConnection::handle_write
  2246. | + 7.65% AsyncConnection::write_message
  2247. | | + 5.35% AsyncConnection::_try_send
  2248. | | | + 5.35% send
  2249. | | | + 5.35% PosixConnectedSocketImpl::send
  2250. | | | + 5.15% do_sendmsg
  2251. | | | | + 5.10% sendmsg
  2252. | | | | + 0.05% __pthread_enable_asynccancel
  2253. | | | + 0.20% clear
  2254. | | | + 0.15% ceph::buffer::ptr::operator=(ceph::buffer::ptr&&)
  2255. | | | | + 0.15% ceph::buffer::ptr::release
  2256. | | | | + 0.10% ceph::buffer::raw_combined::~raw_combined
  2257. | | | | | + 0.05% ~raw_combined
  2258. | | | | | + 0.05% operator delete
  2259. | | | | + 0.05% _int_free
  2260. | | | + 0.05% clear
  2261. | | + 1.60% RefCountedObject::put
  2262. | | | + 1.60% MOSDOp::~MOSDOp
  2263. | | | + 0.95% ~MOSDOp
  2264. | | | | + 0.65% ~vector
  2265. | | | | | + 0.45% ~_Vector_base
  2266. | | | | | | + 0.45% _M_deallocate
  2267. | | | | | | + 0.40% deallocate
  2268. | | | | | | + 0.35% _int_free
  2269. | | | | | | | + 0.15% _L_unlock_4968
  2270. | | | | | | | | + 0.15% __lll_unlock_wake_private
  2271. | | | | | | | + 0.10% _L_lock_4780
  2272. | | | | | | | + 0.10% __lll_lock_wait_private
  2273. | | | | | | + 0.05% __GI___libc_free
  2274. | | | | | + 0.20% _Destroy<OSDOp*, OSDOp>
  2275. | | | | | + 0.20% _Destroy<OSDOp*>
  2276. | | | | | + 0.20% __destroy<OSDOp*>
  2277. | | | | | + 0.20% _Destroy<OSDOp>
  2278. | | | | | + 0.20% ~OSDOp
  2279. | | | | | + 0.20% ~list
  2280. | | | | | + 0.15% ~list
  2281. | | | | | | + 0.15% ~_List_base
  2282. | | | | | | + 0.15% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear
  2283. | | | | | | + 0.10% _M_put_node
  2284. | | | | | | | + 0.10% deallocate
  2285. | | | | | | | + 0.10% __GI___libc_free
  2286. | | | | | | + 0.05% destroy<std::_List_node<ceph::buffer::ptr> >
  2287. | | | | | + 0.05% ~ptr
  2288. | | | | + 0.30% ~MOSDFastDispatchOp
  2289. | | | | + 0.30% Message::~Message
  2290. | | | | + 0.25% ~list
  2291. | | | | | + 0.25% ~list
  2292. | | | | | + 0.25% ~_List_base
  2293. | | | | | + 0.25% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear
  2294. | | | | | + 0.20% destroy<std::_List_node<ceph::buffer::ptr> >
  2295. | | | | | | + 0.20% ~_List_node
  2296. | | | | | | + 0.20% ~ptr
  2297. | | | | | | + 0.20% ceph::buffer::ptr::release
  2298. | | | | | | + 0.10% ceph::buffer::raw_combined::~raw_combined
  2299. | | | | | | + 0.05% operator delete
  2300. | | | | | + 0.05% _M_put_node
  2301. | | | | + 0.05% ~intrusive_ptr
  2302. | | | + 0.60% _int_free
  2303. | | | | + 0.20% _L_lock_4780
  2304. | | | | | + 0.20% __lll_lock_wait_private
  2305. | | | | + 0.15% _L_unlock_4968
  2306. | | | | + 0.15% __lll_unlock_wake_private
  2307. | | | + 0.05% __GI___libc_free
  2308. | | + 0.40% ceph::buffer::list::append
  2309. | | | + 0.20% ceph::buffer::ptr::append
  2310. | | | | + 0.15% maybe_inline_memcpy
  2311. | | | | + 0.10% memcpy
  2312. | | | | + 0.10% __memcpy_ssse3_back
  2313. | | | + 0.05% set_length
  2314. | | | + 0.05% create
  2315. | | | + 0.05% ceph::buffer::list::append
  2316. | | + 0.10% inc
  2317. | | | + 0.10% ceph_spin_lock
  2318. | | | + 0.10% pthread_spin_lock
  2319. | | + 0.10% ceph::buffer::list::claim_append
  2320. | | | + 0.10% make_shareable
  2321. | | | + 0.05% ceph::buffer::ptr::make_shareable
  2322. | | + 0.05% _ZNK16RefCountedObject3putEv@plt
  2323. | + 3.50% AsyncConnection::prepare_send_message
  2324. | | + 3.40% Message::encode
  2325. | | | + 2.60% MOSDOp::encode_payload
  2326. | | | | + 2.20% encode
  2327. | | | | | + 1.60% spg_t::encode
  2328. | | | | | | + 1.15% encode
  2329. | | | | | | | + 1.00% encode_raw<unsigned char>
  2330. | | | | | | | | + 1.00% ceph::buffer::list::append
  2331. | | | | | | | | + 0.60% create
  2332. | | | | | | | | | + 0.55% allocate_aligned
  2333. | | | | | | | | | | + 0.55% __posix_memalign
  2334. | | | | | | | | | | + 0.55% __GI___libc_malloc
  2335. | | | | | | | | | | + 0.50% _int_malloc
  2336. | | | | | | | | | | + 0.35% malloc_consolidate
  2337. | | | | | | | | | + 0.05% raw_combined
  2338. | | | | | | | | + 0.15% ceph::buffer::list::append
  2339. | | | | | | | | | + 0.10% ceph::buffer::ptr::ptr
  2340. | | | | | | | | + 0.05% ~ptr
  2341. | | | | | | | | + 0.05% ceph::buffer::ptr::append
  2342. | | | | | | | + 0.10% encode
  2343. | | | | | | | | + 0.10% encode
  2344. | | | | | | | | + 0.05% encode_raw<unsigned char>
  2345. | | | | | | | | + 0.05% encode_raw<signed char>
  2346. | | | | | | | + 0.05% encode_raw<ceph_le32>
  2347. | | | | | | + 0.20% ceph::buffer::list::iterator::copy_in
  2348. | | | | | | | + 0.10% _ZN4ceph6buffer3ptr7copy_inEjjPKcb@plt
  2349. | | | | | | | + 0.05% ceph::buffer::list::iterator_impl<false>::advance
  2350. | | | | | | + 0.10% end
  2351. | | | | | | | + 0.10% ceph::buffer::list::iterator::iterator
  2352. | | | | | | | + 0.10% iterator_impl
  2353. | | | | | | + 0.10% _ZN4ceph6buffer4list8iterator7copy_inEjPKc@plt
  2354. | | | | | | + 0.05% ceph::buffer::list::iterator::advance
  2355. | | | | | + 0.30% object_locator_t::encode
  2356. | | | | | | + 0.20% encode
  2357. | | | | | | | + 0.10% encode_raw<ceph_le64>
  2358. | | | | | | | | + 0.05% ceph::buffer::list::append
  2359. | | | | | | | + 0.05% encode_raw<unsigned char>
  2360. | | | | | | | + 0.05% encode_raw<ceph_le32>
  2361. | | | | | | + 0.05% end
  2362. | | | | | | + 0.05% ceph::buffer::list::iterator::copy_in
  2363. | | | | | + 0.20% encode
  2364. | | | | | | + 0.20% encode
  2365. | | | | | | + 0.20% ceph::buffer::list::append
  2366. | | | | | | + 0.10% ceph::buffer::ptr::append
  2367. | | | | | | | + 0.10% maybe_inline_memcpy
  2368. | | | | | | | + 0.10% memcpy
  2369. | | | | | | | + 0.10% __memcpy_ssse3_back
  2370. | | | | | | + 0.05% ceph::buffer::ptr::unused_tail_length
  2371. | | | | | + 0.05% encode_raw<ceph_osd_op>
  2372. | | | | | + 0.05% encode_raw<ceph_le32>
  2373. | | | | + 0.20% OSDOp::merge_osd_op_vector_in_data
  2374. | | | | | + 0.05% size
  2375. | | | | + 0.10% encode<osd_reqid_t, denc_traits<osd_reqid_t> >
  2376. | | | | | + 0.05% get_contiguous_appender
  2377. | | | | | + 0.05% ceph::buffer::list::contiguous_appender::~contiguous_appender
  2378. | | | | + 0.05% _ZN5OSDOp27merge_osd_op_vector_in_dataERSt6vectorIS_SaIS_EERN4ceph6buffer4listE@plt
  2379. | | | | + 0.05% MOSDOp::get_object_locator
  2380. | | | + 0.65% calc_data_crc
  2381. | | | | + 0.65% ceph::buffer::list::crc32c
  2382. | | | | + 0.35% ceph_crc32c
  2383. | | | | | + 0.35% ceph_crc32c_intel_fast
  2384. | | | | | + 0.35% None
  2385. | | | | | + 0.35% None
  2386. | | | | | + 0.35% crc32_iscsi_00
  2387. | | | | + 0.25% set_crc
  2388. | | | | | + 0.25% operator[]
  2389. | | | | | + 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<>&&)
  2390. | | | | | + 0.25% _M_create_node<const std::piecewise_construct_t&, std::tuple<const std::pair<long unsigned int, long unsigned int>&>, std::tuple<> >
  2391. | | | | | + 0.25% _M_get_node
  2392. | | | | | + 0.25% allocate
  2393. | | | | | + 0.25% operator new
  2394. | | | | | + 0.25% __GI___libc_malloc
  2395. | | | | | + 0.05% _int_malloc
  2396. | | | | + 0.05% get_crc
  2397. | | | + 0.10% calc_front_crc
  2398. | | | + 0.10% ceph::buffer::list::crc32c
  2399. | | | + 0.10% ceph_crc32c
  2400. | | | + 0.10% ceph_crc32c_intel_fast
  2401. | | | + 0.10% None
  2402. | | | + 0.10% None
  2403. | | | + 0.10% crc32_iscsi_00
  2404. | | + 0.10% ceph::buffer::list::append
  2405. | | + 0.10% push_back
  2406. | | + 0.10% _M_insert<ceph::buffer::ptr const&>
  2407. | | + 0.10% _M_create_node<ceph::buffer::ptr const&>
  2408. | | + 0.10% _M_get_node
  2409. | | + 0.10% allocate
  2410. | | + 0.10% operator new
  2411. | | + 0.10% __GI___libc_malloc
  2412. | + 0.45% _get_next_outgoing
  2413. | | + 0.30% erase
  2414. | | | + 0.20% _M_erase
  2415. | | | | + 0.15% _M_put_node
  2416. | | | | | + 0.15% deallocate
  2417. | | | | | + 0.10% _int_free
  2418. | | | | | + 0.05% __GI___libc_free
  2419. | | | | + 0.05% std::__detail::_List_node_base::_M_unhook
  2420. | | | + 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
  2421. | | | + 0.10% erase
  2422. | | | + 0.10% _M_erase_aux
  2423. | | | + 0.10% clear
  2424. | | | + 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
  2425. | | | + 0.10% _M_destroy_node
  2426. | | | + 0.05% destroy<std::_Rb_tree_node<std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*> > > > >
  2427. | | | + 0.05% _M_put_node
  2428. | | + 0.10% ceph::buffer::list::swap
  2429. | | + 0.05% swap
  2430. | + 0.10% lock
  2431. | | + 0.10% __gthread_mutex_lock
  2432. | | + 0.10% __GI___pthread_mutex_lock
  2433. | + 0.05% ~list
  2434. | + 0.05% read
  2435. | + 0.05% _has_next_outgoing
  2436. + 1.25% C_handle_notify::do_request
  2437. | + 1.25% read
  2438. | + 1.25% read
  2439. + 0.15% ~deque
  2440. | + 0.10% std::_Deque_base<EventCallback*, std::allocator<EventCallback*> >::~_Deque_base
  2441. | + 0.05% _M_deallocate_map
  2442. + 0.10% ~vector
  2443. | + 0.10% ~_Vector_base
  2444. | + 0.10% _M_deallocate
  2445. | + 0.10% deallocate
  2446. | + 0.10% _int_free
  2447. + 0.10% pop_front
  2448. + 0.10% now
  2449. | + 0.05% clock_gettime
  2450. + 0.10% _get_file_event
  2451. + 0.05% C_handle_write::do_request
  2452.  
  2453. Thread: 17 (msgr-worker-1) - 2000 samples
  2454.  
  2455. + 100.00% clone
  2456. + 100.00% start_thread
  2457. + 100.00% std::(anonymous namespace)::execute_native_thread_routine
  2458. + 100.00% NetworkStack::__lambda4::operator()
  2459. + 99.85% EventCenter::process_events
  2460. + 75.40% EpollDriver::event_wait
  2461. | + 75.10% epoll_wait
  2462. | | + 0.05% __libc_enable_asynccancel
  2463. | + 0.30% resize
  2464. | + 0.30% std::vector<FiredFileEvent, std::allocator<FiredFileEvent> >::_M_default_append
  2465. | + 0.30% _M_allocate
  2466. | + 0.30% allocate
  2467. | + 0.30% operator new
  2468. | + 0.25% __GI___libc_malloc
  2469. | + 0.05% _int_malloc
  2470. + 11.35% AsyncConnection::handle_write
  2471. | + 7.20% AsyncConnection::write_message
  2472. | | + 5.50% AsyncConnection::_try_send
  2473. | | | + 5.35% send
  2474. | | | | + 5.35% PosixConnectedSocketImpl::send
  2475. | | | | + 4.85% do_sendmsg
  2476. | | | | | + 4.85% sendmsg
  2477. | | | | + 0.30% clear
  2478. | | | | | + 0.25% ceph::buffer::ptr::operator=(ceph::buffer::ptr&&)
  2479. | | | | | | + 0.25% ceph::buffer::ptr::release
  2480. | | | | | | + 0.20% ceph::buffer::raw_combined::~raw_combined
  2481. | | | | | | + 0.10% ~raw_combined
  2482. | | | | | | + 0.10% ~raw
  2483. | | | | | | + 0.10% ~map
  2484. | | | | | | + 0.10% ~_Rb_tree
  2485. | | | | | | + 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
  2486. | | | | | + 0.05% clear
  2487. | | | | + 0.10% ~list
  2488. | | | | | + 0.05% ~ptr
  2489. | | | | | + 0.05% ~list
  2490. | | | | + 0.05% ceph::buffer::ptr::c_str
  2491. | | | + 0.10% should_gather
  2492. | | | + 0.05% size
  2493. | | + 0.95% RefCountedObject::put
  2494. | | | + 0.90% MOSDOp::~MOSDOp
  2495. | | | | + 0.65% ~MOSDOp
  2496. | | | | | + 0.45% ~vector
  2497. | | | | | | + 0.35% ~_Vector_base
  2498. | | | | | | | + 0.35% _M_deallocate
  2499. | | | | | | | + 0.35% deallocate
  2500. | | | | | | | + 0.30% _int_free
  2501. | | | | | | | | + 0.10% _L_lock_4780
  2502. | | | | | | | | | + 0.10% __lll_lock_wait_private
  2503. | | | | | | | | + 0.05% _L_unlock_4968
  2504. | | | | | | | + 0.05% operator delete
  2505. | | | | | | + 0.10% _Destroy<OSDOp*, OSDOp>
  2506. | | | | | | + 0.10% _Destroy<OSDOp*>
  2507. | | | | | | + 0.10% __destroy<OSDOp*>
  2508. | | | | | | + 0.10% _Destroy<OSDOp>
  2509. | | | | | | + 0.10% ~OSDOp
  2510. | | | | | | + 0.10% ~list
  2511. | | | | | | + 0.10% ~list
  2512. | | | | | | + 0.10% ~_List_base
  2513. | | | | | | + 0.10% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear
  2514. | | | | | | + 0.10% _M_put_node
  2515. | | | | | | + 0.10% deallocate
  2516. | | | | | | + 0.05% _int_free
  2517. | | | | | | + 0.05% __GI___libc_free
  2518. | | | | | + 0.20% ~MOSDFastDispatchOp
  2519. | | | | | + 0.20% Message::~Message
  2520. | | | | | + 0.15% ~list
  2521. | | | | | | + 0.15% ~list
  2522. | | | | | | + 0.15% ~_List_base
  2523. | | | | | | + 0.15% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear
  2524. | | | | | | + 0.10% destroy<std::_List_node<ceph::buffer::ptr> >
  2525. | | | | | | | + 0.10% ~_List_node
  2526. | | | | | | | + 0.10% ~ptr
  2527. | | | | | | | + 0.10% ceph::buffer::ptr::release
  2528. | | | | | | | + 0.05% _int_free
  2529. | | | | | | + 0.05% _M_put_node
  2530. | | | | | + 0.05% ~intrusive_ptr
  2531. | | | | + 0.20% _int_free
  2532. | | | | | + 0.15% _L_unlock_4968
  2533. | | | | | + 0.15% __lll_unlock_wake_private
  2534. | | | | + 0.05% __GI___libc_free
  2535. | | | + 0.05% dec
  2536. | | + 0.55% ceph::buffer::list::append
  2537. | | | + 0.20% create
  2538. | | | | + 0.20% allocate_aligned
  2539. | | | | + 0.10% __posix_memalign
  2540. | | | | | + 0.10% __GI___libc_malloc
  2541. | | | | | + 0.05% _int_malloc
  2542. | | | | + 0.05% pick_a_shard
  2543. | | | | + 0.05% operator+=
  2544. | | | + 0.20% ceph::buffer::list::append
  2545. | | | | + 0.20% push_back
  2546. | | | | + 0.20% push_back
  2547. | | | | + 0.20% _M_insert<ceph::buffer::ptr>
  2548. | | | | + 0.20% _M_create_node<ceph::buffer::ptr>
  2549. | | | | + 0.20% _M_get_node
  2550. | | | | + 0.20% allocate
  2551. | | | | + 0.20% operator new
  2552. | | | | + 0.20% __GI___libc_malloc
  2553. | | | | + 0.05% _int_malloc
  2554. | | | + 0.10% ceph::buffer::ptr::ptr
  2555. | | | | + 0.10% inc
  2556. | | | | + 0.10% AO_fetch_and_add_full
  2557. | | | + 0.05% ceph::buffer::ptr::append
  2558. | | + 0.10% _ZNK16RefCountedObject3putEv@plt
  2559. | | + 0.05% PerfCounters::inc
  2560. | | + 0.05% AuthNoneSessionHandler::sign_message
  2561. | + 3.25% AsyncConnection::prepare_send_message
  2562. | | + 3.25% Message::encode
  2563. | | + 2.35% MOSDOp::encode_payload
  2564. | | | + 1.75% encode
  2565. | | | | + 0.75% spg_t::encode
  2566. | | | | | + 0.70% encode
  2567. | | | | | | + 0.65% encode_raw<unsigned char>
  2568. | | | | | | | + 0.65% ceph::buffer::list::append
  2569. | | | | | | | + 0.30% create
  2570. | | | | | | | | + 0.30% allocate_aligned
  2571. | | | | | | | | + 0.20% __posix_memalign
  2572. | | | | | | | | | + 0.20% __GI___libc_malloc
  2573. | | | | | | | | | + 0.15% _int_malloc
  2574. | | | | | | | | | + 0.15% malloc_consolidate
  2575. | | | | | | | | + 0.10% operator+=
  2576. | | | | | | | + 0.25% ceph::buffer::list::append
  2577. | | | | | | | | + 0.05% push_back
  2578. | | | | | | | | + 0.05% ceph::buffer::ptr::ptr
  2579. | | | | | | | | + 0.05% _ZN4ceph6buffer3ptrC1ERKS1_jj@plt
  2580. | | | | | | | + 0.05% ~ptr
  2581. | | | | | | + 0.05% encode
  2582. | | | | | + 0.05% ceph::buffer::list::iterator::advance
  2583. | | | | + 0.45% object_locator_t::encode
  2584. | | | | | + 0.25% encode
  2585. | | | | | | + 0.10% encode
  2586. | | | | | | | + 0.10% encode_raw<ceph_le32>
  2587. | | | | | | | + 0.10% ceph::buffer::list::append
  2588. | | | | | | | + 0.05% ceph::buffer::list::append
  2589. | | | | | | + 0.05% encode_raw<unsigned char>
  2590. | | | | | | + 0.05% encode_raw<ceph_le64>
  2591. | | | | | | + 0.05% encode_raw<ceph_le32>
  2592. | | | | | + 0.05% end
  2593. | | | | | + 0.05% ceph::buffer::list::iterator::copy_in
  2594. | | | | | + 0.05% _ZN4ceph6buffer4list13iterator_implILb0EE7advanceEi@plt
  2595. | | | | + 0.25% encode_raw<ceph_le32>
  2596. | | | | | + 0.20% ceph::buffer::list::append
  2597. | | | | | + 0.10% ceph::buffer::ptr::append
  2598. | | | | + 0.15% encode
  2599. | | | | | + 0.15% encode
  2600. | | | | | + 0.15% ceph::buffer::list::append
  2601. | | | | | + 0.10% ceph::buffer::ptr::append
  2602. | | | | | | + 0.10% maybe_inline_memcpy
  2603. | | | | | | + 0.10% memcpy
  2604. | | | | | | + 0.10% __memcpy_ssse3_back
  2605. | | | | | + 0.05% ceph::buffer::list::append
  2606. | | | | + 0.10% encode_raw<ceph_osd_op>
  2607. | | | | | + 0.10% ceph::buffer::list::append
  2608. | | | | | + 0.05% ceph::buffer::ptr::unused_tail_length
  2609. | | | | | + 0.05% ceph::buffer::ptr::append
  2610. | | | | + 0.05% encode_raw<ceph_le16>
  2611. | | | + 0.30% OSDOp::merge_osd_op_vector_in_data
  2612. | | | | + 0.20% ceph::buffer::list::append
  2613. | | | | + 0.20% push_back
  2614. | | | | + 0.20% _M_insert<ceph::buffer::ptr const&>
  2615. | | | | + 0.20% _M_create_node<ceph::buffer::ptr const&>
  2616. | | | | + 0.10% construct<std::_List_node<ceph::buffer::ptr>, ceph::buffer::ptr const&>
  2617. | | | | | + 0.10% _List_node<ceph::buffer::ptr const&>
  2618. | | | | | + 0.10% ceph::buffer::ptr::ptr
  2619. | | | | | + 0.10% inc
  2620. | | | | | + 0.10% AO_fetch_and_add_full
  2621. | | | | + 0.10% _M_get_node
  2622. | | | | + 0.10% allocate
  2623. | | | | + 0.10% operator new
  2624. | | | | + 0.05% __GI___libc_malloc
  2625. | | | + 0.15% encode<osd_reqid_t, denc_traits<osd_reqid_t> >
  2626. | | | | + 0.05% get_contiguous_appender
  2627. | | | | + 0.05% ceph::buffer::ptr::release
  2628. | | | + 0.05% operator=
  2629. | | | + 0.05% encode<std::vector<snapid_t>, denc_traits<std::vector<snapid_t>, void> >
  2630. | | | + 0.05% MOSDOp::get_object_locator
  2631. | | + 0.55% calc_data_crc
  2632. | | | + 0.55% ceph::buffer::list::crc32c
  2633. | | | + 0.50% ceph_crc32c
  2634. | | | | + 0.50% ceph_crc32c_intel_fast
  2635. | | | | + 0.50% None
  2636. | | | | + 0.50% None
  2637. | | | | + 0.50% crc32_iscsi_00
  2638. | | | + 0.05% set_crc
  2639. | | + 0.30% calc_front_crc
  2640. | | + 0.25% ceph::buffer::list::crc32c
  2641. | | | + 0.10% set_crc
  2642. | | | | + 0.10% operator[]
  2643. | | | | + 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<>&&)
  2644. | | | | + 0.10% _M_create_node<const std::piecewise_construct_t&, std::tuple<const std::pair<long unsigned int, long unsigned int>&>, std::tuple<> >
  2645. | | | | + 0.10% _M_get_node
  2646. | | | | + 0.10% allocate
  2647. | | | | + 0.10% operator new
  2648. | | | | + 0.10% __GI___libc_malloc
  2649. | | | | + 0.10% _int_malloc
  2650. | | | + 0.10% ceph_crc32c
  2651. | | | + 0.10% ceph_crc32c_intel_baseline
  2652. | | + 0.05% _ZNK4ceph6buffer4list6crc32cEj@plt
  2653. | + 0.55% _get_next_outgoing
  2654. | | + 0.50% erase
  2655. | | | + 0.30% _M_erase
  2656. | | | | + 0.15% std::__detail::_List_node_base::_M_unhook
  2657. | | | | + 0.10% _M_put_node
  2658. | | | | | + 0.10% deallocate
  2659. | | | | | + 0.10% _int_free
  2660. | | | | + 0.05% destroy<std::_List_node<std::pair<ceph::buffer::list, Message*> > >
  2661. | | | + 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
  2662. | | | + 0.20% erase
  2663. | | | + 0.20% _M_erase_aux
  2664. | | | + 0.20% clear
  2665. | | | + 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
  2666. | | | + 0.15% _M_destroy_node
  2667. | | | + 0.10% _M_put_node
  2668. | | | | + 0.10% deallocate
  2669. | | | | + 0.10% _int_free
  2670. | | | + 0.05% destroy<std::_Rb_tree_node<std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*> > > > >
  2671. | | + 0.05% ceph::buffer::list::swap
  2672. | + 0.10% list
  2673. | | + 0.05% ceph::buffer::list::iterator_impl<false>::iterator_impl
  2674. | | + 0.05% _ZN4ceph6buffer4list13iterator_implILb0EE7advanceEi@plt
  2675. | + 0.05% unlock
  2676. | + 0.05% read
  2677. | + 0.05% lock
  2678. + 11.30% AsyncConnection::process
  2679. | + 5.25% DispatchQueue::fast_dispatch
  2680. | | + 4.85% ms_fast_dispatch
  2681. | | | + 4.80% Objecter::ms_dispatch
  2682. | | | | + 4.75% Objecter::handle_osd_op_reply
  2683. | | | | | + 1.95% Objecter::_finish_op
  2684. | | | | | | + 1.00% RefCountedObject::put
  2685. | | | | | | | + 1.00% Objecter::Op::~Op
  2686. | | | | | | | + 0.75% ~Op
  2687. | | | | | | | | + 0.35% std::vector<OSDOp, std::allocator<OSDOp> >::~vector
  2688. | | | | | | | | | + 0.20% ~_Vector_base
  2689. | | | | | | | | | | + 0.20% _M_deallocate
  2690. | | | | | | | | | | + 0.20% deallocate
  2691. | | | | | | | | | | + 0.20% _int_free
  2692. | | | | | | | | | | + 0.10% _L_unlock_4968
  2693. | | | | | | | | | | | + 0.10% __lll_unlock_wake_private
  2694. | | | | | | | | | | + 0.05% _L_lock_4780
  2695. | | | | | | | | | + 0.15% _Destroy<OSDOp*, OSDOp>
  2696. | | | | | | | | | + 0.15% _Destroy<OSDOp*>
  2697. | | | | | | | | | + 0.15% __destroy<OSDOp*>
  2698. | | | | | | | | | + 0.15% _Destroy<OSDOp>
  2699. | | | | | | | | | + 0.15% ~OSDOp
  2700. | | | | | | | | | + 0.15% ~list
  2701. | | | | | | | | | + 0.15% ~list
  2702. | | | | | | | | | + 0.15% ~_List_base
  2703. | | | | | | | | | + 0.15% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear
  2704. | | | | | | | | | + 0.10% destroy<std::_List_node<ceph::buffer::ptr> >
  2705. | | | | | | | | | | + 0.10% ~_List_node
  2706. | | | | | | | | | | + 0.05% ~ptr
  2707. | | | | | | | | | + 0.05% _M_put_node
  2708. | | | | | | | | + 0.20% ~op_target_t
  2709. | | | | | | | | | + 0.20% ~vector
  2710. | | | | | | | | | + 0.20% ~_Vector_base
  2711. | | | | | | | | | + 0.20% _M_deallocate
  2712. | | | | | | | | | + 0.15% deallocate
  2713. | | | | | | | | | + 0.10% _int_free
  2714. | | | | | | | | | + 0.05% __GI___libc_free
  2715. | | | | | | | | + 0.15% ~vector
  2716. | | | | | | | | | + 0.15% ~_Vector_base
  2717. | | | | | | | | | + 0.15% _M_deallocate
  2718. | | | | | | | | | + 0.15% deallocate
  2719. | | | | | | | | | + 0.10% _int_free
  2720. | | | | | | | | | + 0.05% __GI___libc_free
  2721. | | | | | | | | + 0.05% ~RefCountedObject
  2722. | | | | | | | + 0.25% _int_free
  2723. | | | | | | | + 0.15% _L_lock_4780
  2724. | | | | | | | | + 0.15% __lll_lock_wait_private
  2725. | | | | | | | + 0.10% _L_unlock_4968
  2726. | | | | | | | + 0.10% __lll_unlock_wake_private
  2727. | | | | | | + 0.45% Objecter::_session_op_remove
  2728. | | | | | | | + 0.30% erase
  2729. | | | | | | | | + 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
  2730. | | | | | | | | + 0.30% erase
  2731. | | | | | | | | + 0.30% _M_erase_aux
  2732. | | | | | | | | + 0.15% clear
  2733. | | | | | | | | | + 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
  2734. | | | | | | | | | + 0.15% _M_destroy_node
  2735. | | | | | | | | | + 0.15% _M_put_node
  2736. | | | | | | | | | + 0.15% deallocate
  2737. | | | | | | | | | + 0.10% _int_free
  2738. | | | | | | | | | + 0.05% __GI___libc_free
  2739. | | | | | | | | + 0.10% erase
  2740. | | | | | | | | + 0.10% _M_erase_aux
  2741. | | | | | | | | + 0.05% std::_Rb_tree_rebalance_for_erase
  2742. | | | | | | | | + 0.05% _M_destroy_node
  2743. | | | | | | | + 0.10% Objecter::put_session
  2744. | | | | | | | + 0.10% RefCountedObject::put
  2745. | | | | | | | + 0.05% dec
  2746. | | | | | | + 0.35% put_op_budget
  2747. | | | | | | | + 0.30% put_op_budget_bytes
  2748. | | | | | | | | + 0.30% Throttle::put
  2749. | | | | | | | | + 0.10% Locker
  2750. | | | | | | | | | + 0.10% Mutex::Lock
  2751. | | | | | | | | | + 0.05% __GI___pthread_mutex_lock
  2752. | | | | | | | | + 0.05% ~Locker
  2753. | | | | | | | | + 0.05% read
  2754. | | | | | | | | + 0.05% PerfCounters::inc
  2755. | | | | | | | + 0.05% Objecter::calc_op_budget
  2756. | | | | | | + 0.10% PerfCounters::dec
  2757. | | | | | | + 0.05% sub
  2758. | | | | | + 1.25% Context::complete
  2759. | | | | | | + 1.20% librados::IoCtxImpl::C_aio_Complete::finish
  2760. | | | | | | + 0.70% queue
  2761. | | | | | | | + 0.45% pthread_cond_broadcast@@GLIBC_2.3.2
  2762. | | | | | | | + 0.15% Mutex::Lock
  2763. | | | | | | | | + 0.05% __GI___pthread_mutex_lock
  2764. | | | | | | | + 0.05% PerfCounters::inc
  2765. | | | | | | | + 0.05% Mutex::Unlock
  2766. | | | | | | + 0.20% librados::IoCtxImpl::complete_aio_write
  2767. | | | | | | | + 0.05% pthread_cond_broadcast@@GLIBC_2.3.2
  2768. | | | | | | | + 0.05% librados::IoCtxImpl::put
  2769. | | | | | | | + 0.05% Mutex::Unlock
  2770. | | | | | | + 0.15% operator new
  2771. | | | | | | | + 0.15% __GI___libc_malloc
  2772. | | | | | | + 0.10% Mutex::Lock
  2773. | | | | | + 0.25% Objecter::OSDSession::get_lock
  2774. | | | | | | + 0.15% ceph_str_hash_linux
  2775. | | | | | + 0.20% shunique_lock
  2776. | | | | | | + 0.20% lock_shared
  2777. | | | | | | + 0.20% boost::shared_mutex::lock_shared
  2778. | | | | | | + 0.20% boost::this_thread::disable_interruption::disable_interruption()
  2779. | | | | | | + 0.15% boost::this_thread::interruption_enabled()
  2780. | | | | | | + 0.15% boost::detail::get_current_thread_data()
  2781. | | | | | | + 0.05% boost::thread_detail::enter_once_region(boost::once_flag&)
  2782. | | | | | | + 0.05% _ZN5boost13thread_detail17enter_once_regionERNS_9once_flagE@plt
  2783. | | | | | + 0.20% ceph::shunique_lock<boost::shared_mutex>::unlock
  2784. | | | | | | + 0.20% boost::shared_mutex::unlock_shared
  2785. | | | | | | + 0.10% release_waiters
  2786. | | | | | | | + 0.10% notify_all
  2787. | | | | | | | + 0.05% pthread_mutex_scoped_lock
  2788. | | | | | | | + 0.05% pthread_cond_broadcast@@GLIBC_2.3.2
  2789. | | | | | | + 0.05% ~unique_lock
  2790. | | | | | + 0.20% RefCountedObject::put
  2791. | | | | | | + 0.20% MOSDOpReply::~MOSDOpReply
  2792. | | | | | | + 0.15% ~MOSDOpReply
  2793. | | | | | | | + 0.10% Message::~Message
  2794. | | | | | | | | + 0.10% ~list
  2795. | | | | | | | | + 0.10% ~list
  2796. | | | | | | | | + 0.10% ~_List_base
  2797. | | | | | | | | + 0.10% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear
  2798. | | | | | | | | + 0.10% destroy<std::_List_node<ceph::buffer::ptr> >
  2799. | | | | | | | | + 0.10% ~_List_node
  2800. | | | | | | | | + 0.10% ~ptr
  2801. | | | | | | | | + 0.10% ceph::buffer::ptr::release
  2802. | | | | | | | | + 0.05% _int_free
  2803. | | | | | | | + 0.05% ~object_t
  2804. | | | | | | + 0.05% _int_free
  2805. | | | | | + 0.10% unique_lock
  2806. | | | | | | + 0.10% std::unique_lock<boost::shared_mutex>::lock
  2807. | | | | | | + 0.10% boost::shared_mutex::lock
  2808. | | | | | | + 0.10% unique_lock
  2809. | | | | | | + 0.10% boost::unique_lock<boost::mutex>::lock
  2810. | | | | | | + 0.10% lock
  2811. | | | | | | + 0.10% pthread_mutex_lock
  2812. | | | | | | + 0.10% __GI___pthread_mutex_lock
  2813. | | | | | + 0.10% read
  2814. | | | | | | + 0.10% AO_load_read
  2815. | | | | | | + 0.10% AO_load
  2816. | | | | | + 0.05% std::vector<OSDOp, std::allocator<OSDOp> >::~vector
  2817. | | | | | + 0.05% std::unique_lock<boost::shared_mutex>::unlock
  2818. | | | | | + 0.05% size
  2819. | | | | | + 0.05% lock
  2820. | | | | | + 0.05% find
  2821. | | | | | + 0.05% Objecter::put_session
  2822. | | | | + 0.05% should_gather
  2823. | | | + 0.05% ceph_clock_now
  2824. | | + 0.20% DispatchQueue::post_dispatch
  2825. | | | + 0.15% DispatchQueue::dispatch_throttle_release
  2826. | | | + 0.10% Throttle::put
  2827. | | | + 0.05% PerfCounters::set
  2828. | | | + 0.05% PerfCounters::inc
  2829. | | + 0.15% DispatchQueue::pre_dispatch
  2830. | + 2.15% AsyncConnection::read_until
  2831. | | + 2.15% AsyncConnection::read_bulk
  2832. | | + 2.15% read
  2833. | | + 2.10% PosixConnectedSocketImpl::read
  2834. | | + 2.10% read
  2835. | | + 2.05% read
  2836. | | + 0.05% read@plt
  2837. | + 2.10% decode_message
  2838. | | + 1.05% MOSDOpReply::decode_payload
  2839. | | | + 0.75% decode
  2840. | | | | + 0.65% decode
  2841. | | | | | + 0.45% decode
  2842. | | | | | | + 0.25% ceph::buffer::list::iterator::copy
  2843. | | | | | | | + 0.25% ceph::buffer::list::iterator_impl<false>::copy
  2844. | | | | | | | + 0.20% std::string::append
  2845. | | | | | | | | + 0.15% std::string::reserve
  2846. | | | | | | | | | + 0.10% std::string::_Rep::_M_clone
  2847. | | | | | | | | | + 0.10% std::string::_Rep::_S_create
  2848. | | | | | | | | | + 0.10% allocate
  2849. | | | | | | | | | + 0.10% operator new
  2850. | | | | | | | | | + 0.10% __GI___libc_malloc
  2851. | | | | | | | | | + 0.10% _int_malloc
  2852. | | | | | | | | + 0.05% _M_copy
  2853. | | | | | | | + 0.05% _ZN4ceph6buffer4list13iterator_implILb0EE7advanceEi@plt
  2854. | | | | | | + 0.10% clear
  2855. | | | | | | | + 0.10% std::string::_M_mutate
  2856. | | | | | | | + 0.10% _M_move
  2857. | | | | | | | + 0.10% move
  2858. | | | | | | + 0.05% decode
  2859. | | | | | + 0.10% ceph::buffer::list::iterator_impl<false>::copy
  2860. | | | | | | + 0.05% ceph::buffer::ptr::copy_out
  2861. | | | | | | + 0.05% __memcpy_ssse3_back
  2862. | | | | | + 0.05% ceph::buffer::list::iterator::copy
  2863. | | | | + 0.10% decode_raw<ceph_le64>
  2864. | | | | + 0.10% ceph::buffer::list::iterator_impl<false>::copy
  2865. | | | | + 0.05% ceph::buffer::ptr::copy_out
  2866. | | | + 0.15% OSDOp::split_osd_op_vector_out_data
  2867. | | | | + 0.15% begin
  2868. | | | + 0.10% std::vector<OSDOp, std::allocator<OSDOp> >::resize
  2869. | | | + 0.10% std::vector<OSDOp, std::allocator<OSDOp> >::_M_default_append
  2870. | | | + 0.05% __uninitialized_default_n_a<OSDOp*, unsigned long, OSDOp>
  2871. | | | + 0.05% _M_allocate
  2872. | | + 0.40% ceph::buffer::list::crc32c
  2873. | | | + 0.20% set_crc
  2874. | | | | + 0.20% operator[]
  2875. | | | | + 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<>&&)
  2876. | | | | + 0.10% _M_insert_node
  2877. | | | | | + 0.05% _ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_@plt
  2878. | | | | + 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
  2879. | | | + 0.05% ceph_crc32c
  2880. | | | + 0.05% ceph::buffer::ptr::c_str
  2881. | | | + 0.05% _ZNK4ceph6buffer3ptr5c_strEv@plt
  2882. | | + 0.30% operator new
  2883. | | | + 0.30% __GI___libc_malloc
  2884. | | | + 0.15% _int_malloc
  2885. | | + 0.15% set_payload
  2886. | | | + 0.15% ceph::buffer::list::claim
  2887. | | | + 0.10% clear
  2888. | | | + 0.10% ceph::buffer::ptr::operator=(ceph::buffer::ptr&&)
  2889. | | | + 0.05% _ZN4ceph6buffer3ptr7releaseEv@plt
  2890. | | + 0.05% set_middle
  2891. | | + 0.05% MOSDOpReply::MOSDOpReply
  2892. | + 0.40% ceph::buffer::create
  2893. | | + 0.35% ceph::buffer::create_aligned
  2894. | | + 0.25% create
  2895. | | + 0.25% allocate_aligned
  2896. | | + 0.20% __posix_memalign
  2897. | | | + 0.20% __GI___libc_malloc
  2898. | | | + 0.10% _int_malloc
  2899. | | + 0.05% operator+=
  2900. | + 0.35% Throttle::get_or_fail
  2901. | | + 0.15% PerfCounters::set
  2902. | | | + 0.05% set
  2903. | | + 0.10% Locker
  2904. | | | + 0.10% Mutex::Lock
  2905. | | | + 0.05% _post_lock
  2906. | | | + 0.05% __GI___pthread_mutex_lock
  2907. | | + 0.05% ~Locker
  2908. | | + 0.05% _should_wait
  2909. | + 0.20% ceph::buffer::list::clear
  2910. | | + 0.10% ceph::buffer::ptr::operator=(ceph::buffer::ptr&&)
  2911. | | + 0.05% clear
  2912. | | + 0.05% begin
  2913. | + 0.15% ceph_clock_now
  2914. | | + 0.10% clock_gettime
  2915. | | + 0.10% clock_gettime
  2916. | + 0.10% ceph_crc32c
  2917. | | + 0.10% ceph_crc32c_intel_baseline
  2918. | + 0.10% ceph::buffer::list::push_back
  2919. | | + 0.05% ~ptr
  2920. | | + 0.05% push_back
  2921. | + 0.05% ~intrusive_ptr
  2922. | + 0.05% operator __u32
  2923. | + 0.05% now
  2924. | + 0.05% ms_can_fast_dispatch
  2925. | + 0.05% intrusive_ptr
  2926. | + 0.05% _ZN8Throttle11get_or_failEl@plt
  2927. | + 0.05% PerfCounters::inc
  2928. + 0.90% C_handle_notify::do_request
  2929. | + 0.90% read
  2930. | + 0.85% read
  2931. | + 0.05% read@plt
  2932. + 0.25% now
  2933. | + 0.25% clock_gettime
  2934. | + 0.15% clock_gettime
  2935. + 0.15% ~deque
  2936. | + 0.10% std::_Deque_base<EventCallback*, std::allocator<EventCallback*> >::~_Deque_base
  2937. + 0.10% deque
  2938. | + 0.10% _Deque_base
  2939. | + 0.10% _M_initialize_map
  2940. | + 0.10% _M_allocate_map
  2941. | + 0.10% allocate
  2942. | + 0.10% operator new
  2943. | + 0.10% __GI___libc_malloc
  2944. | + 0.10% _int_malloc
  2945. + 0.05% ~vector
  2946. + 0.05% _get_file_event
  2947. + 0.05% _ZN15AsyncConnection7processEv@plt
  2948. + 0.05% _ZN15AsyncConnection12handle_writeEv@plt
  2949. + 0.05% C_handle_read::do_request
  2950.  
  2951. Thread: 18 (msgr-worker-0) - 2000 samples
  2952.  
  2953. + 100.00% clone
  2954. + 100.00% start_thread
  2955. + 100.00% std::(anonymous namespace)::execute_native_thread_routine
  2956. + 100.00% NetworkStack::__lambda4::operator()
  2957. + 100.00% EventCenter::process_events
  2958. + 65.60% EpollDriver::event_wait
  2959. | + 65.40% epoll_wait
  2960. | | + 0.05% __libc_enable_asynccancel
  2961. | + 0.15% resize
  2962. | + 0.15% std::vector<FiredFileEvent, std::allocator<FiredFileEvent> >::_M_default_append
  2963. | + 0.15% _M_allocate
  2964. | + 0.15% allocate
  2965. | + 0.15% operator new
  2966. | + 0.15% __GI___libc_malloc
  2967. + 16.65% AsyncConnection::process
  2968. | + 7.05% DispatchQueue::fast_dispatch
  2969. | | + 6.80% ms_fast_dispatch
  2970. | | | + 6.80% Objecter::ms_dispatch
  2971. | | | + 6.70% Objecter::handle_osd_op_reply
  2972. | | | | + 2.75% Objecter::_finish_op
  2973. | | | | | + 1.25% RefCountedObject::put
  2974. | | | | | | + 1.15% Objecter::Op::~Op
  2975. | | | | | | | + 0.80% ~Op
  2976. | | | | | | | | + 0.50% std::vector<OSDOp, std::allocator<OSDOp> >::~vector
  2977. | | | | | | | | | + 0.30% _Destroy<OSDOp*, OSDOp>
  2978. | | | | | | | | | | + 0.30% _Destroy<OSDOp*>
  2979. | | | | | | | | | | + 0.30% __destroy<OSDOp*>
  2980. | | | | | | | | | | + 0.30% _Destroy<OSDOp>
  2981. | | | | | | | | | | + 0.30% ~OSDOp
  2982. | | | | | | | | | | + 0.25% ~list
  2983. | | | | | | | | | | | + 0.15% ~list
  2984. | | | | | | | | | | | | + 0.15% ~_List_base
  2985. | | | | | | | | | | | | + 0.15% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear
  2986. | | | | | | | | | | | | + 0.10% _M_put_node
  2987. | | | | | | | | | | | | | + 0.10% deallocate
  2988. | | | | | | | | | | | | | + 0.10% _int_free
  2989. | | | | | | | | | | | | + 0.05% destroy<std::_List_node<ceph::buffer::ptr> >
  2990. | | | | | | | | | | | + 0.10% ~ptr
  2991. | | | | | | | | | | | + 0.10% ceph::buffer::ptr::release
  2992. | | | | | | | | | | + 0.05% ~sobject_t
  2993. | | | | | | | | | + 0.20% ~_Vector_base
  2994. | | | | | | | | | + 0.20% _M_deallocate
  2995. | | | | | | | | | + 0.20% deallocate
  2996. | | | | | | | | | + 0.20% _int_free
  2997. | | | | | | | | | + 0.10% _L_lock_4780
  2998. | | | | | | | | | | + 0.10% __lll_lock_wait_private
  2999. | | | | | | | | | + 0.05% _L_unlock_4968
  3000. | | | | | | | | + 0.20% ~vector
  3001. | | | | | | | | | + 0.20% ~_Vector_base
  3002. | | | | | | | | | + 0.20% _M_deallocate
  3003. | | | | | | | | | + 0.20% deallocate
  3004. | | | | | | | | | + 0.10% _int_free
  3005. | | | | | | | | | + 0.10% __GI___libc_free
  3006. | | | | | | | | + 0.10% ~op_target_t
  3007. | | | | | | | | + 0.10% ~vector
  3008. | | | | | | | | + 0.10% ~_Vector_base
  3009. | | | | | | | | + 0.10% _M_deallocate
  3010. | | | | | | | | + 0.10% deallocate
  3011. | | | | | | | | + 0.10% _int_free
  3012. | | | | | | | + 0.25% _int_free
  3013. | | | | | | | | + 0.20% _L_lock_4780
  3014. | | | | | | | | + 0.20% __lll_lock_wait_private
  3015. | | | | | | | + 0.10% __GI___libc_free
  3016. | | | | | | + 0.10% dec
  3017. | | | | | + 1.00% put_op_budget
  3018. | | | | | | + 0.90% put_op_budget_bytes
  3019. | | | | | | | + 0.90% Throttle::put
  3020. | | | | | | | + 0.25% read
  3021. | | | | | | | | + 0.15% AO_load_read
  3022. | | | | | | | | + 0.15% AO_load
  3023. | | | | | | | + 0.25% PerfCounters::inc
  3024. | | | | | | | | + 0.10% add
  3025. | | | | | | | | + 0.10% ceph_spin_lock
  3026. | | | | | | | | + 0.10% pthread_spin_lock
  3027. | | | | | | | + 0.15% PerfCounters::set
  3028. | | | | | | | | + 0.10% set
  3029. | | | | | | | | + 0.10% ceph_spin_lock
  3030. | | | | | | | | + 0.10% pthread_spin_lock
  3031. | | | | | | | + 0.15% Locker
  3032. | | | | | | | | + 0.15% Mutex::Lock
  3033. | | | | | | | | + 0.15% __GI___pthread_mutex_lock
  3034. | | | | | | | | + 0.05% _L_lock_791
  3035. | | | | | | | + 0.05% ~Locker
  3036. | | | | | | + 0.05% Objecter::calc_op_budget
  3037. | | | | | + 0.30% Objecter::_session_op_remove
  3038. | | | | | | + 0.25% erase
  3039. | | | | | | | + 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
  3040. | | | | | | | + 0.20% erase
  3041. | | | | | | | + 0.20% _M_erase_aux
  3042. | | | | | | | + 0.15% erase
  3043. | | | | | | | | + 0.15% _M_erase_aux
  3044. | | | | | | | | + 0.10% std::_Rb_tree_rebalance_for_erase
  3045. | | | | | | | | + 0.05% _M_destroy_node
  3046. | | | | | | | + 0.05% clear
  3047. | | | | | | + 0.05% Objecter::put_session
  3048. | | | | | + 0.15% PerfCounters::dec
  3049. | | | | | + 0.15% sub
  3050. | | | | | + 0.15% ceph_spin_lock
  3051. | | | | | + 0.15% pthread_spin_lock
  3052. | | | | + 1.30% Context::complete
  3053. | | | | | + 1.30% librados::IoCtxImpl::C_aio_Complete::finish
  3054. | | | | | + 1.00% queue
  3055. | | | | | | + 0.65% pthread_cond_broadcast@@GLIBC_2.3.2
  3056. | | | | | | + 0.15% push_back
  3057. | | | | | | | + 0.15% std::vector<Context*, std::allocator<Context*> >::_M_emplace_back_aux<Context* const&>
  3058. | | | | | | | + 0.05% __uninitialized_move_if_noexcept_a<Context**, Context**, std::allocator<Context*> >
  3059. | | | | | | | + 0.05% _M_allocate
  3060. | | | | | | + 0.15% Mutex::Lock
  3061. | | | | | | | + 0.05% __GI___pthread_mutex_lock
  3062. | | | | | | + 0.05% PerfCounters::inc
  3063. | | | | | + 0.20% librados::IoCtxImpl::complete_aio_write
  3064. | | | | | | + 0.10% remove_myself
  3065. | | | | | | | + 0.10% remove
  3066. | | | | | | + 0.05% librados::IoCtxImpl::put
  3067. | | | | | | + 0.05% Cond::Signal
  3068. | | | | | + 0.05% operator new
  3069. | | | | | + 0.05% Mutex::Lock
  3070. | | | | + 0.45% shunique_lock
  3071. | | | | | + 0.45% lock_shared
  3072. | | | | | + 0.40% boost::shared_mutex::lock_shared
  3073. | | | | | + 0.30% unique_lock
  3074. | | | | | | + 0.30% boost::unique_lock<boost::mutex>::lock
  3075. | | | | | | + 0.25% lock
  3076. | | | | | | + 0.25% pthread_mutex_lock
  3077. | | | | | | + 0.25% __GI___pthread_mutex_lock
  3078. | | | | | + 0.10% boost::this_thread::disable_interruption::disable_interruption()
  3079. | | | | | + 0.05% boost::this_thread::interruption_enabled()
  3080. | | | | + 0.45% RefCountedObject::put
  3081. | | | | | + 0.45% MOSDOpReply::~MOSDOpReply
  3082. | | | | | + 0.45% ~MOSDOpReply
  3083. | | | | | + 0.30% Message::~Message
  3084. | | | | | | + 0.15% ~list
  3085. | | | | | | | + 0.15% ~list
  3086. | | | | | | | + 0.15% ~_List_base
  3087. | | | | | | | + 0.15% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear
  3088. | | | | | | | + 0.15% destroy<std::_List_node<ceph::buffer::ptr> >
  3089. | | | | | | | + 0.15% ~_List_node
  3090. | | | | | | | + 0.15% ~ptr
  3091. | | | | | | | + 0.15% ceph::buffer::ptr::release
  3092. | | | | | | | + 0.15% ceph::buffer::raw_combined::~raw_combined
  3093. | | | | | | | + 0.05% ~raw_combined
  3094. | | | | | | | + 0.05% operator delete
  3095. | | | | | | + 0.10% ~intrusive_ptr
  3096. | | | | | | | + 0.05% _ZNK16RefCountedObject3putEv@plt
  3097. | | | | | | | + 0.05% RefCountedObject::put
  3098. | | | | | | + 0.05% release_message_throttle
  3099. | | | | | + 0.15% ~object_t
  3100. | | | | | + 0.15% ~basic_string
  3101. | | | | | + 0.05% std::string::_Rep::_M_dispose
  3102. | | | | | + 0.05% _int_free
  3103. | | | | | + 0.05% __GI___libc_free
  3104. | | | | + 0.15% unique_lock
  3105. | | | | | + 0.15% std::unique_lock<boost::shared_mutex>::lock
  3106. | | | | | + 0.15% boost::shared_mutex::lock
  3107. | | | | | + 0.10% boost::this_thread::disable_interruption::disable_interruption()
  3108. | | | | | | + 0.05% boost::this_thread::interruption_enabled()
  3109. | | | | | + 0.05% unique_lock
  3110. | | | | + 0.15% std::unique_lock<boost::shared_mutex>::unlock
  3111. | | | | | + 0.15% unlock
  3112. | | | | | + 0.10% release_waiters
  3113. | | | | | | + 0.05% notify_one
  3114. | | | | | | + 0.05% notify_all
  3115. | | | | | + 0.05% unique_lock
  3116. | | | | + 0.15% get_priv
  3117. | | | | | + 0.05% RefCountedObject::get
  3118. | | | | | + 0.05% Locker
  3119. | | | | + 0.15% find
  3120. | | | | | + 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
  3121. | | | | + 0.15% ceph::shunique_lock<boost::shared_mutex>::unlock
  3122. | | | | | + 0.15% boost::shared_mutex::unlock_shared
  3123. | | | | | + 0.10% release_waiters
  3124. | | | | | | + 0.10% notify_one
  3125. | | | | | | + 0.10% pthread_mutex_scoped_lock
  3126. | | | | | | + 0.10% __GI___pthread_mutex_lock
  3127. | | | | | + 0.05% unique_lock
  3128. | | | | + 0.10% PerfCounters::inc
  3129. | | | | | + 0.05% add
  3130. | | | | + 0.10% Objecter::put_session
  3131. | | | | | + 0.05% RefCountedObject::put
  3132. | | | | + 0.05% std::vector<OSDOp, std::allocator<OSDOp> >::~vector
  3133. | | | | + 0.05% read
  3134. | | | | + 0.05% librados::IoCtxImpl::C_aio_Complete::~C_aio_Complete
  3135. | | | | + 0.05% intrusive_ptr
  3136. | | | | + 0.05% get_result
  3137. | | | | + 0.05% Objecter::OSDSession::get_lock
  3138. | | | + 0.05% should_gather
  3139. | | | + 0.05% read
  3140. | | + 0.20% DispatchQueue::post_dispatch
  3141. | | + 0.20% DispatchQueue::dispatch_throttle_release
  3142. | | + 0.15% Throttle::put
  3143. | | + 0.05% read
  3144. | | + 0.05% Locker
  3145. | + 3.70% AsyncConnection::read_until
  3146. | | + 3.55% AsyncConnection::read_bulk
  3147. | | + 3.50% read
  3148. | | + 3.50% PosixConnectedSocketImpl::read
  3149. | | + 3.50% read
  3150. | | + 3.50% read
  3151. | + 3.10% decode_message
  3152. | | + 1.65% MOSDOpReply::decode_payload
  3153. | | | + 1.20% decode
  3154. | | | | + 0.70% decode
  3155. | | | | | + 0.65% decode
  3156. | | | | | | + 0.25% decode
  3157. | | | | | | | + 0.20% decode_raw<ceph_le32>
  3158. | | | | | | | | + 0.20% ceph::buffer::list::iterator_impl<false>::copy
  3159. | | | | | | | | + 0.05% ceph::buffer::list::iterator_impl<false>::advance
  3160. | | | | | | | + 0.05% operator __u32
  3161. | | | | | | + 0.20% clear
  3162. | | | | | | | + 0.15% std::string::_M_mutate
  3163. | | | | | | | + 0.05% _ZNSs9_M_mutateEmmm@plt
  3164. | | | | | | + 0.10% ceph::buffer::list::iterator::copy
  3165. | | | | | | | + 0.10% ceph::buffer::list::iterator_impl<false>::copy
  3166. | | | | | | | + 0.05% std::string::append
  3167. | | | | | | + 0.05% _ZN4ceph6buffer4list13iterator_implILb0EE4copyEjRSs@plt
  3168. | | | | | + 0.05% ceph::buffer::list::iterator_impl<false>::copy
  3169. | | | | + 0.25% pg_t::decode
  3170. | | | | | + 0.20% decode
  3171. | | | | | + 0.10% decode_raw<unsigned char>
  3172. | | | | | | + 0.05% ceph::buffer::list::iterator_impl<false>::copy
  3173. | | | | | + 0.10% decode_raw<ceph_le64>
  3174. | | | | | + 0.10% ceph::buffer::list::iterator_impl<false>::copy
  3175. | | | | | + 0.10% ceph::buffer::ptr::copy_out
  3176. | | | | | + 0.05% maybe_inline_memcpy
  3177. | | | | + 0.15% decode_raw<ceph_osd_op>
  3178. | | | | | + 0.15% ceph::buffer::list::iterator_impl<false>::copy
  3179. | | | | | + 0.10% __memcpy_ssse3_back
  3180. | | | | | + 0.05% ceph::buffer::list::iterator_impl<false>::advance
  3181. | | | | + 0.10% decode_raw<ceph_le32>
  3182. | | | | + 0.10% ceph::buffer::list::iterator_impl<false>::copy
  3183. | | | | + 0.05% ceph::buffer::ptr::copy_out
  3184. | | | + 0.25% std::vector<OSDOp, std::allocator<OSDOp> >::resize
  3185. | | | | + 0.10% std::vector<OSDOp, std::allocator<OSDOp> >::_M_default_append
  3186. | | | | | + 0.05% _M_allocate
  3187. | | | | + 0.05% _ZNSt6vectorI5OSDOpSaIS0_EE17_M_default_appendEm@plt
  3188. | | | + 0.05% _ZNSt6vectorI5OSDOpSaIS0_EE6resizeEm@plt
  3189. | | | + 0.05% _ZN5OSDOp28split_osd_op_vector_out_dataERSt6vectorIS_SaIS_EERN4ceph6buffer4listE@plt
  3190. | | | + 0.05% OSDOp::split_osd_op_vector_out_data
  3191. | | + 0.40% operator new
  3192. | | | + 0.40% __GI___libc_malloc
  3193. | | | + 0.30% _int_malloc
  3194. | | | + 0.05% malloc_printerr
  3195. | | + 0.35% ceph::buffer::list::crc32c
  3196. | | | + 0.30% set_crc
  3197. | | | | + 0.30% operator[]
  3198. | | | | + 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<>&&)
  3199. | | | | + 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
  3200. | | | | | + 0.10% _ZNSt8_Rb_treeISt4pairImmES0_IKS1_S0_IjjEESt10_Select1stIS4_ESt4lessIS1_ESaIS4_EE24_M_get_insert_unique_posERS2_@plt
  3201. | | | | + 0.10% _M_create_node<const std::piecewise_construct_t&, std::tuple<const std::pair<long unsigned int, long unsigned int>&>, std::tuple<> >
  3202. | | | | + 0.10% _M_get_node
  3203. | | | | + 0.10% allocate
  3204. | | | | + 0.10% operator new
  3205. | | | | + 0.10% __GI___libc_malloc
  3206. | | | | + 0.05% _int_malloc
  3207. | | | + 0.05% get_crc
  3208. | | + 0.25% MOSDOpReply::MOSDOpReply
  3209. | | | + 0.20% Message::Message
  3210. | | | | + 0.05% operator=
  3211. | | | | + 0.05% memset
  3212. | | | | + 0.05% list
  3213. | | | + 0.05% request_redirect_t
  3214. | | + 0.10% set_payload
  3215. | | | + 0.10% ceph::buffer::list::claim
  3216. | | | + 0.05% clear
  3217. | | | + 0.05% ceph::buffer::list::claim_append
  3218. | | + 0.05% set_middle
  3219. | | + 0.05% set_data
  3220. | + 0.65% Throttle::get_or_fail
  3221. | | + 0.20% PerfCounters::inc
  3222. | | | + 0.15% add
  3223. | | | + 0.15% ceph_spin_lock
  3224. | | | + 0.15% pthread_spin_lock
  3225. | | + 0.20% Locker
  3226. | | | + 0.20% Mutex::Lock
  3227. | | | + 0.05% _post_lock
  3228. | | + 0.05% ~Locker
  3229. | | + 0.05% read
  3230. | | + 0.05% _should_wait
  3231. | | + 0.05% PerfCounters::set
  3232. | + 0.40% ceph::buffer::create
  3233. | | + 0.40% ceph::buffer::create_aligned
  3234. | | + 0.25% create
  3235. | | + 0.25% allocate_aligned
  3236. | | + 0.20% __posix_memalign
  3237. | | | + 0.20% __GI___libc_malloc
  3238. | | | + 0.20% _int_malloc
  3239. | | + 0.05% operator+=
  3240. | + 0.30% ceph::buffer::list::clear
  3241. | | + 0.10% begin
  3242. | | | + 0.05% ceph::buffer::list::iterator_impl<false>::iterator_impl
  3243. | | | + 0.05% ceph::buffer::list::iterator::iterator
  3244. | | + 0.05% clear
  3245. | | + 0.05% ceph::buffer::ptr::operator=(ceph::buffer::ptr&&)
  3246. | + 0.25% ceph::buffer::list::push_back
  3247. | | + 0.15% push_back
  3248. | | | + 0.15% push_back
  3249. | | | + 0.15% _M_insert<ceph::buffer::ptr>
  3250. | | | + 0.10% _M_create_node<ceph::buffer::ptr>
  3251. | | | | + 0.05% construct<std::_List_node<ceph::buffer::ptr>, ceph::buffer::ptr>
  3252. | | | | + 0.05% _M_get_node
  3253. | | | + 0.05% std::__detail::_List_node_base::_M_hook
  3254. | | + 0.10% ceph::buffer::ptr::ptr
  3255. | + 0.20% ceph_clock_now
  3256. | | + 0.10% clock_gettime
  3257. | | + 0.10% clock_gettime
  3258. | + 0.10% intrusive_ptr
  3259. | | + 0.10% intrusive_ptr_add_ref
  3260. | | + 0.05% RefCountedObject::get
  3261. | + 0.10% ceph_crc32c
  3262. | | + 0.05% ceph_crc32c_intel_baseline
  3263. | + 0.10% ceph::buffer::ptr::c_str
  3264. | | + 0.05% ceph::buffer::raw::get_data
  3265. | + 0.05% ~intrusive_ptr
  3266. | + 0.05% operator __u32
  3267. | + 0.05% now
  3268. | + 0.05% lock_guard
  3269. | + 0.05% ceph::logging::SubsystemMap::should_gather
  3270. | + 0.05% _Z14ceph_clock_nowv@plt
  3271. + 14.50% AsyncConnection::handle_write
  3272. | + 9.40% AsyncConnection::write_message
  3273. | | + 6.30% AsyncConnection::_try_send
  3274. | | | + 6.00% send
  3275. | | | | + 6.00% PosixConnectedSocketImpl::send
  3276. | | | | + 5.20% do_sendmsg
  3277. | | | | | + 5.20% sendmsg
  3278. | | | | + 0.75% clear
  3279. | | | | + 0.70% ceph::buffer::ptr::operator=(ceph::buffer::ptr&&)
  3280. | | | | | + 0.60% ceph::buffer::ptr::release
  3281. | | | | | + 0.30% ceph::buffer::raw_combined::~raw_combined
  3282. | | | | | | + 0.15% operator delete
  3283. | | | | | | | + 0.10% deallocate_aligned
  3284. | | | | | | | + 0.10% operator-=
  3285. | | | | | | + 0.10% ~raw_combined
  3286. | | | | | | + 0.10% ~raw
  3287. | | | | | | + 0.05% ~map
  3288. | | | | | + 0.20% _int_free
  3289. | | | | + 0.05% clear
  3290. | | | + 0.05% should_gather
  3291. | | + 2.10% RefCountedObject::put
  3292. | | | + 2.05% MOSDOp::~MOSDOp
  3293. | | | | + 1.65% ~MOSDOp
  3294. | | | | | + 1.00% ~vector
  3295. | | | | | | + 0.75% ~_Vector_base
  3296. | | | | | | | + 0.75% _M_deallocate
  3297. | | | | | | | + 0.75% deallocate
  3298. | | | | | | | + 0.75% _int_free
  3299. | | | | | | | + 0.40% _L_unlock_4968
  3300. | | | | | | | | + 0.40% __lll_unlock_wake_private
  3301. | | | | | | | + 0.15% _L_lock_4780
  3302. | | | | | | | + 0.15% __lll_lock_wait_private
  3303. | | | | | | + 0.25% _Destroy<OSDOp*, OSDOp>
  3304. | | | | | | + 0.25% _Destroy<OSDOp*>
  3305. | | | | | | + 0.25% __destroy<OSDOp*>
  3306. | | | | | | + 0.25% _Destroy<OSDOp>
  3307. | | | | | | + 0.25% ~OSDOp
  3308. | | | | | | + 0.25% ~list
  3309. | | | | | | + 0.20% ~list
  3310. | | | | | | | + 0.20% ~_List_base
  3311. | | | | | | | + 0.20% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear
  3312. | | | | | | | + 0.15% _M_put_node
  3313. | | | | | | | | + 0.15% deallocate
  3314. | | | | | | | | + 0.15% __GI___libc_free
  3315. | | | | | | | + 0.05% destroy<std::_List_node<ceph::buffer::ptr> >
  3316. | | | | | | + 0.05% ~ptr
  3317. | | | | | + 0.50% ~MOSDFastDispatchOp
  3318. | | | | | | + 0.50% Message::~Message
  3319. | | | | | | + 0.30% ~list
  3320. | | | | | | | + 0.30% ~list
  3321. | | | | | | | + 0.30% ~_List_base
  3322. | | | | | | | + 0.30% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear
  3323. | | | | | | | + 0.20% destroy<std::_List_node<ceph::buffer::ptr> >
  3324. | | | | | | | | + 0.20% ~_List_node
  3325. | | | | | | | | + 0.20% ~ptr
  3326. | | | | | | | | + 0.20% ceph::buffer::ptr::release
  3327. | | | | | | | | + 0.10% ceph::buffer::raw_combined::~raw_combined
  3328. | | | | | | | | + 0.10% ~raw_combined
  3329. | | | | | | | | + 0.10% ~raw
  3330. | | | | | | | | + 0.10% ~map
  3331. | | | | | | | | + 0.10% ~_Rb_tree
  3332. | | | | | | | | + 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
  3333. | | | | | | | | + 0.10% _M_destroy_node
  3334. | | | | | | | | + 0.10% _M_put_node
  3335. | | | | | | | | + 0.10% deallocate
  3336. | | | | | | | | + 0.10% _int_free
  3337. | | | | | | | + 0.10% _M_put_node
  3338. | | | | | | | + 0.10% deallocate
  3339. | | | | | | | + 0.05% _int_free
  3340. | | | | | | | + 0.05% __GI___libc_free
  3341. | | | | | | + 0.20% ~intrusive_ptr
  3342. | | | | | | + 0.15% RefCountedObject::put
  3343. | | | | | | | + 0.10% dec
  3344. | | | | | | + 0.05% intrusive_ptr_release
  3345. | | | | | + 0.15% ~hobject_t
  3346. | | | | | + 0.15% ~object_t
  3347. | | | | | + 0.15% ~basic_string
  3348. | | | | | + 0.10% std::string::_Rep::_M_dispose
  3349. | | | | | + 0.05% __exchange_and_add_dispatch
  3350. | | | | + 0.15% _int_free
  3351. | | | | | + 0.05% _L_unlock_4968
  3352. | | | | | + 0.05% _L_lock_4780
  3353. | | | | + 0.15% __GI___libc_free
  3354. | | | + 0.05% dec
  3355. | | + 0.45% ceph::buffer::list::append
  3356. | | | + 0.15% ceph::buffer::ptr::append
  3357. | | | | + 0.05% ceph::buffer::ptr::unused_tail_length
  3358. | | | + 0.10% create
  3359. | | | | + 0.05% raw_combined
  3360. | | | | + 0.05% allocate_aligned
  3361. | | | + 0.10% ceph::buffer::list::append
  3362. | | | | + 0.10% push_back
  3363. | | | | + 0.10% push_back
  3364. | | | | + 0.10% _M_insert<ceph::buffer::ptr>
  3365. | | | | + 0.10% _M_create_node<ceph::buffer::ptr>
  3366. | | | | + 0.10% _M_get_node
  3367. | | | | + 0.10% allocate
  3368. | | | | + 0.05% operator new
  3369. | | | + 0.05% ceph::buffer::ptr::operator=(ceph::buffer::ptr&&)
  3370. | | + 0.20% ceph::buffer::list::claim_append
  3371. | | | + 0.05% splice
  3372. | | | + 0.05% make_shareable
  3373. | | + 0.15% inc
  3374. | | + 0.15% ceph_spin_lock
  3375. | | + 0.15% pthread_spin_lock
  3376. | + 4.10% AsyncConnection::prepare_send_message
  3377. | | + 3.85% Message::encode
  3378. | | | + 3.10% MOSDOp::encode_payload
  3379. | | | | + 2.50% encode
  3380. | | | | | + 1.85% spg_t::encode
  3381. | | | | | | + 1.60% encode
  3382. | | | | | | | + 1.25% encode_raw<unsigned char>
  3383. | | | | | | | | + 1.25% ceph::buffer::list::append
  3384. | | | | | | | | + 0.95% create
  3385. | | | | | | | | | + 0.95% allocate_aligned
  3386. | | | | | | | | | + 0.95% __posix_memalign
  3387. | | | | | | | | | + 0.95% __GI___libc_malloc
  3388. | | | | | | | | | + 0.95% _int_malloc
  3389. | | | | | | | | | + 0.70% malloc_consolidate
  3390. | | | | | | | | + 0.20% ceph::buffer::list::append
  3391. | | | | | | | | | + 0.05% push_back
  3392. | | | | | | | | | + 0.05% ceph::buffer::ptr::ptr
  3393. | | | | | | | | + 0.10% ceph::buffer::ptr::append
  3394. | | | | | | | | + 0.10% maybe_inline_memcpy
  3395. | | | | | | | + 0.30% encode
  3396. | | | | | | | | + 0.30% encode
  3397. | | | | | | | | + 0.15% encode_raw<ceph_le32>
  3398. | | | | | | | | | + 0.15% ceph::buffer::list::append
  3399. | | | | | | | | | + 0.05% ceph::buffer::ptr::append
  3400. | | | | | | | | | + 0.05% ceph::buffer::list::append
  3401. | | | | | | | | + 0.10% encode_raw<unsigned char>
  3402. | | | | | | | | | + 0.10% ceph::buffer::list::append
  3403. | | | | | | | | | + 0.05% ceph::buffer::ptr::append
  3404. | | | | | | | | | + 0.05% ceph::buffer::list::append
  3405. | | | | | | | | + 0.05% encode_raw<ceph_le64>
  3406. | | | | | | | + 0.05% encode_raw<ceph_le32>
  3407. | | | | | | + 0.15% ceph::buffer::list::iterator::copy_in
  3408. | | | | | | + 0.05% end
  3409. | | | | | | + 0.05% ceph::buffer::list::iterator_impl<false>::advance
  3410. | | | | | + 0.40% object_locator_t::encode
  3411. | | | | | | + 0.25% encode
  3412. | | | | | | | + 0.10% encode_raw<unsigned char>
  3413. | | | | | | | | + 0.10% ceph::buffer::list::append
  3414. | | | | | | | + 0.05% operator=
  3415. | | | | | | | + 0.05% encode_raw<ceph_le64>
  3416. | | | | | | | + 0.05% encode_raw<ceph_le32>
  3417. | | | | | | + 0.05% end
  3418. | | | | | | + 0.05% ceph::buffer::list::iterator::copy_in
  3419. | | | | | + 0.15% encode_raw<ceph_le32>
  3420. | | | | | | + 0.15% ceph::buffer::list::append
  3421. | | | | | | + 0.10% ceph::buffer::ptr::append
  3422. | | | | | | + 0.05% maybe_inline_memcpy
  3423. | | | | | + 0.05% encode_raw<ceph_osd_op>
  3424. | | | | | + 0.05% encode
  3425. | | | | + 0.30% OSDOp::merge_osd_op_vector_in_data
  3426. | | | | | + 0.15% ceph::buffer::list::append
  3427. | | | | | + 0.10% push_back
  3428. | | | | | + 0.10% _M_insert<ceph::buffer::ptr const&>
  3429. | | | | | + 0.10% _M_create_node<ceph::buffer::ptr const&>
  3430. | | | | | + 0.10% construct<std::_List_node<ceph::buffer::ptr>, ceph::buffer::ptr const&>
  3431. | | | | | + 0.10% _List_node<ceph::buffer::ptr const&>
  3432. | | | | | + 0.10% ceph::buffer::ptr::ptr
  3433. | | | | | + 0.10% inc
  3434. | | | | | + 0.10% AO_fetch_and_add_full
  3435. | | | | + 0.15% encode<osd_reqid_t, denc_traits<osd_reqid_t> >
  3436. | | | | | + 0.10% encode
  3437. | | | | | | + 0.10% encode
  3438. | | | | | | + 0.10% _denc_friend<osd_reqid_t const, ceph::buffer::list::contiguous_appender>
  3439. | | | | | | + 0.05% denc<unsigned long, denc_traits<unsigned long> >
  3440. | | | | | | + 0.05% denc<entity_name_t, denc_traits<entity_name_t> >
  3441. | | | | | + 0.05% get_contiguous_appender
  3442. | | | | + 0.10% MOSDOp::get_object_locator
  3443. | | | | | + 0.10% empty
  3444. | | | | | + 0.10% size
  3445. | | | | + 0.05% encode<std::vector<snapid_t>, denc_traits<std::vector<snapid_t>, void> >
  3446. | | | + 0.40% calc_data_crc
  3447. | | | | + 0.40% ceph::buffer::list::crc32c
  3448. | | | | + 0.35% ceph_crc32c
  3449. | | | | | + 0.35% ceph_crc32c_intel_fast
  3450. | | | | | + 0.35% None
  3451. | | | | | + 0.35% None
  3452. | | | | | + 0.35% crc32_iscsi_00
  3453. | | | | + 0.05% get_crc
  3454. | | | + 0.35% calc_front_crc
  3455. | | | + 0.35% ceph::buffer::list::crc32c
  3456. | | | + 0.20% ceph_crc32c
  3457. | | | | + 0.10% ceph_crc32c_intel_fast
  3458. | | | | | + 0.05% None
  3459. | | | | + 0.10% ceph_crc32c_intel_baseline
  3460. | | | + 0.05% set_crc
  3461. | | + 0.20% ceph::buffer::list::append
  3462. | | + 0.20% push_back
  3463. | | + 0.20% _M_insert<ceph::buffer::ptr const&>
  3464. | | + 0.20% _M_create_node<ceph::buffer::ptr const&>
  3465. | | + 0.15% _M_get_node
  3466. | | | + 0.15% allocate
  3467. | | | + 0.15% operator new
  3468. | | | + 0.15% __GI___libc_malloc
  3469. | | | + 0.10% _int_malloc
  3470. | | + 0.05% construct<std::_List_node<ceph::buffer::ptr>, ceph::buffer::ptr const&>
  3471. | + 0.65% _get_next_outgoing
  3472. | | + 0.45% erase
  3473. | | | + 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
  3474. | | | | + 0.25% erase
  3475. | | | | + 0.25% _M_erase_aux
  3476. | | | | + 0.25% clear
  3477. | | | | + 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
  3478. | | | | + 0.20% _M_destroy_node
  3479. | | | | | + 0.15% destroy<std::_Rb_tree_node<std::pair<int const, std::list<std::pair<ceph::buffer::list, Message*> > > > >
  3480. | | | | | | + 0.15% ~_Rb_tree_node
  3481. | | | | | | + 0.15% ~pair
  3482. | | | | | | + 0.15% ~list
  3483. | | | | | | + 0.15% ~_List_base
  3484. | | | | | | + 0.15% std::_List_base<std::pair<ceph::buffer::list, Message*>, std::allocator<std::pair<ceph::buffer::list, Message*> > >::_M_clear
  3485. | | | | | + 0.05% _M_put_node
  3486. | | | | + 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
  3487. | | | + 0.20% _M_erase
  3488. | | | + 0.20% _M_put_node
  3489. | | | + 0.20% deallocate
  3490. | | | + 0.10% _int_free
  3491. | | | + 0.10% __GI___libc_free
  3492. | | + 0.05% operator->
  3493. | | + 0.05% ceph::buffer::list::swap
  3494. | + 0.15% lock
  3495. | | + 0.10% __gthread_mutex_lock
  3496. | | + 0.10% __GI___pthread_mutex_lock
  3497. | | + 0.05% _L_lock_791
  3498. | + 0.05% read
  3499. | + 0.05% list
  3500. + 2.10% C_handle_notify::do_request
  3501. | + 2.10% read
  3502. | + 2.10% read
  3503. + 0.30% ~deque
  3504. | + 0.20% std::_Deque_base<EventCallback*, std::allocator<EventCallback*> >::~_Deque_base
  3505. | | + 0.15% _M_destroy_nodes
  3506. | | + 0.15% _M_deallocate_node
  3507. | | + 0.15% deallocate
  3508. | | + 0.10% _int_free
  3509. | | + 0.05% __GI___libc_free
  3510. | + 0.05% _int_free
  3511. + 0.20% now
  3512. | + 0.20% clock_gettime
  3513. + 0.20% deque
  3514. | + 0.20% _Deque_base
  3515. | + 0.20% _M_initialize_map
  3516. | + 0.10% _M_create_nodes
  3517. | | + 0.10% _M_allocate_node
  3518. | | + 0.10% allocate
  3519. | | + 0.10% operator new
  3520. | | + 0.10% __GI___libc_malloc
  3521. | | + 0.05% _int_malloc
  3522. | + 0.05% _M_set_node
  3523. | + 0.05% _M_allocate_map
  3524. + 0.10% _ZN15AsyncConnection7processEv@plt
  3525. + 0.05% ~vector
  3526. + 0.05% C_handle_read::do_request
  3527.  
  3528. Thread: 19 (admin_socket) - 2000 samples
  3529.  
  3530. + 100.00% clone
  3531. + 100.00% start_thread
  3532. + 100.00% AdminSocket::entry
  3533. + 100.00% poll
  3534. + 100.00% poll
  3535.  
  3536. Thread: 20 (service) - 2000 samples
  3537.  
  3538. + 100.00% clone
  3539. + 100.00% start_thread
  3540. + 100.00% CephContextServiceThread::entry
  3541. + 100.00% WaitInterval
  3542. + 100.00% WaitUntil
  3543. + 100.00% pthread_cond_timedwait@@GLIBC_2.3.2
  3544.  
  3545. Thread: 21 (log) - 2000 samples
  3546.  
  3547. + 100.00% clone
  3548. + 100.00% start_thread
  3549. + 100.00% ceph::logging::Log::entry
  3550. + 100.00% pthread_cond_wait@@GLIBC_2.3.2
  3551.  
  3552. Thread: 22 (fio) - 2000 samples
  3553.  
  3554. + 100.00% clone
  3555. + 100.00% start_thread
  3556. + 100.00% helper_thread_main
  3557. + 100.00% pthread_cond_timedwait@@GLIBC_2.3.2
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement