[Gluster-devel] NetBSD autobuild and cmockery2

Xavier Hernandez xhernandez at datalab.es
Thu Jul 24 07:41:38 UTC 2014


Hi,

On Thursday 24 July 2014 07:04:11 Justin Clift wrote:
> On 24/07/2014, at 5:05 AM, Emmanuel Dreyfus wrote:
> > Harshavardhana <harsha at harshavardhana.net> wrote:
> >>> The change just disable cluster/ec when MMX is not there. If you have
> >>> MMX you have cluster/ec.
> >> 
> >> Unsure - there is assembly code which depends on it but really not sure
> >> why!> 
> > I understand this is an optimized computation:
> > * Multiplications in a GF(2^8) with modulus 0x11D using XOR's
> > 
> > Optimization are desirable, but relying on a CPU-specific assembly seems
> > wrong to me, as it kills portability (what about if you want to run on
> > ARM?)
> 
> That's a good point.  There is definitely Fedora ARM and other non-x86
> architectures around that we shouldn't be ruling out.
> 
> Surely there's some way we can make this work, such that the optimised
> assembler code is only used for cpu's the support it.  With non-optimised
> C or something used for the others.

I'm just working on it. The use of intel's SSE2 extensions were for testing 
purposes on initial development. It proved to compute encoding and decoding 
very fast, but I've always had in mind that this should be changed. However I 
have been more focused on finding bugs and stabilizing the code than changing 
this.

Now I'm working on a pure C solution. I can't predict how it will really 
perform, but an estimate will be half of the speed of SSE2 (basically because 
SSE2 uses 128 bits operations and the new implementation will use 64 bits). 
However this will still be pretty fast.

I'll let you know when it's finished.

Xavi


More information about the Gluster-devel mailing list