Re: why we use two ObjectStore::Transaction in ReplicatedBackend::submit_transaction?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



If we keep them separate and pass them to
ObjectStore::queue_transactions() ,the cpu usage of
ObjectStore::queue_transactions() would take up from 6.03% to 6.76%
compared with re-using op_t items.

2015-11-01 11:05 GMT+08:00 池信泽 <xmdxcxz@xxxxxxxxx>:
> 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.
>
> 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



-- 
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



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux