Re: [patch] remove vcpu_info array v5

Jes Sorensen <[email protected]>
Newsgroups org.kernel.vger.kvm-ia64,org.kernel.vger.kvm
Message-ID <[email protected]>
Avi Kivity wrote:
> Jes Sorensen wrote:
>>
>> Sorry, but this is riciculous. Please try and take a look at where the
>> search is performed. It's *solely* in the ACPI hot plug code.
> 
> There are other places we want a cpu from a cpu_index.  Like the apic 
> code (admittedly that's only using the userspace apic, which is 
> non-default, but still).

Hi Avi,

Well this was based on what I ran into building the code. I didn't hit
any issues where the apic code tried to do this.

>> My patch gets rid of the pointless MAX_CPUS sized array, which doesn't
>> buy us anything. In fact, most of the changes in my patch makes the
>> code simpler, because it removes a stack of silly cases where qemu uses
>> env->cpu_index to get into the array, just to hide CPUState from libkvm,
>> just to have the callback in QEMU go from int vcpu back to CPUState.
>>
>> Lets just do it right and get rid of this silliness.
> 
> I agree that vcpu_info should die.  But we should still have a fast way 
> of getting a cpu from a cpu_index.  I don't see a problem with a static 
> array of pointers, make it 16K in size if you want.  Our real scaling 
> limits are much lower; they involve the big qemu lock and the single 
> iothread which will both limit scaling far below any static vcpu array.

If we have reasons where we actually rely on the cpu number, and thats
not counting end-user pretty-number-print concerns, then I found that
we practically never use the cpu number. If we really use it a lot, I
agree we need a fast way, I just didn't hit it in my builds. What did I
miss?

Jes
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.