Add netperf tasks for socket/pcb reference normalization, break-out of

pcbinfo locks for TCP/UDP.
This commit is contained in:
Robert Watson 2006-04-15 15:55:03 +00:00
parent aee5f355cc
commit e16bbf6fdf
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/www/; revision=27556

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" [
<!ENTITY base CDATA "../..">
<!ENTITY date "$FreeBSD: www/en/projects/netperf/index.sgml,v 1.16 2005/10/04 19:43:50 hrs Exp $">
<!ENTITY date "$FreeBSD: www/en/projects/netperf/index.sgml,v 1.17 2006/04/15 15:09:18 rwatson Exp $">
<!ENTITY title "FreeBSD Network Performance Project (netperf)">
<!ENTITY email 'mux'>
<!ENTITY % navincludes SYSTEM "../../includes.navdevelopers.sgml"> %navincludes;
@ -274,6 +274,37 @@
change has now been committed, and will appear in 6.0-RELEASE. </td>
</tr>
<tr>
<td> Normalize socket and protocol control block reference model </td>
<td> &a.rwatson; </td>
<td> 20060401 </td>
<td> &status.done; </td>
<td> The socket/protocol boundary is characterized by a set of data
structures and API interfaces, where the socket code acts as both
a consumer and a service library for protocols. This task is to
normalize the reference model by which protocol state is attached
to and detached from socket state in order to strengthen
invariants, allowing the removal of countless unused code paths
(especially error handling), the removal of unnecessary locking
in TCP, and a general improve the structure of the code. This
serves both the immediate purpose of improving the quality and
performance of this code, as well as being necessary for future
optimization work. These changes have been prototyped in
Perforce, and now merged to 7-CURRENT. They will be merged into
RELENG_6 once they have been thoroughly tested.</td>
</tr>
<tr>
<td> Add true inpcb reference count support </td>
<td> &a.mohans;, &a.rwatson;, &a.peter; </td>
<td> 20060412 </td>
<td> &status.new; </td>
<td> Currently, the in-bound TCP and UDP socket paths rely on the
global pcbinfo info locks to prevent PCBs being delivered to from
being garbage collected by another thread while in use. This set
of changes introduces a true reference model for PCBs so that the
global lock can be released during in-bound process.</td>
</tr>
</table>
<a name="cluster"></a>