[SERVER-28007] Re-enable support for CRC32 hardware acceleration on s390x Created: 14/Feb/17  Updated: 06/Dec/17  Resolved: 28/Apr/17

Status: Closed
Project: Core Server
Component/s: Portability
Affects Version/s: None
Fix Version/s: 3.4.5, 3.5.7

Type: Task Priority: Major - P3
Reporter: Mark Benvenuto Assignee: Mark Benvenuto
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Depends
depends on WT-3173 Add runtime detection for s390x CRC32... Closed
Related
related to SERVER-27963 Disable CRC32 hardware support on s39... Closed
Backwards Compatibility: Fully Compatible
Backport Requested:
v3.4
Sprint: Platforms 2017-04-17, Platforms 2017-05-08
Participants:

 Description   

After WT-3173 is merged in master, and 3.4, the evergreen builders for SUSE 12, RHEL 7, and Ubuntu should enable support for CRC32 hardware acceleration.



 Comments   
Comment by Mark Benvenuto [ 02/May/17 ]

Thank you michael.hoeller@akazia.de for your help. I have backported enabling the CRC32 hardware detection to 3.4. The z13+ chips will now take advantage of the CRC32 hardware support in 3.4.5.

Comment by Githook User [ 02/May/17 ]

Author:

{u'username': u'markbenvenuto', u'name': u'Mark Benvenuto', u'email': u'mark.benvenuto@mongodb.com'}

Message: SERVER-28007 Re-enable support for CRC32 hardware acceleration on s390x

(cherry picked from commit c49c689fd78432b9df204185f25b79dddbbdebb2)
Branch: v3.4
https://github.com/mongodb/mongo/commit/3b4c774c33428a0cd33f9a12cbdfcb12aafe1bee

Comment by Mark Benvenuto [ 01/May/17 ]

Michael,

Here is a link to a s390x SLES 12 build

Important: This is an experimental development build from our master branch. Do not use it with a production database, etc.

I only need you to verify it starts, run the following commands to ensure it uses its own local database files instead of the default /data files on the machine.

$ mkdir scratch
$ ./mongod --dbpath scratch

If it starts successfully, then I can backport the change to 3.4. It does not log whether it is using the CRC32 hardware instructions either way.

Thanks

Mark

Comment by Michael Höller [ 01/May/17 ]

Hello Mark,

since I am working for a customer, I will ask for an ok to use his z12 System to test I think I will have this answer until your next morning. If it will be positive response, I will use a SLES 12.2

Best regards
Michael

Comment by Mark Benvenuto [ 01/May/17 ]

Michael,

Right now, I only have access to z13 hardware. As such, I cannot be sure of the change unless I can test the hardware detection works on a z12 system.

If you can verify a nightly test binary from master runs successfully on a z12 system, then I can backport this change to our 3.4 release branch, and then the z13 machines can take advantage of the CRC32 acceleration. After the backport is done, I could tell you which release the CRC32 hardware will be available in.

Which operating systems (RHEL, SUSE, Ubuntu) for your z12 and z13 system do you need binaries for testing purposes? I just need you to verify the binary starts on a z12. The nightly build from master is only for testing purposes, and should be only used to evaluate this change.

Thanks

Mark

Comment by Michael Höller [ 28/Apr/17 ]

Hello Mark,

thanks for pointing that out. I am sorry for my fault mentioning. I want to stress test on z12, z13, ... and currently (as you know) the version plus CRC32 was not backward compatible to z12 . Somewhere is a ticket about it from me this is closed and the issue is covered with this ticket. Bottom line I am interested in a Potential release date so that I can plan my testings..

Thanks a lot
Michael

Comment by Mark Benvenuto [ 28/Apr/17 ]

michael.hoeller@akazia.de, The CRC32 hardware acceleration is only available on z13 chips and Linux kernels which support the VX instructions. You can check this by looking for vx in cat /proc/cpuinfo.

Background: https://jira.mongodb.org/browse/SERVER-25853?focusedCommentId=1371952&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-1371952

Comment by Githook User [ 28/Apr/17 ]

Author:

{u'username': u'markbenvenuto', u'name': u'Mark Benvenuto', u'email': u'mark.benvenuto@mongodb.com'}

Message: SERVER-28007 Re-enable support for CRC32 hardware acceleration on s390x
Branch: master
https://github.com/mongodb/mongo/commit/c49c689fd78432b9df204185f25b79dddbbdebb2

Comment by Michael Höller [ 28/Apr/17 ]

Hello,
great to see that the code change is under review, I need to do some MongoDB testing on z12 and would like to use CRC32 do you have an estimation when you are going to release this changes?
Thanks a lot
Michael

Generated at Thu Feb 08 04:16:52 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.