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