DynamoRIO / DynamoRIO/dynamorio

AArch64 SVE: Add 128 bit vector length tests to CI

Open
#6,777 0 comments 0 reactions 0 assignees View on GitHub
Component-Tests OpSys-AArch64 OpSys-Linux
Dominant language
C
Stars
3.2k
Forks
629
Avg merge
2d 18h
Merged PRs (30d)
30

Description

The current SVE tests (**aarch64-precommit (ubuntu-20-arm64-sve**)) run on hardware which has a 256 bit vector length (VL) as a thread default, the maximum on that hardware. The fix for https://github.com/DynamoRIO/dynamorio/issues/6760 exposed lack of test coverage based on different VLs.

SVE hardware and SVE support in the Linux kernel enables users to select VLs shorter than the maximum. We can use the same hardware and the [prctl(2)](https://man7.org/linux/man-pages/man2/prctl.2.html) syscall to set VL to 128 to defend changes in VL sensitive code paths. This would be in addition to the existing tests using VL of 256 bits.

Contributor guide

Open the contributing guide

Research direction

Start by locating the aarch64-precommit (ubuntu-20-arm64-sve) SVE test configuration and its existing 256-bit tests. Read how the tests invoke Linux prctl(2), then add coverage using a 128-bit vector length alongside the current 256-bit run. Done means the new 128-bit tests execute in CI on the existing SVE hardware and defend VL-sensitive paths.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, linux
Domain
ci-cd, operating-systems, testing-qa
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.