Skip to content

[KUBE-54] gimamdsmi: gate watcher device polling on watch subscribers - #87

Open
bhatturu wants to merge 1 commit into
ROCm:mainfrom
bhatturu:feat/kube-54-gim-watcher-subscriber-guard
Open

[KUBE-54] gimamdsmi: gate watcher device polling on watch subscribers#87
bhatturu wants to merge 1 commit into
ROCm:mainfrom
bhatturu:feat/kube-54-gim-watcher-subscriber-guard

Conversation

@bhatturu

@bhatturu bhatturu commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

The GIM watcher's timer callback opened /dev/gim-smi0 and issued full-access SMI reads every tick unconditionally, even with no GPUWatch subscribers -- a permanent 1Hz gim poll with no consumer, and the exposure surface for the KUBE-54 hang (a wedged gim ioctl in this path livelocks the caller in-kernel). Port the subscriber guard the baremetal amdsmi path already has.

Validated by strace on MI300X (GIM): patched build opens the device only at startup discovery, zero periodic opens after; stock polls gim-smi0 ~1Hz indefinitely.

Motivation

Technical Details

Test Plan

Test Result

Submission Checklist

The GIM watcher's timer callback opened /dev/gim-smi0 and issued
full-access SMI reads every tick unconditionally, even with no GPUWatch
subscribers -- a permanent 1Hz gim poll with no consumer, and the
exposure surface for the KUBE-54 hang (a wedged gim ioctl in this path
livelocks the caller in-kernel). Port the subscriber guard the baremetal
amdsmi path already has.

Validated by strace on banff MI300X (GIM) and localhost MI210
(baremetal): patched build opens the device only at startup discovery,
zero periodic opens after; stock polls gim-smi0 ~1Hz indefinitely.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant