The Linux Kernel Logo
  • Development process
  • Submitting patches
  • Code of conduct
  • Maintainer handbook
  • All development-process docs
  • Core API
  • Driver APIs
    • General information for driver authors
    • Useful support libraries
    • Bus-level documentation
      • Auxiliary Bus
      • Compute Express Link
        • Compute Express Link Driver Theory of Operation
        • Compute Express Link Subsystem Maturity Map
        • Devices and Protocols
        • BIOS/EFI Configuration
        • ACPI Tables
        • Coherent Device Attribute Table (CDAT)
        • Device Scoped Memory Affinity Structure (DSMAS)
        • Device Scoped Latency and Bandwidth Information Structure (DSLBIS)
        • Switch Scoped Latency and Bandwidth Information Structure (SSLBIS)
        • Example Platform Configurations
        • Overview
        • Linux Init (Early Boot)
        • CXL Driver Operation
        • DAX Driver Operation
        • Memory Hotplug
        • CXL Access Coordinates Computation
        • DAX Devices
        • The Page Allocator
        • Reclaim
        • Huge Pages
      • EISA bus support
      • Firewire (IEEE 1394) driver Interface Guide
      • I3C subsystem
      • ISA Drivers
      • MEN Chameleon Bus
      • The Linux PCI driver implementer’s API guide
      • The Linux RapidIO Subsystem
      • Linux kernel SLIMbus support
      • Linux USB API
      • Virtio
      • VME Device Drivers
      • W1: Dallas’ 1-wire bus
      • Xillybus driver for generic FPGA interface
    • Subsystem-specific APIs
  • Subsystems
    • Core subsystems
      • Core API Documentation
      • Driver implementer’s API guide
        • General information for driver authors
        • Useful support libraries
        • Bus-level documentation
          • Auxiliary Bus
          • Compute Express Link
            • Compute Express Link Driver Theory of Operation
            • Compute Express Link Subsystem Maturity Map
            • Devices and Protocols
            • BIOS/EFI Configuration
            • ACPI Tables
            • Coherent Device Attribute Table (CDAT)
            • Device Scoped Memory Affinity Structure (DSMAS)
            • Device Scoped Latency and Bandwidth Information Structure (DSLBIS)
            • Switch Scoped Latency and Bandwidth Information Structure (SSLBIS)
            • Example Platform Configurations
            • Overview
            • Linux Init (Early Boot)
            • CXL Driver Operation
            • DAX Driver Operation
            • Memory Hotplug
            • CXL Access Coordinates Computation
            • DAX Devices
            • The Page Allocator
            • Reclaim
            • Huge Pages
          • EISA bus support
          • Firewire (IEEE 1394) driver Interface Guide
          • I3C subsystem
          • ISA Drivers
          • MEN Chameleon Bus
          • The Linux PCI driver implementer’s API guide
          • The Linux RapidIO Subsystem
          • Linux kernel SLIMbus support
          • Linux USB API
          • Virtio
          • VME Device Drivers
          • W1: Dallas’ 1-wire bus
          • Xillybus driver for generic FPGA interface
        • Subsystem-specific APIs
      • Memory Management Documentation
      • Power Management
      • Scheduler
      • Timers
      • Locking
    • Human interfaces
    • Networking interfaces
    • Storage interfaces
    • Other subsystems
  • Locking
  • Licensing rules
  • Writing documentation
  • Development tools
  • Testing guide
  • Hacking guide
  • Tracing
  • Fault injection
  • Livepatching
  • Rust
  • Administration
  • Build system
  • Reporting issues
  • Userspace tools
  • Userspace API
  • Firmware
  • Firmware and Devicetree
  • CPU architectures
  • Unsorted documentation
  • Translations
The Linux Kernel
  • Driver implementer’s API guide
  • Compute Express Link
  • View page source

Compute Express Link¶

CXL device configuration has a complex handoff between platform (Hardware, BIOS, EFI), OS (early boot, core kernel, driver), and user policy decisions that have impacts on each other. The docs here break up configurations steps.

Overview

  • Compute Express Link Driver Theory of Operation
    • The CXL Bus
    • Driver Infrastructure
    • External Interfaces
  • Compute Express Link Subsystem Maturity Map
    • Feature and Capabilities
    • Details

Device Reference

  • Devices and Protocols
    • Protocols
    • Device Types
    • Example Devices

Platform Configuration

  • BIOS/EFI Configuration
    • UEFI Settings
    • Physical Memory Map
    • Decoder Programming
  • ACPI Tables
    • CEDT - CXL Early Discovery Table
    • SRAT - Static Resource Affinity Table
    • HMAT - Heterogeneous Memory Attribute Table
    • SLIT - System Locality Information Table
    • DSDT - Differentiated system Description Table
    • ACPI Debugging
  • Coherent Device Attribute Table (CDAT)
  • Device Scoped Memory Affinity Structure (DSMAS)
  • Device Scoped Latency and Bandwidth Information Structure (DSLBIS)
  • Switch Scoped Latency and Bandwidth Information Structure (SSLBIS)
  • Example Platform Configurations
    • One Device per Host Bridge
    • Multiple Devices per Host Bridge
    • Cross-Host-Bridge Interleave
    • Flexible Presentation

Linux Kernel Configuration

  • Overview
  • Linux Init (Early Boot)
    • BIOS, Build and Boot Options
    • Memory Map Creation
    • NUMA Node Reservation
    • Memory Tiers Creation
    • Contiguous Memory Allocation
  • CXL Driver Operation
    • Drivers
    • Driver Devices
    • Decoder Programming
    • Example Configurations
  • DAX Driver Operation
    • DAX Device
    • kmem conversion
  • Memory Hotplug
    • Default Online Behavior
    • Hotplug Memory Block Size
    • Memory Map
    • Driver Managed Memory
  • CXL Access Coordinates Computation
    • Latency and Bandwidth Calculation
    • Shared Upstream Link Calculation
    • QTG ID

Memory Allocation

  • DAX Devices
  • The Page Allocator
    • NUMA nodes and mempolicy
    • Memory Zones
    • Zone and Node Quirks
    • CGroups and CPUSets
  • Reclaim
    • Demotion
    • ZSwap and Node Preference
    • Demotion with ZSwap
  • Huge Pages
    • Contiguous Memory Allocator
    • HugeTLB
Previous Next

© Copyright The kernel development community.

Built with Sphinx using a theme provided by Read the Docs.