Am 16.03.2013 um 06:41 schrieb Benjamin Herrenschmidt 
<b...@kernel.crashing.org>:

> On Sat, 2013-03-16 at 06:33 +0100, Alexander Graf wrote:
>>>> We're changing that notion in the in-kernel XICS discussions.  The
>> flow will look like this:
>>>> 
>>>> * create vcpus
>>>> * create XICS
>>>> * foreach (vcpu)
>>>>     * enable_cap(vcpu, CAP_XICS_SERVER, xics_handle)
>>> 
>>> This is stupid. Why have the VCPU initialize itself for non-kernel
>>> interrupts and *then* switch it over ?
>> 
>> Because non-kernel initialization is a nop.
> 
> And ?

Compared to the previous aproach of a vm wide irq type, we win:

  - less vm global state
  - possibility of defining the 'cpu nr' from the pic's point of view
  - the same mechanism and code paths for hotplug and non-hotplug
  - possibility of supporting multiple pics
  - less implicit assumptions

While the code changes required to make this work should be minimal over the 
"set irq architecture" approach. It really makes life easier for everyone.


Alex


Reply via email to