Mercury: Preserve ARM64 FP state across Mercury contexts - #2722
Conversation
|
Status Flag 'Pre-Test Inspection' - Auto Inspected - Inspection is Not Necessary for this Pull Request. |
|
Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects: Pull Request Auto Testing STARTING (click to expand)Build InformationTest Name: SST__Autotest_sst-test_OMPI-4.1.4_PY3.9_sst-elements
Build InformationTest Name: SST__Autotest_sst-test_OMPI-4.1.4_PY3.9_sst-elements_Make-Dist
Build InformationTest Name: SST__Autotest_sst-test_OMPI-4.1.4_PY3.9_sst-elements_MT-2
Build InformationTest Name: SST__Autotest_sst-test_OMPI-4.1.4_PY3.9_sst-elements_MR-2
Build InformationTest Name: SST__Autotest_OSX-15-XC16_OMPI-4.1.6_PY3.10_sst-elements
Using Repos:
Pull Request Author: nab880 |
|
Status Flag 'Pull Request AutoTester' - Error: Jenkins Jobs - Timed out waiting for build 2875 to complete: Total Wait = 5460; Job Timeout = 5400 |
|
Status Flag 'Pull Request AutoTester' - Jenkins Testing: 1 or more Jobs FAILED Note: Testing will normally be attempted again in approx. 8 Hrs. If a change to the PR source branch occurs, the testing will be attempted again on next available autotester run. Pull Request Auto Testing has FAILED (click to expand)Job: SST__Autotest_sst-test_OMPI-4.1.4_PY3.9_sst-elements
Job: SST__Autotest_sst-test_OMPI-4.1.4_PY3.9_sst-elements_Make-Dist
Job: SST__Autotest_sst-test_OMPI-4.1.4_PY3.9_sst-elements_MT-2
Job: SST__Autotest_sst-test_OMPI-4.1.4_PY3.9_sst-elements_MR-2
Job: SST__Autotest_OSX-15-XC16_OMPI-4.1.6_PY3.10_sst-elements
|
jpkenny
left a comment
There was a problem hiding this comment.
All looks fine to me, I just want to document how this differs from historical practice in this code base:
To date, we've never needed to change the assembly here, which all comes straight from boost fcontext. We only modified the interface slightly to hook it into macro/mercury. How were these asm modifications actually obtained, and how would we go about preserving their effect if we need to bring in other boost fcontext updates down the road?
|
Status Flag 'Pull Request AutoTester' - Failure: Timed out waiting for job SST__Autotest_sst-test_OMPI-4.1.4_PY3.9_sst-elements_MR-2 to start: Total Wait = 303
|
|
Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects: Pull Request Auto Testing STARTING (click to expand)Build InformationTest Name: SST__Autotest_sst-test_OMPI-4.1.4_PY3.9_sst-elements
Build InformationTest Name: SST__Autotest_sst-test_OMPI-4.1.4_PY3.9_sst-elements_Make-Dist
Build InformationTest Name: SST__Autotest_sst-test_OMPI-4.1.4_PY3.9_sst-elements_MT-2
Build InformationTest Name: SST__Autotest_sst-test_OMPI-4.1.4_PY3.9_sst-elements_MR-2
Build InformationTest Name: SST__Autotest_OSX-15-XC16_OMPI-4.1.6_PY3.10_sst-elements
Using Repos:
Pull Request Author: nab880 |
|
Status Flag 'Pull Request AutoTester' - Jenkins Testing: all Jobs PASSED Pull Request Auto Testing has PASSED (click to expand)Build InformationTest Name: SST__Autotest_sst-test_OMPI-4.1.4_PY3.9_sst-elements
Build InformationTest Name: SST__Autotest_sst-test_OMPI-4.1.4_PY3.9_sst-elements_Make-Dist
Build InformationTest Name: SST__Autotest_sst-test_OMPI-4.1.4_PY3.9_sst-elements_MT-2
Build InformationTest Name: SST__Autotest_sst-test_OMPI-4.1.4_PY3.9_sst-elements_MR-2
Build InformationTest Name: SST__Autotest_OSX-15-XC16_OMPI-4.1.6_PY3.10_sst-elements
|
|
Status Flag 'Pre-Merge Inspection' - - This Pull Request Requires Inspection... The code must be inspected by a member of the Team before Testing/Merging |
|
All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur... |
1 similar comment
|
All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur... |
|
The bug existed in the boost library from October 2015 until November 2016 and Our copy sits in that window. sst-macro picked the fix up at some point (looks like Dec 2021); Mercury's copy never did. So if we shouldn't really need to preserve this change, every upstream revision since boost 1.63 has it. The Mercury-local delta is still just the symbol prefix. I could update to a current Boost tag with as a separate PR as well, if that's preferable. |
|
All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur... |
Ah, ok, so this is just an update to get back aligned with more recent boost. That's fine then. Preplexing if it was fixed in macro in 2021 as Mercury was split off long after that. |
|
Status Flag 'Pre-Merge Inspection' - SUCCESS: The last commit to this Pull Request has been INSPECTED AND APPROVED by [ jpkenny ]! |
|
Status Flag 'Pull Request AutoTester' - Pull Request MUST BE MERGED MANUALLY BY Project Team - This Repo does not support Automerge |
Fix Mercury’s ARM64 fcontext implementation to preserve the AAPCS64 callee-saved floating-point registers d8–d15 across context switches. Updates both ELF and Mach-O assembly.