Bug 1140845

Summary: Current implementation depends on Intel's SSE2 extensions
Product: [Community] GlusterFS Reporter: Xavi Hernandez <jahernan>
Component: disperseAssignee: Xavi Hernandez <jahernan>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: high Docs Contact:
Priority: unspecified    
Version: 3.6.0CC: bugs, ndevos
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: glusterfs-3.6.0beta1 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 1125166 Environment:
Last Closed: 2014-11-11 08:38:33 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1125166    
Bug Blocks: 1117822    

Description Xavi Hernandez 2014-09-11 19:59:25 UTC
+++ This bug was initially created as a clone of Bug #1125166 +++

Description of problem:

Currently EC xlator uses inline assembler and makes use of XMM registers of Intel's SSE2 extensions.

This is not portable and should be converted to standard C.

Version-Release number of selected component (if applicable): 3.6


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

--- Additional comment from Anand Avati on 2014-08-04 21:14:17 CEST ---

REVIEW: http://review.gluster.org/8413 (ec: Removed SSE2 dependency) posted (#1) for review on master by Xavier Hernandez (xhernandez)

--- Additional comment from Anand Avati on 2014-09-08 13:20:42 CEST ---

REVIEW: http://review.gluster.org/8413 (ec: Removed SSE2 dependency) posted (#2) for review on master by Xavier Hernandez (xhernandez)

Comment 1 Anand Avati 2014-09-12 07:32:08 UTC
REVIEW: http://review.gluster.org/8701 (ec: Removed SSE2 dependency) posted (#1) for review on release-3.6 by Xavier Hernandez (xhernandez)

Comment 2 Anand Avati 2014-09-12 09:56:53 UTC
COMMIT: http://review.gluster.org/8701 committed in release-3.6 by Vijay Bellur (vbellur) 
------
commit 449c046bf6b039b2ba86be34677056686f7bc5ce
Author: Xavier Hernandez <xhernandez>
Date:   Mon Aug 4 20:50:31 2014 +0200

    ec: Removed SSE2 dependency
    
    This patch implements the Galois Field multiplications using pure C
    code without any assembler support. This makes the ec xlator portable
    to other architectures.
    
    In the future it will be possible to use an optimized implementation
    of the multiplications using architecture dependent facilities (it
    will be automatically detected and configured). To allow bricks with
    different machine word sizes to be able to work seamlessly in the
    same volume, the minimum fragment length to be stored in any brick
    has been fixed to 512 bytes. Otherwise, different implementations
    will corrupt the data (SSE2 used 128 bytes, while new implementation
    would have used 64).
    
    This patch also removes the '-msse2' option added on patch
    http://review.gluster.org/8396/
    
    This is a backport of http://review.gluster.org/8413/
    
    Change-Id: Iaf6e4ef3dcfda6c68f48f16ca46fc4fb61a215f4
    BUG: 1140845
    Signed-off-by: Xavier Hernandez <xhernandez>
    Reviewed-on: http://review.gluster.org/8701
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Vijay Bellur <vbellur>

Comment 3 Niels de Vos 2014-09-22 12:45:59 UTC
A beta release for GlusterFS 3.6.0 has been released. Please verify if the release solves this bug report for you. In case the glusterfs-3.6.0beta1 release does not have a resolution for this issue, leave a comment in this bug and move the status to ASSIGNED. If this release fixes the problem for you, leave a note and change the status to VERIFIED.

Packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update (possibly an "updates-testing" repository) infrastructure for your distribution.

[1] http://supercolony.gluster.org/pipermail/gluster-users/2014-September/018836.html
[2] http://supercolony.gluster.org/pipermail/gluster-users/

Comment 4 Niels de Vos 2014-11-11 08:38:33 UTC
This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-3.6.1, please reopen this bug report.

glusterfs-3.6.1 has been announced [1], packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution.

[1] http://supercolony.gluster.org/pipermail/gluster-users/2014-November/019410.html
[2] http://supercolony.gluster.org/mailman/listinfo/gluster-users