On Tue, 22 Aug 2017 13:31:27 +0200 David Hildenbrand <david@xxxxxxxxxx> wrote: > On 21.08.2017 22:35, Radim Krčmář wrote: > > We can add a variable instead of scanning all online VCPUs to know how > > many are started. We can't trivially tell which VCPU is the last one, > > though. > > You could keep the started vcpus in a list. Then you might drop unsigned > started_vcpus; > > No started vcpus: Start pointer NULL > Single started vcpu: Only one element in the list (easy to check) > > 1 started vcpus: More than one element int he list (easy to check) I'm not sure the added complication of keeping a list buys us much here: We only have the "look for the last vcpu not stopped" operation for the 2->1 transition.