[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170829144247.5b0644dc.cohuck@redhat.com>
Date: Tue, 29 Aug 2017 14:42:47 +0200
From: Cornelia Huck <cohuck@...hat.com>
To: David Hildenbrand <david@...hat.com>
Cc: Radim Krčmář <rkrcmar@...hat.com>,
linux-kernel@...r.kernel.org, kvm@...r.kernel.org,
linux-mips@...ux-mips.org, kvm-ppc@...r.kernel.org,
linux-s390@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
Paolo Bonzini <pbonzini@...hat.com>,
Christoffer Dall <cdall@...aro.org>,
Marc Zyngier <marc.zyngier@....com>,
Christian Borntraeger <borntraeger@...ibm.com>,
James Hogan <james.hogan@...tec.com>,
Paul Mackerras <paulus@...abs.org>,
Alexander Graf <agraf@...e.com>
Subject: Re: [PATCH RFC v3 1/9] KVM: s390: optimize detection of started
vcpus
On Tue, 29 Aug 2017 14:05:40 +0200
David Hildenbrand <david@...hat.com> wrote:
> On 29.08.2017 13:23, Cornelia Huck wrote:
> > On Tue, 22 Aug 2017 13:31:27 +0200
> > David Hildenbrand <david@...hat.com> 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.
> >
>
> That is wrong, we also have to know the last remaining (started) VCPU.
> For that, right now we have to iterate over all VCPUs.
Yes, but that's only for the 2->1 transition... and all in all that is
still much better that before.
>
> There shouldn't be much complexity. We already perform changes under a
> lock, so it is as simple as adding/removing from the list.
>
> Detecting the transitions boils down to looking at two pointers.
Having a private vcpu list feels a bit wrong... and I don't really see
much benefit.
Powered by blists - more mailing lists