Page MenuHomeFreeBSD

if_awg: store mbuf and dma mapping in the last segment of a tx frame instead of the first
ClosedPublic

Authored by guyyur_gmail.com on Nov 10 2017, 5:00 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Apr 23, 9:41 AM
Unknown Object (File)
Fri, Apr 12, 8:54 AM
Unknown Object (File)
Dec 20 2023, 2:37 AM
Unknown Object (File)
Jun 30 2023, 11:09 AM
Unknown Object (File)
Jun 22 2023, 6:02 PM
Unknown Object (File)
May 8 2023, 9:58 AM
Unknown Object (File)
May 3 2023, 9:10 PM
Unknown Object (File)
Mar 7 2023, 12:40 AM
Subscribers

Details

Summary

According to the datasheet, TX_DESC_CTL is cleared when whole frame is transmitted or all
data in the current descriptor's buffer are transmitted.
When the mbuf and mapping are stored in the first segment and in a scenario where a tx
completion interrupt arrives for a frame and only the start of the next frame was transmitted,
at the time of interrupt processing the mbuf and mapping will be freed when processing the
first segment of the next frame but the other untrasmitted segments still need to use them.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable