RE: CRC32 of messages

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

 



> -----Original Message-----
> From: ceph-devel-owner@xxxxxxxxxxxxxxx [mailto:ceph-devel-
> owner@xxxxxxxxxxxxxxx] On Behalf Of Erik G. Burrows
> Sent: Friday, June 26, 2015 6:49 PM
> 
> All,
> Can someone explain to me the rationale for performing in-software CRC32
> hashes of all messages through the Pipe and AsyncMessage classes?
> 
> On my servers, operf shows that 20% of the total CPU time in my benchmark
> tests are being spent in the librados ceph_crc32c_sctp function. I can see that
> the library is trying to use CPU accelerations if available, but what I'd like to
> understand is: why checksum the messages at all?

As Somnath already wrote, you can disable CRC checking for messages. But they're also used for journals, among other things, so you'll always see some CPU usage spent on CRC32 calculations.

> If the messages are local, there should not be any corruption at all, and if
> they are coming in over IP, then the kernel and NIC should do Layer-2/3 CRCs
> and reject any corrupted packets. So why re-CRC the messages at the Ceph
> layer?

I can imagine data corruption coming from Ceph itself and not caught by IP layers, for example due to bug in Ceph code or mainboard/RAM failure. And it's a nice debug feature you can use when dealing with low-level code.

With best regards / Pozdrawiam
Piotr Dałek
--
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