Skip to content

Instantly share code, notes, and snippets.

@rzarzynski
Created January 31, 2018 10:05
Show Gist options
  • Save rzarzynski/baba188854f585afad7071c903e93d8d to your computer and use it in GitHub Desktop.
Save rzarzynski/baba188854f585afad7071c903e93d8d to your computer and use it in GitHub Desktop.
The cost of md_config_t::get_val<T> during 4 KiB randreads
Samples: 488K of event 'cycles:p', Event count (approx.): 113041752223
Children Self Command Shared Object Symbol ◆
- 54,45% 0,08% tp_osd_tp ceph-osd [.] ShardedThreadPool::shardedthreadpool_worker ▒
- 54,37% ShardedThreadPool::shardedthreadpool_worker ▒
- 54,21% OSD::ShardedOpWQ::_process ▒
- 38,63% PGOpItem::run ▒
- 37,92% OSD::dequeue_op ▒
- 36,03% PrimaryLogPG::do_request ▒
- 34,42% PrimaryLogPG::do_op ▒
- 21,97% PrimaryLogPG::execute_ctx ▒
- 9,15% PrimaryLogPG::prepare_transaction ▒
- 8,92% PrimaryLogPG::do_osd_ops ▒
+ 6,59% PrimaryLogPG::do_read ▒
- 1,77% md_config_t::get_val<bool> ▒
- 1,73% md_config_t::get_val_generic ▒
- 1,55% md_config_t::_get_val_generic ▒
0,53% ConfFile::normalize_key_name ▒
0,51% std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<cha▒
- 7,36% PrimaryLogPG::complete_read_ctx ▒
- 3,38% PG::publish_stats_to_osd ▒
- 1,68% md_config_t::get_val<unsigned long> ▒
- 1,62% md_config_t::get_val_generic ▒
- 1,49% md_config_t::_get_val_generic ▒
0,51% std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<cha▒
Samples: 924K of event 'cycles:p', Event count (approx.): 225233537585
Children Self Command Shared Object Symbol ◆
- 56,06% 0,13% tp_osd_tp ceph-osd [.] ShardedThreadPool::shardedthreadpool_worker ▒
- 55,93% ShardedThreadPool::shardedthreadpool_worker ▒
- 55,70% OSD::ShardedOpWQ::_process ▒
- 24,53% PGOpItem::run ▒
- 23,53% OSD::dequeue_op ▒
- 21,74% PrimaryLogPG::do_request ▒
- 20,37% PrimaryLogPG::do_op ▒
- 9,59% PrimaryLogPG::execute_ctx ▒
- 5,30% PrimaryLogPG::prepare_transaction ▒
- 5,21% PrimaryLogPG::do_osd_ops ▒
+ 3,56% PrimaryLogPG::do_read ▒
- 1,25% md_config_t::get_val<bool> ▒
- 1,22% md_config_t::get_val_generic ▒
1,04% md_config_t::_get_val_generic ▒
+ 2,04% PrimaryLogPG::OpContext::start_async_reads ▒
+ 1,76% PrimaryLogPG::maybe_await_blocked_head ▒
1,28% MOSDOp::finish_decode ▒
+ 1,05% std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream ▒
+ 0,85% PrimaryLogPG::find_object_context ▒
0,84% PG::op_has_sufficient_caps ▒
+ 0,76% OpRequest::mark_flag_point ▒
0,68% Connection::get_priv ▒
0,59% PrimaryLogPG::OpContext::OpContext ▒
0,56% Connection::get_priv ▒
0,69% Connection::get_priv ▒
+ 0,67% OpRequest::mark_flag_point ▒
+ 0,92% Mutex::Unlock ▒
- 18,66% PGRecoveryContext::run ▒
- 18,29% PrimaryLogPG::execute_ctx ▒
+ 5,84% OpTracker::unregister_inflight_op ▒
- 4,90% PrimaryLogPG::complete_read_ctx ▒
- 2,58% PG::publish_stats_to_osd ▒
- 1,17% md_config_t::get_val<unsigned long> ▒
- 1,14% md_config_t::get_val_generic ▒
0,98% md_config_t::_get_val_generic ▒
+ 1,65% AsyncConnection::send_message ▒
- 1,72% PrimaryLogPG::prepare_transaction ▒
- 1,57% PrimaryLogPG::do_osd_ops ▒
- 1,17% md_config_t::get_val<bool> ▒
- 1,14% md_config_t::get_val_generic ▒
0,97% md_config_t::_get_val_generic
│ _ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N5boost7variantINS8_5blankEJS5_mldb13entity_addr_t6uuid_dEEEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE14_M_lower_b▒
│ _Compare, _Alloc>::const_iterator ▒
│ _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: ▒
│ _M_lower_bound(_Const_Link_type __x, _Const_Base_ptr __y, ◆
│ const _Key& __k) const ▒
│ { ▒
│ while (__x != 0) ▒
0,66 │ test %rcx,%rcx ▒
│ ↓ je be8958 <md_config_t::_get_val_generic(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const+0x288> ▒
│ mov 0x18(%rsp),%r15 ▒
0,04 │ mov 0x10(%rsp),%r14 ▒
0,35 │ mov 0x8(%rsp),%r13 ▒
0,31 │ ↓ jmp be8799 <md_config_t::_get_val_generic(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const+0xc9> ▒
│ nop ▒
1,32 │ c0: mov 0x18(%rcx),%rcx ▒
5,72 │ test %rcx,%rcx ▒
│ ↓ je be87eb <md_config_t::_get_val_generic(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const+0x11b> ▒
1,41 │ c9: mov 0x28(%rcx),%rbx ▒
34,71 │ mov %r15,%rdx ▒
0,26 │ cmp %r15,%rbx ▒
1,32 │ cmovbe %rbx,%rdx ▒
│ _ZNSt11char_traitsIcE7compareEPKcS2_m(): ▒
│ } ▒
│ ▒
│ static /* _GLIBCXX17_CONSTEXPR */ int ▒
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment