Carsten Otte wrote:
> Avi Kivity wrote:
>> A bitmap would do it, but what size?  Expandable ones are messy.
> We could have a #define KVM_CPU_BITMAP_SIZE in the arch specific 
> header files that go to include/asm/. For s390, we have one of our 
> rocket science virtualization accelerating facilities that limits us 
> to 64 cpus per guest. This may well be extended later on, but for now 
> that would be sufficient. Thinking about Christoph Lameter with his 4k 
> CPU boxes, I believe ia64 would want faaaar more than that.
>

If there's a single variable length array (which is the case here) it 
can be tucked on at the end:

    struct kvm_ipi {
          __u64 vector;
          __u32 size; /* bytes, must be multiple of 8 */
          __u32 pad;
          __u64 cpuset[0];
     };

We have this in a few places.  Not pretty, but serviceable.

>> No, it's a command (mmio) to the APIC, you tell it which vector you 
>> want and to which cpus you want it delivered.  So you can have many 
>> IPI interrupt vectors.
> I see. But the interrupt vector can be encoded in __u64?
>

The vector is just a u8.

The x86 interrupt path looks like this:

   [devices] -- irq --> [interrupt controllers] ---- vector ---> [processor]

The interrupt controllers translate irq lines into vectors, which the 
processor consumes.  Before kvm-irqchip, the API taked about vectors 
since the interrupt controller was in userspace.  Nowadays userspace 
talks irq lines to the kernel, which converts them into vectors.

If I uderstand correctly, s390 is interrupt vector oriented, no?

-- 
Any sufficiently difficult bug is indistinguishable from a feature.


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel

Reply via email to