On Sun, 1 Nov 2015, ??? wrote: > Yes, I think so. > keeping them separate and pass them to > ObjectStore::queue_transactions() would increase the time on > transaction encode process and exhaust more cpu. > > The transaction::append holds 0.8% cpu on my environment. > The transaction encoding is also really a bottleneck which process > holds 1.8% cpu on my environment. Where is the append() caller you're looking at? I'm not seeing it. sage > > 2015-11-01 4:42 GMT+08:00 Sage Weil <sage@xxxxxxxxxxxx>: > > On Sat, 31 Oct 2015, Ning Yao wrote: > >> Yeah, since issue_op is called before log_operation, we may consider > >> to reuse op_t after sent encoded op_t to the wire. local_t.append(), > >> at least, does copy the op_bl in op_t transaction and we may avoid > >> this memory copy, and if we can avoid this append operation as well as > >> in sub_op_modify_impl(), it, at least, improves the performance 1%~2% > >> under my testing environment using ssd as Filestore backend. > >> The only difference we find in this path is that local_t should be > >> done first, but actually it seems that the order of the transaction is > >> not quite important. If so, we may refactor and improve this? > > > > I seem to recall that in teh EC case the order does matter (I had switched > > the append order when trying to fix this before but had to revert because > > things broke). > > > > And I'm a bit nervous about re-using local_t and relying on the send vs > > submit timing. Is it not practical to keep them separate and > > pass them both down to ObjectStore::queue_transactions()? > > > > sage > > > > -- > Regards, > xinze > -- > To unsubscribe from this list: send the line "unsubscribe ceph-devel" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > > -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html