FreeBSD Developer Summit: ARMv8 (AArch64/ARM64)
Overview
This is a planning session of next steps for the ARMv8 port.
Goals
The initial bootstrapping of FreeBSD to ARM64 is nearly complete; we need to start planning the next steps towards getting ARMv8 adopted as a Tier1 architecture. The aim of this group is to bring interested parties in the ARM port discuss the steps needed to achieve this goal and identify areas that require work, their priority and how to achieve them.
Topics
# |
Topic Description |
1 |
Update on AArch64 port |
2 |
CPU Scaling |
|
* Minimum support for 48 cores |
3 |
Power Management |
|
* PSCI |
|
* big.LITTLE |
4 |
Virtualization |
|
* bhyve |
|
* Xen |
5 |
Workload Optimization |
|
* What are the top 5 frameworks |
6 |
Toolchain |
|
* LLVM |
|
* LLDB |
|
* LLD |
Attending
In order to attend you need register for the developer summit as well as by email for the session and be confirmed by the working group organizer. Follow the guidelines described on the main page or what you received by email. For questions or if in doubt ask andrew.wafaa@arm.com
Please do NOT add yourself here. Your name will appear automatically once you have received the confirmation email. You need to put your name on the general developer summit attendees list though.
Name |
Username / Affiliation |
Topics of Interest |
Notes |
ARM Ltd. |
|
Session chair |
|
zbb |
|
Working on ARMv8 port |
|
andrew |
|
Working on ARMv8 port |
|
Citrix (Xen Project) |
Virtualization (Xen) |
|
|
Cavium Inc. |
|
|
|
gjb |
|
|
|
BAE Systems |
|
|
|
jhibbits |
Clock & Power Domain |
|
|
sson |
QEMU |
|
|
brooks |
|
|
|
theraven |
|
|
|
|
|
|
|
MichaelBrinke-Engel |
|
|
|
Notes
Results
Topics
Update on AArch64 port
FreeBSD Foundation sponsored by ARM & Cavium
Work carried out by Andrew Turner & SemiHalf. Work is progressing well but not necessarily as quick as some would like. AArch64 is in HEAD, usable with QEMU and Foundation Model with some limitations. Appears some issues remain with PMAP limiting toolchain. Targeting Tier1 architecture for FreeBSD11
- ARM sponsoring University of Cambridge to port Dtrace and HW Performance Counters
- Initial code in HEAD
zbb demoed FreeBSD running on a Cavium ThunderX platform utilising 48cores.
CPU Scaling
- Able to boot with48 cores but stability is an issue
- Unsure as to where the instability lies
- Lack of knowledge/experience with high core counts
- No fundamental issues expected, just new territory
Power Management
ARM expressed importance of Power Management
- PSCI driver is now in HEAD
More details covered in the Clock/Power Domain session from the previous day
Virtualization
- bhyve
- There is a GSOC project to port FreeBSD/buhyve to ARMv7 (32bit). Reason is easy access to hardware, maturity of FreeBSD on ARMv7. Use 32bit as foundation and if possible port to AArch64 during GSOC
- Xen
- Citrix have ported Xen. FreeBSD on AArch64 works as DomU guest only. Dom0 still to be worked on
Workload Optimization
- What are the top 5 frameworks?
- - Standard web stack NGINX is the big ticket item - Language runtimes Erlang is important
Toolchain
- LLVM
- Support is upstream but may not be completely in FreeBSD's implementation. FreeBSD's use is extensive and is catching issues that others have not seen
- LLDB
- Work is ongoing
- LLD
- Work is ongoing. Least developed of the toolchain stack?
- GDB
- jhb volunteers to work on port
- OpenMP (LLVM libomp)(Adrian's WIP for libgomp)
- Deemed important, need someone to look at it
GPU / GPGPU support?
- What are the plans for support?
- opencl fully support AArch64
- ARM is woring on this, not necessarily with FreeBSD in mind
Fault Tolerance / High Availability
- Key item for XinuOS. No ideas on what HW will implement specific HA methods. Software based HA should be no problem
Application specific offload engines
- Some silicon vendors are deploying specific engines. Need to work with vendors to implement support.
- Cavium have announced: compression / decompression, crypto, regex