Table of Contents | ||||
---|---|---|---|---|
|
Sep 19, 2024
Attendees:
- Michelle Martineau, The Linux Foundation
- Terje Bergstrom, NVIDIA
- Kumar Sankaran, Ventana
- Alexey Bataev, SiFive
- Jian Xiong, Alibaba
- David Weaver, Akeana
- Robin Randhawa, SiFive
- Brian Harrington, RedHat
- Simon Harvey, Imagination
- Barna Ibrahim, Rivos
- Gordan Markus, Cannonical
- Ming-yu Hung, Mediatek
- Ludovic Henry, Rivos
- Robin Randhawa, SiFiive
- Tim Ouyang, Andes
Agenda:
Language Runtimes Deep Dive led by Ludovic Henry
- Status Update: Java
- Java 17, 21, 22, 23, and tip are available
- Java 11 still doesn’t pass public CI yet
- More and more vectorized intrinsics: base64, crc32, chacha20, adler32
- Better code lowering: rounding, reverse bytes, rotate left/right, unsigned comparisons, shift left/right, vector-scalar/vector-immediate bitwise logic, count leading/trailing zeros, popcount, casting
- LR_00_007: Distribute Java 11 + 17 + 21 in Adoptium
- LR_00_001: Improve support for Vector extension in OpenJDK
- LR_00_027: Implement aes encode/decode intrinsics - WIP
- LR_00_030: Implement Base64 intrinsics - Done
- Status Update: Go
- Depends on availability of RVV 1.0 hardware on Scaleway
- LR_02_007: Accelerate crypto/sha256 and crypto/sha512 with hand-written assembly [RFP001] - Done
- LR_02_024: Use Bitmanip instruction in compiler where optimal [RFP001] - Done
- LR_02_005: Accelerate math/big with hand-written assembly [RFP001] - 95% Done
- LR_02_002: Support for Vector extension in Go Assembler [RFP001] - WIP
- LR_02_027: Support for Vector Crypto extensions in Go Assembler [RFP001] - WIP
- LR_02_0029: Add RISC-V boards to Go upstream CI
- Status Update: Python
- pandas, ninja, numpy, scipy, MarkupSafe, optree, psutil, msgpack, cibuildwheel, auditwheel, cmake, PyYAML, pillow, maturin, lintrunner, tlparse, nh3, lxml, cffi, cryptography
- Registry: https://gitlab.com/groups/riseproject/python/-/packages
- Based on Ubuntu 22.04
- Working with them to provide AlmaLinux 10 in RISC-V
- Distributing packages for RISC-V
- Dependency on AlmaLinux
- Status Update: Javascript
- No changes since last update
- Status Update: Rust
- Bring Linux-RISC-V to tier1 platform
- Newly supported since last update
- LR_07_001: Gap Analysis - WIP
- Status Update: WebAssembly
- WASM SIMD: VLS (128bits vectors)
- WASM Flexible Vector: VLA, largely inspired by RVV/SVE
- Newly supported since last update
- LR_08_001: Support for WASM SIMD
- Work Prioritization
- Java: https://wiki.riseproject.dev/display/HOME/LR_00%3A+Java
- Python: https://wiki.riseproject.dev/display/HOME/LR_01%3A+Python
- Go: https://wiki.riseproject.dev/display/HOME/LR_02%3A+Go
- Javascript: https://wiki.riseproject.dev/display/HOME/LR_06%3A+Javascript
- Rust: https://wiki.riseproject.dev/display/HOME/LR_07%3A+Rust
- WASM: https://wiki.riseproject.dev/display/HOME/LR_08%3A+WebAssembly
- Wiki is up-to-date
- Please comment on mailing list for prioritization
- Anything not listed you’d like to see?
- Anything not as high on the priority list as you expected?
- Scaleway Board Farm
- Adoptium/Java: 14
- Go: 1 (waiting on RVV 1.0 hardware)
- RockyLinux: 5
- AlmaLinux: 1 (working with RVI for their own boards)
- Rust: 2
- WASM: 1
- 24 machines allocated:
- Eagerly waiting for RVV 1.0 hardware
- RFP011 - Python packaging
- Discussed in previous TSC; next steps?
Sep 5, 2024
Attendees:
- Michelle Martineau, The Linux Foundation
- Terje Bergstrom, NVIDIA
- Anup Patel, Ventana
- Alexey Bataev, SiFive
- Jian Xiong, Alibaba
- Mark Zhuang, Spacemt
- Paul Walmsley, SiFive
- Daniel Barboza, Ventana
- David Weaver, Akeana
- Robin Randhawa, SiFive
- Brian Harrington, RedHat
- Simon Harvey, Imagination
- Barna Ibrahim, Rivos
- Gotdan Markus, Cannonical
- Nathan Egge, Google
- Ming-yu Hung, Mediatek
- Zhu Yuan, Bytedance
- Tim Ouyang, Andes
Agenda:
Overall status
2024 projects - not yet sent for review
2024 projects - upstream process ongoing
2024 projects - upstream completed
Projects not sent yet for review:
- SE_01_018 - QEMU ACPI PPTT support for RISC-V
- Community project (Starfive)
- SE_02_004 - QEMU RVV performance enhancements (Vendor patches)
- RP005 RISE wiki page, weekly status: github link
- Latest version from Max Chou: RFCv5
- SE_01_003 - QEMU WorldGuard support
- Latest version: v1
- SE_01_004 - QEMU IOPMP support
- Latest version: v8
- SE_01_015 - QEMU RISC-V IOMMU support
- Latest version: v7
- SE_01_017 - QEMU ACPI SPCR support for RISC-V (no change)
- Latest version: v2
- Community project (Starfive)
- SE_01_021 - QEMU RVA23 profile support (no change)
- List of missing extensions: sig-qemu message
- Some of them already landed for review
- SE_01_022 - RISC-V Server SoC Reference Board (no change)
- New project
- Latest version: v2
- SE_01_005 - QEMU PCIe passthru on x86 hosts (no change)
- Latest version: v1
- SE_01_019 - QEMU ACPI SRAT/SLIT(NUMA) support for RISC-V
- Available in QEMU 9.0
- SE_01_020 - QEMU SMBIOS support for RISC-V
- Available in QEMU 9.0
Aug 22, 2024
Attendance
- Alexey Bataev, SiFive
- Evan Harrison, The Linux Foundation
- Nathan Egge, Google
- Anup Patel, Ventana
- Brian Harrington (Redbeard), Redhat
- Daniel Barboza, Ventana
- David Weaver, Akeana
- Erich Hanke, AMD
- Gordon Markus,
- Jian Xiong, Alibaba
- Kumar Sankaran, Ventana
- Ludovic Henry, Rivos
- Mark Zhuang, SpaceMIT
- Ming-Yu, MTK
- Paul Walmsley, SiFive
- Simon Harvey, Img Tech
- Sunil V L, Ventana
- Tim Ouyang, Andes
- Tomas Evensen, AMD
- Zhu Yuan, Bytedance
- Victor Costan, Google
Agenda
- Kernel and Virtualization Deep Dive led by Anup Patel
- WG Opens
- Future topics: WG Opens/challenges
- AIs from last week
Kernel and Virtualization Deep Dive
Latest Linux release updates
- Linux-6.11-rc4 available this week on kernel.org and final Linux-6.11 will be available in September 2024
- Noteworthy stuff already merged for Linux-6.11:
- Linux RISC-V
- Memory Hot(Un)plug
- ACPI SMBIOS/DMI, SPCR, PPTT, and NUMA support
- Performance improvements and cleanups for text patching
- Support Zve32[xf] and Zve64[xfd] Vector sub-extensions
- Use Zawrs for spinlocks when available
- HWPROBE support for time CSR frequency
- HWPROBE support for highest user-space virtual address
- HWPROBE support for Zimop, Zcmop, Zca, Zcf, Zcd, Zcb, and Zawrs extensions
- KVM RISC-V
- AIA IMSIC HW guest file support
- Perf KVM stat support
- Virtualize Zawrs for guest
- ONE_REG support for Zimop, Zcmop, Zca, Zcf, Zcd, Zcb, and Zawrs extensions
RVA23 profile: Discovery updates
- HWPROBE additions in Linux-6.11
- Zimop, Zcmop, Zcb, Zawrs
- Highest virtual address for user-space
- KVM ONE_REG additions in Linux-6.11
- Zimop, Zcmop, Zcb, Zawrs
- Kernel HWPROBE (22-08-2024, wiki)
- NA - 33 (39.76%), TBD - 7 (8.43%), COMPLETED - 43 (51.81%), TOTAL - 83
- KVM ONE_REG (22-08-2024, wiki)
- NA - 10 (12.05%), TBD - 20 (24.10%), COMPLETED - 53 (63.85%), TOTAL - 83
2023-2H: Project updates
- 2023-2H: Projects moved to 2024-2H due to SBI v3.0 dependency
- LK_01_005 - Native/hosted debug support
- LK_02_011 - KVM Native/hosted debug virtualization
- 2023-2H: Recently upstreamed projects
- LK_00_005 - Memory Hot(Un)plug
- LK_02_003 - KVM AIA IMSIC guest file support
- 2023-2H: Development status (22-08-2024, wiki)
- COMPLETED - 25 (100%), TOTAL - 25
- 2023-2H: Upstreaming status (22-08-2024, wiki)
- TBD - 1 (4%), ONGOING - 3 (12%), COMPLETED - 21 (84%), TOTAL - 25
2024-1H: Project updates
- 2024-1H: Recently upstreamed projects
LK_01_015 - PMU snapshot support
- LK_01_019 - Zawrs support
- LK_01_029 - ACPI NUMA support
- LK_01_030 - ACPI PPTT support
- LK_01_035 - ACPI SPCR support
- LK_01_036 - ACPI SMBIOS support
- LK_01_040 - CRC API optimization using Zbc extension
- LK_02_010 - KVM PMU snapshot virtualization
- LK_02_015 - KVM Zawrs virtualization
- LK_02_022 - KVM Perf sampling support for guest
- LK_03_009 - QEMU-KVM debug console support
- LK_03_028 - KVMTOOL Zacas support
- LK_03_029 - QEMU-KVM Zacas support
- 2024-1H: Development status (22-08-2024, wiki)
- TBD - 4 (8.7%), ONGOING - 1 (2.17%), COMPLETED - 41 (89.13%), TOTAL - 46
- TBD - 4 (8.7%), ONGOING - 1 (2.17%), COMPLETED - 41 (89.13%), TOTAL - 46
- 2024-1H: Upstreaming status (22-08-2024, wiki
- TBD - 6 (13.04%), ONGOING - 4 (8.7%), COMPLETED - 36 (78.26%), TOTAL - 46
2024-2H: Priorities
- Kernel
- ISA Extensions
- Supervisor Counter delegation (Ssccfg) based perf driver
- Control Transfer Record (Ssctr) support in perf driver
- Pointer Masking (Ssnpm) support
- Quality of Service (CBQRI and Ssqosid) support
- ACPI improvements
- ACPI RISC-V IOMMU Table (RIMT) support
- ACPI support for IOMMU driver
- ACPI RAS support (incl. APEI and SBI SSE notifications)
- SBI v3.0
- Firmware feature (FWFT) support
- Supervisor software events (SSE) support
- Debug Triggers (DBTR) (aka native/hosted debug) support
- Message Proxy (MPXY) support
- Perf event discovery using SBI PMU extension
- KVM
- ISA Extensions
- Virtualize Control Transfer Record (Ssctr) for Guest
- Virtualize Pointer Masking (Ssnpm) for Guest
- Virtualize Quality of Service (CBQRI and Ssqosid) for Guest
- Nested virtualization (trap-n-emulate H-extension)
- Virtualize SBI v3.0
- Firmware feature (FWFT) support for Guest
- Supervisor software events (SSE) support for Guest
- Debug Triggers (DBTR) (aka native/hosted debug) support for Guest
- Message Proxy (MPXY) support for Guest
- Virtualize perf event discovery using SBI PMU extension for Guest
Aug 1, 2024
Attendees:
Michelle Martineau, The Linux Foundation
Terje Bergstrom, NVIDIA
Alexey Bataev, SiFive
Keeran Rothenfusser, Rivos
Barna Ibrahim, Rivos
Kumar Sankaran, Ventana
Tim Ouyang, Andes
Zhu Yuan, Bytedance
Paul Walmsley, SiFive
Brian Herrington, Red Hat
Victor Costan, Google
...
- SL_01_003 x264 (In progress)
- Bytedance working on adding RVV 1.0 optimized routines
- SL_03_001 XNNPACK (In progress)
- Imagination working on adding RVV 1.0 optimized routines
- Trial run the upstream developer story Assume the role of early adopter and find issues before they hit community
- Examples include
- Regression: GCC emitting illegal unaligned loads
Continue to test hardware when it comes out for suitability- Check that vendor kernels support needed tooling
- Backported perf for K230
- SpacemiT missing PMU counters
- Assume the role of early adopter and find issues before they hit community
- Continue to test hardware when it comes out for suitability
- Run experiments verify software optimizations working as intended
- Mailing list seen discussion on performance of in-register data movements
- Produce artifacts usable for upstream development Bootable system images with up-to-date toolchains
- https://github.com/negge/bespokeOS/tree/master
- Rebuild everything from source for RISC-V (issues encountered)
- Bootable system images with up-to-date toolchains
- Performance testing and CI tooling
...
- RP002 - Optimize H.264 Decoding in FFmpeg
- Using K230 and Gentoo developer image for development / testing
- Wrote prediction and iDCT functions using RVV (8-, 9-, 10-, 12- and 14-bit)
- Patches up for review https://code.videolan.org/jdek/ffmpeg/-/merge_requests/2
- Updated ffmpeg checkasm to use clock_gettime() over RDTIME instruction https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/8280ec7
- Meeting with vendor on Friday and hope to get a full report of implemented functions
- RP005 - Add QEMU TCG support for V and Zvk
- Weekly reporting on progress
- Work is progressing, 60x improvement based on patch set v5 by Max Chou (SiFive)
- Weekly reporting on progress
- Work is progressing, 60x improvement based on patch set v5 by Max Chou (SiFive)
Benchmarking improvements to QEMU
...
- Goal: Provide weekly drops of SD images that “just work” on currently available dev board hardware (RVV 1.0 only): K230, BPI-F3, ROMA II
- Use vendor provided image (u-boot, opensbi, kernel) Replace rootfs with gentoo image
- Potential to build with exact CFLAGS matching hardware, e.g.,
-march=rv64gcv --riscv-v-vector-bits-min=256 - This would produce optimized builds for all packages
- Potential to build with exact CFLAGS matching hardware, e.g.,
- Use vendor provided image (u-boot, opensbi, kernel)
- Replace rootfs with gentoo image
- Future work, could rebuild kernel using more optimizations
...
- Objective
- Cross-build and test (in simulation) RISC-V ports of key open source software
- Running in Google Cloud
- Björn Töpel (Rivos) coordinating
- Brian “Redbeard” Harrington (Red Hat) doing much of the work
- Status
9 active projects
...
2
...
since last quarter
...
- Thousands of builds, and millions of tests per month
- ~100 toolchain bugs found via our fuzzer instances
...
RISE Board Farm: Introduction
- Objective
- Many use cases: OpenJDK, Linux distributions, kernel, Go(?) …
- Provide a range of Linux-capable RISC-V boards to run functionality and performance tests on CI-generated code Many use cases: OpenJDK, Linux distributions, kernel, Go(?) …
- Investigate future feasibility of providing developer access to boards
- Curtis Galloway (Google) coordinating
...
RISE Developer Tools: Introduction
- Objective
- Ideally combines cross and native development environment and native system software and userspace
- Provide a full Linux system image build, boot, and development environment for use on both simulators (QEMU) and RISC-V hardware Ideally combines cross and native development environment and native system software and userspace
- Will start with Nathan’s Gentoo build
- No one yet coordinating
- Some discussion taking place between Nathan and Redbeard on paths forward
...
- Overall status
- 2024 projects - not yet sent for review
- 2024 projects - upstream process ongoing
- 2024 projects - upstream completed
- Projects not sent yet for review: SE_02_004 - QEMU RVV performance enhancements (Vendor patches)
- ZvkWeekly status: github link
- Zvk
- Weekly status: github link
- Community project (Starfive)
- SE_02_004 - QEMU RVV performance enhancements (Vendor patches)
- SE_01_018 - QEMU ACPI PPTT support for RISC-V Community project (Starfive)
- Projects under review:
- Latest version: v1
- Latest version: v7
- Latest version: v1
- Project has dependencies on UBOOT and GRUB
- Latest version: v4
- SE_01_003 - QEMU WorldGuard support Latest version: v1
- SE_01_004 - QEMU IOPMP support
- Latest version: v7
- SE_01_005 - QEMU PCIe passthru on x86 hosts
- Latest version: v1 Project has dependencies on UBOOT and GRUB
- SE_01_015 - QEMU RISC-V IOMMU support
- Latest version: v4
- Projects under review SE_01_017 - QEMU ACPI SPCR support for RISC-V
- Latest version: v2
- Community project (Starfive)
SE_01_021 - QEMU RVA23 profile support- List of missing extensions: sig-qemu message
- Some of them already landed for review
- Latest version: v2
- Latest version (from Max Chou): RFCv4
- SE_01_017 - QEMU ACPI SPCR support for RISC-V
- SE_01_021 - QEMU RVA23 profile support
- SE_01_022 - RISC-V Server SoC Reference Board
- Latest version: v2
- SE_02_004 - QEMU RVV performance enhancements Latest version (from Max Chou): RFCv4
- Projects already merged
- Available in QEMU 9.0
- Available in QEMU 9.0
- SE_01_019 - QEMU ACPI SRAT/SLIT(NUMA) support for RISC-V Available in QEMU 9.0
- SE_01_020 - QEMU SMBIOS support for RISC-V Available in QEMU 9.0
Security Software Working Group Election
...
Distro and Integration Deep Dive
- “What is the minimum amount of RAM a board should have?”
- The distro integration group hosts open discussions about the software needs common to all major Linux distros, Android, and bespoke distros used on embedded devices.
- “Why is it you’re all insistent on having ACPI support?”
- General discussions and questions about viability of builds with low RAM that aren’t capable of updating packages etc. Not something RISE should dictate.
- In General RISE is contributing to the Open Source Projects and there will not be any requirements/mandates by RISE. any requirements are left it up to the companies and their product offerings.
- “Why is it you’re all insistent on having ACPI support?”
- “What is the minimum amount of RAM a board should have?”
- This group makes its meetings open to the public (the meeting link is on the groups wiki page).
- Ensures open collaboration modeled after other libre software projects (Debian, Osmocom, etc).
- The community sees the “total cost” of design decisions, not just the hardware ones.
- Recently this has driven two major areas of discussion:
- Ensure a consistent boot flow (installation portability across distros)
- Responsibility for code updates below the OS (e.g. Who is on the hook for security bugs in OpenSBI?)
...
- Erich Hanke, AMD
- Tomas Evensen, AMD
- Robin Randhawa, SiFive
- Terje Bergstrom, NVIDIA
- Anup Patel, Ventana
- Robin Randhawa, SiFive
- Sunil Vl, Ventana
- Daniel Barboza, Ventana
- Simon Harvey, Imagination
- Barna Ibrahim, Rivos
- Jeff Law, Ventana
- David Weaver, Akean
- Kumar Sankaran, Ventana
- Brian Harrington, RedHat
- Paul Walmsley, SiFive
- Nathan Egge, Google
- Tim Ouyang, Andes
- Ming-yu Hung, Mediatek
- Jian Zhang, BOSC
Agenda:
- Elected: Debug and Profiling Technical Lead
- Firmware Deep Dive led by Sunil V L
- Proposal for Security Working Group Formation
- WG Opens
- Future topics: WG Opens/challenges
- AIs from last week
Elected: Debug and Profiling Technical Lead
...
- 12 projects in 2024 1H
- Upstreaming complete projects
- EDK2_00_16 - Svpbmt support (2023 2H project)
- SBI_00_04 - Domain Context Switch Support
- SBI_00_03 - Native/hosted debug support
- COREBOOT_00_01 - coreboot for SiFive Unmatched
- Development complete, Upstreaming in progress
- EDK2_00_14 - DynamicTablesPkg support
- EDK2_00_18 - RISC-V QEMU Server Reference Platform
- EDK2_00_03 - FdtBusDxe support (Need to host under RISE gitlab)
- Upstreaming not started due to spec dependencies
- EDK2_00_15 - StandaloneMmPkg RPMI MM support OPTEE_00_01 - OP-TEE support
- CI support for RISC-V targets in place
- Roadmap items identified (IOPMP, AIA, SmMTT, FF-A Like ABI etc)
- IOPMP support in progress by Andes
- Moving to RISE hosted gitlab
- EDK2_00_15 - StandaloneMmPkg RPMI MM support
- OPTEE_00_01 - OP-TEE support
- SBI_00_05 - OpenSBI RPMI MM Support
- SBI_00_02 - Firmware-first RAS handling Support
- EDK2_00_10 - UefiPayloadPkg For RISC-V
- Development in progress
- 2024 2H projects under discussion
- EDK2_00_04 - Build Size Reduction
- EDK2_00_05 - Back Trace support
- EDK2_00_13 - libgcc and libatomic libs
- SCP like reference FW implementation (based on RPMI/MPXY spec)
- Challenges
- Spec dependencies.
- Less number of new project proposals.
...