ktls: Improve handling of the bind_threads tunable a bit
- Only check for empty domains if we actually tried to configure domain affinity in the first place. Otherwise setting bind_threads=1 will always cause the sysctl value to be reported as zero. This is harmless since the threads end up being bound, but it's confusing. - Try to improve the sysctl description a bit. Reviewed by: gallatin, jhb Submitted by: Klara, Inc. Sponsored by: Ampere Computing Differential Revision: https://reviews.freebsd.org/D28161
This commit is contained in:
parent
8adcc757b8
commit
4dc1b17dbb
@ -113,7 +113,7 @@ static int ktls_bind_threads;
|
||||
#endif
|
||||
SYSCTL_INT(_kern_ipc_tls, OID_AUTO, bind_threads, CTLFLAG_RDTUN,
|
||||
&ktls_bind_threads, 0,
|
||||
"Bind crypto threads to cores or domains at boot");
|
||||
"Bind crypto threads to cores (1) or cores and domains (2) at boot");
|
||||
|
||||
static u_int ktls_maxlen = 16384;
|
||||
SYSCTL_UINT(_kern_ipc_tls, OID_AUTO, maxlen, CTLFLAG_RWTUN,
|
||||
@ -435,10 +435,12 @@ ktls_init(void *dummy __unused)
|
||||
* If we somehow have an empty domain, fall back to choosing
|
||||
* among all KTLS threads.
|
||||
*/
|
||||
for (i = 0; i < vm_ndomains; i++) {
|
||||
if (ktls_domains[i].count == 0) {
|
||||
ktls_bind_threads = 0;
|
||||
break;
|
||||
if (ktls_bind_threads > 1) {
|
||||
for (i = 0; i < vm_ndomains; i++) {
|
||||
if (ktls_domains[i].count == 0) {
|
||||
ktls_bind_threads = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user