TX의 DMA 대기열을 새로 고칠 수 없는 이유는 무엇입니까?

TX의 DMA 대기열을 새로 고칠 수 없는 이유는 무엇입니까?

궁금한 점이 있습니다. DMA TX 대기열과 관련된 일부 문제에 대해 wlan 감시자로부터 계속 경고를 받고 있습니다.

[  710.984380] ieee80211 phy0: rt2x00usb_watchdog_tx_dma: Warning - TX queue 2 DMA timed out, invoke forced forced reset
[  711.996050] ieee80211 phy0: rt2x00usb_watchdog_tx_dma: Warning - TX queue 2 DMA timed out, invoke forced forced reset

아직까지 아무런 문제가 발생하지 않는 것 같지만 제가 이해한 바에 따르면 다음과 같습니다.

DMA는 직접 메모리 액세스를 의미하므로 카드는 전송될 정보의 메모리에 대기열을 작성해야 합니다.

따라서 이 경고는 실제로 시스템이 새 대기열을 생성하기 위해 해당 대기열을 버려야 하지만 그럴 수 없다는 점을 알려주는 것입니다. 따라서 강제 재설정

왜 이런 일이 발생한다고 생각합니까? 내 말은, 그것이 직접 메모리라면, 그것을 해제할 수 없다고 생각할 수 있는 유일한 이유는 다른 프로세스가 동일한 주소를 읽거나 쓰는 경우 때문입니다.

내가 보내려는 내용을 읽을 수 있는 프로세스가 있나요? 왜? 어느 것?

답변1

이 경고는 다음을 설명합니다.징후(드라이버가 발생해서는 안 되는 시간 초과 조건을 감지했지만)이유아마도 나머지 운영 체제와 관련된 드라이버/하드웨어 동작 및/또는 타이밍 상호 작용의 일부 버그입니다. 드라이버 코드를 읽고, 하드웨어에 대해 자세히 알아보고, 심각한 디버깅을 수행하여 실제 문제가 무엇인지 알아내야 합니다. (이렇게 할 수 있다면 이런 질문을 하지 않을 것입니다.)

가장 좋은 방법은 드라이버 개발자에게 버그를 신고하는 것이지만 이는 어려운 작업이 될 수 있습니다.

네트워크 계층은 삭제된 패킷을 다시 요청하므로 오류로 인해 무언가가 손상될 가능성이 줄어듭니다.

관련 정보