summaryrefslogtreecommitdiffstats
path: root/libexec
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2014-06-08 11:19:32 +0000
committermav <mav@FreeBSD.org>2014-06-08 11:19:32 +0000
commit18c81a620b48a1fe1d86fe9f1ba4dc0fc06024aa (patch)
treeae58d9603210165ebee9be62c66b730ce8dff25e /libexec
parent00a919ea8f461c22068639f53a6660863856a1a2 (diff)
downloadFreeBSD-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')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud