Document move to per-CPU statistics in malloc(9), as well as the use of
critical sections instead of mutexes for the per-CPU statistics data, present in 6.0. Prodded by: joel
This commit is contained in:
parent
c3b10d3886
commit
fdba7ed1e3
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/www/; revision=24993
1 changed files with 22 additions and 1 deletions
|
@ -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.12 2005/06/27 18:39:27 keramida Exp $">
|
||||
<!ENTITY date "$FreeBSD: www/en/projects/netperf/index.sgml,v 1.13 2005/07/01 09:09:52 rwatson Exp $">
|
||||
<!ENTITY title "FreeBSD Network Performance Project (netperf)">
|
||||
<!ENTITY email 'mux'>
|
||||
<!ENTITY % includes SYSTEM "../../includes.sgml"> %includes;
|
||||
|
@ -229,6 +229,27 @@
|
|||
of allocation on SMP is dramatically reduced. </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Modify malloc(9) allocator to use per-CPU statistics with
|
||||
critical sections to protect malloc_type statistics rather than
|
||||
global statistics with a mutex. </td>
|
||||
<td> &a.rwatson; </td>
|
||||
<td> 20050529 </td>
|
||||
<td> &status.done; </td>
|
||||
<td> Previously, malloc(9) used a single statistics structure
|
||||
protected by a mutex to hold global malloc statistics for each
|
||||
malloc type. This change moves to per-CPU statistics structures,
|
||||
which are coalesced when reporting memory allocation statistics to
|
||||
the user, and protects them using critical sections. This reduces
|
||||
cache line contention for common allocation types by avoiding
|
||||
shared lines, and also reduces synchronization costs by using
|
||||
critical sections to synchronize access instead of a mutex. While
|
||||
malloc(9) is less frequently used in the network stack than uma(9),
|
||||
it is used for socket address data, so is on performance critical
|
||||
paths for datagram operations. This has been committed and will
|
||||
appear in 6.0-RELEASE. </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Optimize critical section performance </td>
|
||||
<td> &a.jhb; </td>
|
||||
|
|
Loading…
Reference in a new issue