This is a planning session of next steps for the ARMv8 port.

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.

# 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

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
AndyWafaa ARM Ltd. Session chair
ZbigniewBodek zbb Working on ARMv8 port
AndrewTurner andrew Working on ARMv8 port
JulienGrall Citrix (Xen Project) Virtualization (Xen)
LarryWikelius Cavium Inc.
GlenBarber gjb
ArunThomas BAE Systems
JustinHibbits jhibbits Clock & Power Domain
StaceySon sson QEMU
BrooksDavis brooks
DavidChisnall theraven
EricLeBlan
MichaelBrinke-Engel

Topics

Update on AArch64 port

arm64 Wiki page

  • 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

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

  • devsummit/201506/armv8.txt
  • Last modified: 2021/04/25 09:13
  • by JethroNederhof