Direct Memory Access remapping (DMA-R) が有効化されている環境にて ハング アップ、Bugcheck 0x1DB が発生する問題

Last Update: feedback 共有

本記事はマイクロソフト社員によって公開されております。

いつも弊社製品をご利用いただきまして誠にありがとうございます。
日本マイクロソフト Windows サポートチームです。

今回は、Direct Memory Access Remapping (DMA-R) が有効化されている環境にて OS のメモリ マネジメントの不具合に起因し、
デッドロックが発生する問題についてご案内いたします。
本不具合により、OS のハングアップまたは、Bugcheck 0x1DB (IPI_WATCHDOG_TIMEOUT) が発生する可能性がございます。
この記事では、本問題の概要と対処策について説明します。

対象OS

  • Windows 11 21H2
  • Windows 10 21H2、22H2
  • Windows 10 LTSC (2016,2019,2021)
  • Windows Server 2016
  • Windows Server 2019
  • Windows Server 2022

※ Windows 11 22H2 以降の OS バージョンにおいては修正されております。

概要

15 分 ~ 1 時間周期で実行されるメンテナンス タスクが実行され、IPI の処理が実施されるタイミングにおいて、DMA-R の処理が多数実行されていると、それぞれの処理のタイミング次第でレース コンディションの不具合によりデッドロックが発生いたします。
上記のデッド ロックが発生することで、端末操作が不可となるハングアップの状態となることや IPI の Watchdog のタイムアウトを検出して Bugcheck 0x1DB が発生することが確認されております。
なお、弊社にお問い合わせいただいている事例より、チップセットの IOMMU の処理速度が速くない環境において、多数の DMA トランザクションが長時間にわたり実行されることで発生する傾向が確認されており、必ずしも DMA-R が有効化されている環境全てにおいて発生する事象ではございません。

加えて、本事象に関しましてはこれまでに弊社開発部門で、修正を検討いたしました結果、上記記載の OS Version においては修正が見送られております。
そのため、事象が発生いたしました場合には下記の対処策の実施をご検討いただけますと幸いです。

対処策

本事象は DMA-R が無効化されている環境においては発生いたしません。
そのため、以下のレジストリにて 「DmaRemappingCompatible」 の設定値を変更いただき、DMA-R を無効化いただくようお願いいたします。

レジストリ パス:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services<DMA-R が有効化されているドライバー名>\Parameters
レジストリ名:DmaRemappingCompatible
値:2 (無効)

本投稿が少しでも皆様のお役に立てば幸いです。
※ 本情報の内容 (添付文書、リンク先などを含む) は、作成日時点でのものであり、予告なく変更される場合があります。

参考資料

DEVPKEY_Device_DmaRemappingPolicy:
https://learn.microsoft.com/en-us/windows-hardware/drivers/install/devpkey-device-dmaremappingpolicy

Enabling DMA remapping for device drivers:
https://learn.microsoft.com/en-us/windows-hardware/drivers/pci/enabling-dma-remapping-for-device-drivers

変更履歴

2023/11/01 : 本記事の公開