Page MenuHomeFreeBSD

iflib: Clear simple-TX quiescence before publishing admission
ClosedPublic

Authored by kbowling on Tue, Sep 15, 2:56 AM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Oct 1, 12:37 AM
Unknown Object (File)
Wed, Sep 30, 7:33 PM
Unknown Object (File)
Wed, Sep 30, 8:59 AM
Unknown Object (File)
Tue, Sep 29, 6:45 PM
Unknown Object (File)
Mon, Sep 28, 11:59 PM
Unknown Object (File)
Sun, Sep 27, 10:28 PM
Unknown Object (File)
Sat, Sep 26, 10:18 PM
Unknown Object (File)
Sat, Sep 26, 9:39 AM

Details

Summary
Initialization publishes RUNNING and enables interrupts before clearing
the simple-TX producer barrier. A transmitter admitted in that window
still sees IFLIB_TXQ_QUIESCING and drops its packet with ENETDOWN. A TX
completion task can likewise return without draining deferred packets.

Clear the barrier on every TX queue after driver initialization and RX
buffer setup succeed, before publishing admission. Keep failed init
paths closed and retain the existing stop, interrupt and timer ordering.
This changes only initialization; no work is added to the packet path.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable