Hírolvasó
r2k22 Hackathon Report: Job Snijders (job@) on rpki-client and more
Traveling to r2k22 was a lot of fun! It's not often I get to travel to developer meetings by bike.
[$] Removing the scheduler's energy-margin heuristic
Security updates for Friday
Software Freedom Conservancy: Give Up GitHub: The Time Has Come!
Rust 1.62.0 released
Linux Plumbers Conference: Microconferences at Linux Plumbers Conference: VFIO/IOMMU/PCI
Linux Plumbers Conference 2022 is pleased to host the VFIO/IOMMU/PCI Microconference
The PCI interconnect specification, the devices that implement it, and the system IOMMUs that provide memory and access control to them are nowadays a de-facto standard for connecting high-speed components, incorporating more and more features such as:
- Address Translation Service (ATS)/Page Request Interface (PRI)
- Single-root I/O Virtualization (SR-IOV)/Process Address Space ID (PASID)
- Shared Virtual Addressing (SVA)
- Remote Direct Memory Access (RDMA)
- Peer-to-Peer DMA (P2PDMA)
- Cache Coherent Interconnect for Accelerators (CCIX)
- Compute Express Link (CXL)
- Data Object Exchange (DOE)
- Component Measurement and Authentication (CMA)
- Integrity and Data Encryption (IDE)
- Security Protocol and Data Model (SPDM)
- Gen-Z
These features are aimed at high-performance systems, server and desktop computing, embedded and SoC platforms, virtualization, and ubiquitous IoT devices.
The kernel code that enables these new system features focuses on coordination between the PCI devices, the IOMMUs they are connected to and the VFIO layer used to manage them (for userspace access and device passthrough) with related kernel interfaces and userspace APIs to be designed in-sync and in a clean way for all three sub-systems.
The VFIO/IOMMU/PCI micro-conference focuses on the kernel code that enables these new system features that often require coordination between the VFIO, IOMMU and PCI sub-systems.
Tentative topics include (but not limited to):
- PCI
- Cache Coherent Interconnect for Accelerators (CCIX)/Compute Express Link (CXL) expansion memory and accelerators management
- Data Object Exchange (DOE)
- Integrity and Data Encryption (IDE)
- Component Measurement and Authentication (CMA)
- Security Protocol and Data Model (SPDM)
- I/O Address Space ID Allocator (IOASID)
- INTX/MSI IRQ domain consolidation
- Gen-Z interconnect fabric
- ARM64 architecture and hardware
- PCI native host controllers/endpoints drivers current challenges and improvements (e.g., state of PCI quirks, etc.)
- PCI error handling and management e.g., Advanced Error Reporting (AER), Downstream Port Containment (DPC), ACPI Platform Error Interface (APEI) and Error Disconnect Recover (EDR)
- Power management and devices supporting Active-state Power Management (ASPM)
- Peer-to-Peer DMA (P2PDMA)
- Resources claiming/assignment consolidation
- Probing of native PCIe controllers and general reset implementation
- Prefetchable vs non-prefetchable BAR address mappings
- Untrusted/external devices management
- DMA ownership models
- Thunderbolt, DMA, RDMA and USB4 security
- VFIO
- Write-combine on non-x86 architectures
- I/O Page Fault (IOPF) for passthrough devices
- Shared Virtual Addressing (SVA) interface
- Single-root I/O Virtualization(SRIOV)/Process Address Space ID (PASID) integration
- PASID in SRIOV virtual functions
- Device assignment/sub-assignment
- IOMMU
- /dev/iommufd development
- IOMMU virtualization
- IOMMU drivers SVA interface
- DMA-API layer interactions and the move towards generic dma-ops for IOMMU drivers
- Possible IOMMU core changes (e.g., better integration with device-driver core, etc.)
Come and join us in the discussion in helping Linux keep up with the new features being added to the PCI interconnect specification.
We hope to see you there !
[$] A BPF-specific memory allocator
Security updates for Thursday
[$] LWN.net Weekly Edition for June 30, 2022
[$] System call interception for unprivileged containers
Collabora Online developer edition 22.05 released
CODE 22.05 is preceding the next major release of our long-term supported business suite Collabora Online. This free developer version includes all features and enhancements that will be available in our enterprise version, expected later in July. The CODE releases allow every interested user to learn and test new features on an early stage.
New features include support for external grammar checkers, the ability to have 16,000 columns in a spreadsheet (which is evidently useful to somebody), sparkline plots, support for WebP graphics, and more.
A Rust-in-GCC update
For some context, my current project plan brings us to November 2022 where we (unexpected events permitting) should be able to support valid Rust code targeting Rustc version ~1.40 and reuse libcore, liballoc and libstd. This date does not account for the borrow checker feature and the proc macro crate, which we have a plan to implement, but this will be a further six-month project.
Four more stable kernel updates
Thunderbird 102 released
It features refreshed icons, color folders, and quality-of-life upgrades like the redesigned message header. It ushers in a brand new Address Book to bring you closer than ever to the people you communicate with. Plus useful new tools to help you manage your data, navigate the app faster, and boost your productivity. We’re even bringing Matrix to the party.
Security updates for Wednesday
(Almost) 0 Dependency Websites with OpenBSD & AsciiDoc
The lead in reads, I have fallen in love with a recent combination of software to make good looking websites, and having an easy to manage web server. I’m a minimalist in many ways. Really, I find that it makes my life easier.
You can read the whole thing here: 0 Dependency Websites with OpenBSD & AsciiDoc.
Analyzing locks in OpenBSD’s Kernel with Domain-Specific Knowledge
Christian Ludwig "wrote a tool to statically analyze spl(9) kernel locking in OpenBSD. It even found some bugs."
His write up is here: https://medium.com/@chrissicool/analyze-openbsds-kernel-with-domain-specific-knowledge-ca665d92eebb
His code for the Lock Balancing Checker referenced in the write up is available under an ISC license and can be obtained here: https://github.com/chrissicool/lbc
Vim 9.0 released
The main goal of Vim9 script is to drastically improve performance. This is accomplished by compiling commands into instructions that can be efficiently executed. An increase in execution speed of 10 to 100 times can be expected. A secondary goal is to avoid Vim-specific constructs and get closer to commonly used programming languages, such as JavaScript, TypeScript and Java.