次に、アプリケーションのハングを引き起こす典型的なユーザー エラーを示します。
- 5.0+ シェルで書き込み前に読み出しを使用すると、Memory Interface Generator エラー訂正コード (MIG ECC) エラーが発生します。これは、典型的なユーザー エラーです。たとえば、カーネルで DDR に 4 KB のデータを書き込む際に、1 KB のデータしか生成されず、4 KB のデータをホストに転送しようとすると、このエラーが発生することがあります。また、1 KB バッファーをカーネルに供給していて、カーネルが 4 KB のデータを読み出そうとした場合にも発生する可能性があります。
- ECC の書き込み前に読み出しエラーは、最後にビットストリームがダウンロードされて初期化されたためにメモリ ロケーションにデータが何も書き込まれていないと、そのメモリ ロケーションに対して読み出し要求が発行された場合にも発生することがあります。カーネルではこの ECC エラーを処理できないので、影響を受けた MIG がストールします。これは、次のいずれかの形で現れます。
- CU が影響を受けた MIG に対して読み出しまたは書き込みを実行するときに、このエラーを処理できないため、CU がハングまたはストールします。
xbutil
クエリには、CU がBUSY
ステートに停滞し、進行していないことが示されます。 - 影響を受けた MIG に対して
PCIe®
DMA 要求が発行されると、DMA エンジンで要求を完了できないため、AXI Firewall が作動します。AXI Firewall が作動すると Linux カーネル ドライバーが
SIGBUS
信号でデバイス ノードを開いたすべてのプロセスを強制終了します。xbutil
クエリには、AXI Firewall が差動したかどうかとタイムスタンプが示されます。
- CU が影響を受けた MIG に対して読み出しまたは書き込みを実行するときに、このエラーを処理できないため、CU がハングまたはストールします。