diff options
author | mav <mav@FreeBSD.org> | 2014-06-08 11:19:32 +0000 |
---|---|---|
committer | mav <mav@FreeBSD.org> | 2014-06-08 11:19:32 +0000 |
commit | 18c81a620b48a1fe1d86fe9f1ba4dc0fc06024aa (patch) | |
tree | ae58d9603210165ebee9be62c66b730ce8dff25e /libexec/smrsh | |
parent | 00a919ea8f461c22068639f53a6660863856a1a2 (diff) | |
download | FreeBSD-src-18c81a620b48a1fe1d86fe9f1ba4dc0fc06024aa.zip FreeBSD-src-18c81a620b48a1fe1d86fe9f1ba4dc0fc06024aa.tar.gz |
Split RPC pool threads into number of smaller semi-isolated groups.
Old design with unified thread pool was good from the point of thread
utilization. But single pool-wide mutex became huge congestion point
for systems with many CPUs. To reduce the congestion create several
thread groups within a pool (one group for every 6 CPUs and 12 threads),
each group with own mutex. Each connection during its registration is
assigned to one of the groups in round-robin fashion. File affinify
code may still move requests between the groups, but otherwise groups
are self-contained.
MFC after: 2 weeks
Sponsored by: iXsystems, Inc.
Diffstat (limited to 'libexec/smrsh')
0 files changed, 0 insertions, 0 deletions