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
F172103879: D59690.id186753.diff
Wed, Sep 16, 4:28 AM
F172065123: D59690.diff
Tue, Sep 15, 9:11 PM
Unknown Object (File)
Tue, Sep 15, 8:29 AM
Unknown Object (File)
Tue, Sep 15, 8:23 AM
Unknown Object (File)
Tue, Sep 15, 4:01 AM
Unknown Object (File)
Tue, Sep 15, 4:00 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