Skip to content

nvidia_uvm HMM fault-service eviction deadlock (595/Blackwell) #1223

Description

@m-santh

NVIDIA Open GPU Kernel Modules Version

driver 595.71.05 open, kernel 6.14.0-1015-nvidia, Ubuntu 24.04.4, RTX PRO Blackwell

Please confirm this issue does not happen with the proprietary driver (of the same version). This issue tracker is only for bugs specific to the open kernel driver.

  • I confirm that this does not happen with the proprietary driver package.

Operating System and Version

lsb_release -d No LSB modules are available. Description: Ubuntu 24.04.4 LTS

Kernel Release

Linux ub123-S2600STB 6.14.0-1015-nvidia #15-Ubuntu SMP PREEMPT_DYNAMIC Tue Nov 25 16:59:33 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

Please confirm you are running a stable release kernel (e.g. not a -rc). We do not accept bug reports for unreleased kernels.

  • I am running on a stable kernel release.

Hardware: GPU

GPU 0: NVIDIA RTX PRO 4500 Blackwell (UUID: GPU-b29f3a27-7a07-41aa-6b96-23cd8a380183)

Describe the bug

Summary

Under HMM (pageable/managed) oversubscription, when the GPU is full and the
replayable-fault handler must evict a root chunk to service the next fault, the
nvidia_uvm kthread spins forever in the chunk-eviction/merge path — an RCU
self-detected stall / soft-lockup. The thread is unkillable, the faulting
process is kernel-blocked (SIGKILL cannot reap it), and nvidia-smi --gpu-reset
refuses ("in use by another client"). Only a reboot recovers.

Environment

  • GPU: NVIDIA RTX PRO Blackwell (33.7 GB)
  • Driver: NVIDIA Open Kernel Module 595.71.05 (Ubuntu 595.71.05-0ubuntu0.24.04.1, built 2026-04-24)
  • Kernel: 6.14.0-1015-nvidia (Ubuntu 24.04.4 LTS)
  • UVM params: defaults (uvm_global_oversubscription=1, uvm_fault_force_sysmem=0, uvm_perf_prefetch_enable=0)

To Reproduce

  1. cudaMallocManaged/HMM anon mapping of a working set larger than resident VRAM
    (here: an anon mmap+pread region of ~15.5 GB with VRAM capped to ~7.75 GB via a
    blocker → oversub ≈ 2), passed to a GPU kernel that reads the whole region.
  2. Kernel faults migrate pages into VRAM until it fills.
  3. Next fault triggers eviction → hang. Within ~seconds the RCU stall fires.

Minimal shape: any managed/HMM allocation that oversubscribes VRAM and is fully
touched by a kernel (no prefetch needed; prefetch was already disabled).

Bug Incidence

Once

nvidia-bug-report.log.gz

nvidia-bug-report-hmm3-deadlock.log.gz

More Info

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions