https://tracker.ceph.com/https://tracker.ceph.com/favicon.ico2017-10-20T13:31:13ZCeph RADOS - Bug #21845: Objecter::_send_op unnecessarily constructs costly hobject_t https://tracker.ceph.com/issues/21845?journal_id=1011142017-10-20T13:31:13ZJason Dillamandillaman@redhat.com
<ul><li><strong>Status</strong> changed from <i>New</i> to <i>In Progress</i></li><li><strong>Assignee</strong> set to <i>Jason Dillaman</i></li></ul> RADOS - Bug #21845: Objecter::_send_op unnecessarily constructs costly hobject_t https://tracker.ceph.com/issues/21845?journal_id=1011152017-10-20T13:33:49ZJason Dillamandillaman@redhat.com
<ul><li><strong>Status</strong> changed from <i>In Progress</i> to <i>Fix Under Review</i></li><li><strong>Backport</strong> set to <i>luminous</i></li></ul><p><strong>PR</strong>: <a class="external" href="https://github.com/ceph/ceph/pull/18427">https://github.com/ceph/ceph/pull/18427</a></p> RADOS - Bug #21845: Objecter::_send_op unnecessarily constructs costly hobject_t https://tracker.ceph.com/issues/21845?journal_id=1011162017-10-20T13:35:45ZHaomai Wanghaomaiwang@gmail.com
<ul></ul><p>I really don't agree that this will cause 10% performance degraded... the construct should be nanoseconds level..</p> RADOS - Bug #21845: Objecter::_send_op unnecessarily constructs costly hobject_t https://tracker.ceph.com/issues/21845?journal_id=1011172017-10-20T13:36:27ZHaomai Wanghaomaiwang@gmail.com
<ul></ul><p>of course, it's a good cleanup</p> RADOS - Bug #21845: Objecter::_send_op unnecessarily constructs costly hobject_t https://tracker.ceph.com/issues/21845?journal_id=1011192017-10-20T13:39:59ZJason Dillamandillaman@redhat.com
<ul></ul><p>multiple runs of "perf record" didn't lie -- and neither did the fact that moving it increased performance by ~10% under repeated testing.</p> RADOS - Bug #21845: Objecter::_send_op unnecessarily constructs costly hobject_t https://tracker.ceph.com/issues/21845?journal_id=1011202017-10-20T13:43:04ZJason Dillamandillaman@redhat.com
<ul></ul><p>... I should also note that in unrelated "perf record" sessions for the "debug ms = 0/1" performance depredations, you could see a decent hit just in "hobject_t::operator<<" where it default constructs itself to test if it's the minimum [1]</p>
<p>[1] <a class="external" href="https://github.com/ceph/ceph/blob/edbd6edb0471d5e61815b29a1c4a50e21f3b8d12/src/common/hobject.cc#L239">https://github.com/ceph/ceph/blob/edbd6edb0471d5e61815b29a1c4a50e21f3b8d12/src/common/hobject.cc#L239</a></p> RADOS - Bug #21845: Objecter::_send_op unnecessarily constructs costly hobject_t https://tracker.ceph.com/issues/21845?journal_id=1011212017-10-20T13:46:47ZHaomai Wanghaomaiwang@gmail.com
<ul></ul><p>we have a lots of "xx == hobject_t()" judgements in the codes...</p> RADOS - Bug #21845: Objecter::_send_op unnecessarily constructs costly hobject_t https://tracker.ceph.com/issues/21845?journal_id=1011232017-10-20T13:54:29ZJason Dillamandillaman@redhat.com
<ul></ul><p>Indeed -- in the OSDs. I only benchmarked the librbd clients under high IOPS workloads and that call is only executed in "operator<<" from a client's perspective.</p> RADOS - Bug #21845: Objecter::_send_op unnecessarily constructs costly hobject_t https://tracker.ceph.com/issues/21845?journal_id=1011952017-10-21T17:45:48ZSage Weilsage@newdream.net
<ul><li><strong>Status</strong> changed from <i>Fix Under Review</i> to <i>Pending Backport</i></li></ul> RADOS - Bug #21845: Objecter::_send_op unnecessarily constructs costly hobject_t https://tracker.ceph.com/issues/21845?journal_id=1013182017-10-25T08:13:58ZNathan Cutlerncutler@suse.cz
<ul><li><strong>Copied to</strong> <i><a class="issue tracker-9 status-3 priority-4 priority-default closed" href="/issues/21921">Backport #21921</a>: luminous: Objecter::_send_op unnecessarily constructs costly hobject_t </i> added</li></ul> RADOS - Bug #21845: Objecter::_send_op unnecessarily constructs costly hobject_t https://tracker.ceph.com/issues/21845?journal_id=1056822018-01-23T23:55:40ZNathan Cutlerncutler@suse.cz
<ul><li><strong>Status</strong> changed from <i>Pending Backport</i> to <i>Resolved</i></li></ul>