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.
