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)
Fri, Dec 13, 4:36 PM
Unknown Object (File)
Tue, Dec 10, 2:53 PM
Unknown Object (File)
Oct 27 2024, 9:24 PM
Unknown Object (File)
Oct 17 2024, 2:51 AM
Unknown Object (File)
Oct 4 2024, 10:06 AM
Unknown Object (File)
Sep 28 2024, 1:59 PM
Unknown Object (File)
Sep 27 2024, 11:25 AM
Unknown Object (File)
Sep 24 2024, 4:07 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