HomeFreeBSD

Simplify ng_pipe locking model by relying on the netgraph framework
rS215800Unpublished

Unpublished Commit ยท Learn More

No further details are available.

Description

Simplify ng_pipe locking model by relying on the netgraph framework
to provide serialization of calls into the node, which is accomplished
by markng the node as single-threaded (NGF_FORCE_WRITER).

The price we pay is that each ng_pipe instance now has its own callout
handler which polls for queued frames on each clock tick, as long as
the pipe has any frames in its internal queues. OTOH, we got rid of
the global ng_pipe mutex, so from now on multiple ng_pipe instances
can operate in parallel. This change also fixes counting of forwarded
frames when an ng_pipe node is not enforcing any packet impairments.

While here, attempt to improve adherance to style(9) throughout
otherwise mostly unreadable code.

MFC after: 3 days

Details

Provenance
zecAuthored on
Parents
rS215799: Add gptboot_enable rc variable, which allows to turn gptboot reporting off in
Branches
Unknown
Tags
Unknown

Event Timeline