cyrus-imap buildin: sse extention

ellie timoney ellie at fastmail.com
Sun Jun 28 20:29:19 EDT 2020


Hi Sergey,

> Hardware support:
>    SSE4.2:             yes

This is detected for a hardware implementation of the CRC32c algorithm.  Cyrus doesn't actually use it though, because it's not compatible with the existing CRC32 algorithm: i.e. for the same input, it produces a different checksum, which would break everything on a system with pre-existing data.

If you _want_ to use the hardware CRC32c algorithm on a brand new deployment (and know what you are doing), I believe at this stage you would need to patch Cyrus to use it -- the code is there, but it is never called.

> Can Cyrus-IMAP be running on systems without SSE4 at this case?

Yep, it'll work just fine.  The hardware CRC32c code will simply not be compiled, which, since it isn't used anyway, will have no effect.

> If no, can I set limit to SSE2 ?

There's currently no configurability for this at all.  I don't know if it's even possible to implement the same algorithm with SSE2.  At the moment I assume that, since it's looking for SSE42 specifically, then that means that the hardware feature it needs is probably only available in SSE42.

Cheers,

ellie


More information about the Info-cyrus mailing list