- Use Rs/Re mdoc macros.

- Remove duplicate and/or redundant content.
This commit is contained in:
Sergey Kandaurov 2014-07-23 18:54:18 +00:00
parent 7ea7f92899
commit b679017609
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=269022

View File

@ -64,28 +64,9 @@
.Fa "struct inpcbinfo *pcbinfo" "u_int hashtype" "uint32_t hash" .Fa "struct inpcbinfo *pcbinfo" "u_int hashtype" "uint32_t hash"
.Fc .Fc
.Sh DESCRIPTION .Sh DESCRIPTION
PCBGROUP, or "connection groups", are based on Willman, Rixner, and Cox's This implementation introduces notions of affinity
2006 USENIX paper,
.Qo
An Evaluation of Network Stack Parallelization Strategies in Modern
Operating Systems
.Qc .
.Pp
The PCBGROUP paper describes two main kind of connection groups.
The first, called ConnP-T, uses a pool of worker threads which
implement the network stack.
Serialization occurs when queuing work into and completing work from
the network stack.
No locking is required inside each worker thread.
.Pp
The second type of connection group, called ConnP-L, uses an array
of PCB groups rather than a single list.
Each PCB group is protected by its own lock.
.Pp
This implementation differs significantly from that described in the
paper, in that it attempts to introduce not just notions of affinity
for connections and distribute work so as to reduce lock contention, for connections and distribute work so as to reduce lock contention,
but also align those notions with hardware work distribution strategies with hardware work distribution strategies
such as RSS. such as RSS.
In this construction, connection groups supplement, rather than replace, In this construction, connection groups supplement, rather than replace,
existing reservation tables for protocol 4-tuples, offering CPU-affine existing reservation tables for protocol 4-tuples, offering CPU-affine
@ -99,7 +80,7 @@ This indicates to the connection group code whether a 2-tuple or
a particular group. a particular group.
This must be aligned with any hardware-offloaded distribution model, This must be aligned with any hardware-offloaded distribution model,
such as RSS or similar approaches taken in embedded network boards. such as RSS or similar approaches taken in embedded network boards.
Wildcard sockets require special handling, as in Willman 2006, and Wildcard sockets require special handling, as in Willmann 2006, and
are shared between connection groups while being protected by are shared between connection groups while being protected by
group-local locks. group-local locks.
Connection establishment and teardown can be signficantly more Connection establishment and teardown can be signficantly more
@ -204,17 +185,18 @@ receive path in
.Xr mbuf 9 , .Xr mbuf 9 ,
.Xr netisr 9 , .Xr netisr 9 ,
.Xr RSS 9 .Xr RSS 9
.Rs
.%A Paul Willmann
.%A Scott Rixner
.%A Alan L. Cox
.%T "An Evaluation of Network Stack Parallelization Strategies in Modern Operating Systems"
.%J "2006 USENIX Annual Technical Conference"
.%D 2006
.%U http://www.ece.rice.edu/~willmann/pubs/paranet_usenix.pdf
.Re
.Sh HISTORY .Sh HISTORY
PCBGROUP first appeared in PCBGROUP first appeared in
.Fx 9.0 . .Fx 9.0 .
.Pp
The PCBGROUP implementation is inspired by Willman, Rixner, and Cox's
2006 USENIX paper,
.Qo
An Evaluation of Network Stack Parallelization Strategies in Modern
Operating Systems
.Qc :
.Li http://www.ece.rice.edu/~willmann/pubs/paranet_usenix.pdf
.Sh AUTHORS .Sh AUTHORS
.An -nosplit .An -nosplit
The PCBGROUP implementation was written by The PCBGROUP implementation was written by