They way strides work is everything but intuitive and the manual doesn't
really help;  I've had multiple hackers/users ask me how to use them.

`vcpu 8' assigns eight virtual CPUs to a domain.

`vcpu 8:2' allocates eight VCPUs two times but assigns eight VCPUs
only once, leaving the other eight allocated (read: unusable) but not
assigned to any domain.

`vcpu 8:3' would allocate 24 VCPUs and assign eight to a domain.

This multiplicative property is not obvious from the manual; the way I
read the current wording is `vcpu 8:2' allocating ten VCPUs and assign
eight, i.e. the stride being an additive count.

stsp brought this up and we came up with the following diff.
Feedback? OK?


Index: ldom.conf.5
===================================================================
RCS file: /cvs/src/usr.sbin/ldomctl/ldom.conf.5,v
retrieving revision 1.13
diff -u -p -r1.13 ldom.conf.5
--- ldom.conf.5 21 Feb 2020 19:39:28 -0000      1.13
+++ ldom.conf.5 2 Sep 2020 14:26:58 -0000
@@ -38,8 +38,13 @@ If no configuration for the primary doma
 all CPU and memory resources not used by any guest domains.
 .It Ic vcpu Ar number Ns Op : Ns Ar stride
 Declare the number of virtual CPUs assigned to a domain.
-Optionally a stride can be specified to allocate additional virtual CPUs
-but not assign them to a domain.
+Optionally a stride factor can be specified to allocate
+.Ar number
+virtual CPUs
+.Ar stride
+times but not assign more than
+.Ar number
+virtual CPUs to a domain, leaving the rest unassigned.
 This can be used to distribute virtual CPUs over the available CPU cores.
 .It Ic memory Ar bytes
 Declare the amount of memory assigned to a domain, in bytes.

Reply via email to