cloudflare / cloudflare/cloudflared

Set GOARM64=v8.4,lse,crypto

Open
#1,407 0 comments 0 reactions 0 assignees View on GitHub
Priority: Normal Type: Feature Request
Dominant language
Go
Stars
15.6k
Forks
1.4k
PR merge metrics
No merged PRs in 30d

Description

Add support for GOARM64 environment variable in cloudflared builds to optimize performance on modern ARM servers, particularly AWS Graviton processors. This would allow users to target specific ARM CPU features and extensions like LSE (Large System Extensions) and hardware crypto acceleration.

- Enables optimal performance on ARM servers by utilizing hardware-specific features
Reduces CPU usage through hardware-accelerated crypto operations
- Improves multi-threaded performance with LSE atomic instructions
- Allows fine-grained control over ARM architecture compatibility requirements

I propose setting `GOARM64=v8.4,lse,crypto`

This provides:

- ARMv8.4-A features for improved virtualization and memory management
- LSE for better atomic operations and concurrency
- Hardware crypto acceleration for TLS operations

This setting would provide optimal performance while maintaining compatibility with:

- AWS Graviton 2/3
- Modern ARM servers like Ampere Altra
- Other ARMv8.4+ processors

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.