Po prostu się zastanawiałem, od czasu do czasu otrzymuję ostrzeżenie od mojego strażnika wlan, dotyczące niektórych problemów z kolejką DMA TX
[ 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
Do tej pory nie wydaje się, aby powodował jakikolwiek problem, ale jak rozumiem:
DMA oznacza bezpośredni dostęp do pamięci, więc karta musi zapisywać w pamięci kolejkę z informacjami, które mają zostać przesłane.
To ostrzeżenie mówi mi, że w pewnym momencie system musiał odrzucić tę kolejkę, aby utworzyć nową, ale nie mógł. Stąd wymuszony reset
Jak myślisz, dlaczego tak może być? Chodzi mi o to, że jeśli jest to pamięć bezpośrednia, jedynym powodem, dla którego nie mogłem jej zwolnić, jest to, że jakiś inny proces albo czytał albo zapisywał na ten sam adres.
Czy istnieje proces odczytywania tego, co mam wysłać? dlaczego? Który?