Re: disabling buffer::raw crc cache

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

 



>>>the code logic would touch crc cache is bufferlist::crc32c and invalidate_crc.
>>Also for pg_log::_write_log(), but seems it is always miss and use at
>>once, no need to cache crc actually?
> Oh, no, it will be hit in FileJournal writing
Still miss as buffer::ptr length diff with ::encode(crc, bl), right?
So the previous ebl.crc32c(0) calculation would be also no need to
cache.
Regards
Ning Yao


2015-11-11 18:05 GMT+08:00 Ning Yao <zay11022@xxxxxxxxx>:
>>>the code logic would touch crc cache is bufferlist::crc32c and invalidate_crc.
>>Also for pg_log::_write_log(), but seems it is always miss and use at
>>once, no need to cache crc actually?
> Oh, no, it will be hit in FileJournal writing
> Regards
> Ning Yao
>
>
> 2015-11-11 18:03 GMT+08:00 Ning Yao <zay11022@xxxxxxxxx>:
>>>>the code logic would touch crc cache is bufferlist::crc32c and invalidate_crc.
>> Also for pg_log::_write_log(), but seems it is always miss and use at
>> once, no need to cache crc actually?
>>
>> So we may need to add some option to enable or disable it, or some
>> identifier to instruct bufferlist wheher crc should be cached when
>> initiating a new bufferlist. I think it may still be useful on the
>> platform without hardware crc acceleration or large chunks writing (as
>> it may relate to the length of buffer::ptr). So we can bypass the
>> small  buffer::ptr without crc cache Or also don't cache the things
>> like pg_info, attrs as they are always not reused in FileJournal
>> writing?
>> Regards
>> Ning Yao
>>
>>
>> 2015-11-11 16:25 GMT+08:00 Evgeniy Firsov <Evgeniy.Firsov@xxxxxxxxxxx>:
>>> Rb-tree construction, insertion, which needs memory allocation, mutex
>>> lock, unlock is more CPU expensive then streamlined crc calculation of
>>> sometimes 100 bytes or less.
>>>
>>> On 11/11/15, 12:03 AM, "池信泽" <xmdxcxz@xxxxxxxxx> wrote:
>>>
>>>>Ah, I confuse that why the crc cache logic would exhaust so much cpu.
>>>>
>>>>2015-11-11 15:27 GMT+08:00 Evgeniy Firsov <Evgeniy.Firsov@xxxxxxxxxxx>:
>>>>> Hello, Guys!
>>>>>
>>>>> While running CPU bound 4k block workload, I found that disabling crc
>>>>> cache in the buffer::raw gives around 7% performance improvement.
>>>>>
>>>>> If there is no strong use case which benefit from that cache, we would
>>>>> remove it entirely, otherwise conditionally enable it based on the
>>>>>object
>>>>> size.
>>>>>
>>>>> ‹
>>>>> Evgeniy
>>>>>
>>>>> --
>>>>> 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
>>>>
>>>>
>>>>
>>>>--
>>>>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