Hi Andreas, I've now found (with Thomas' help) your RFC series for socket/core based cpu hotplug on x86 (https://github.com/afaerber/qemu-cpu/compare/qom-cpu-x86). It seems sensible enough as far as it goes, but doesn't seem to address a bunch of the things that I was attempting to do with the cpu-package proposal - and which we absolutely need for cpu hotplug on Power.
1) What interface do you envisage beyond cpu_add? The patches I see just construct extra socket and core objects, but still control hotplug (for x86) through the cpu_add interface. That interface is absolutely unusable on Power, since it operates on a per-thread basis, whereas the PAPR guest<->host interfaces can only communicate information at a per-core granularity. 2) When hotplugging at core or socket granularity, where would the code to construct the individual thread objects sit? Your series has the construction done in both the machine init path and the hotplug path. The latter works because hotplug occurs at thread granularity. If we're hotplugging at core or socket granularity what would do the construct? The core/socket object itself (in instance_init? in realize?); the hotplug handler? something else? 3) How does the management layer determine what is pluggable? Both the number of pluggable slots, and what it will need to do to populate them. 4) How do we enforce that toplogies illegal for the platform can't be constructed? -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature