On Wed, Sep 21, 2016 at 09:14:02AM -0300, Eduardo Habkost wrote: > On Wed, Sep 21, 2016 at 03:29:26PM +1000, David Gibson wrote: > > Now that we allow CPU hot unplug on a few platforms, we can end up in a > > situation where we don't have a CPU with index 0. Or at least we could, > > if we didn't have code to explicitly prohibit unplug of CPU 0. > > > > Longer term we want to allow CPU 0 unplug, this patch is an early step in > > allowing this, by removing an assumption in the monitor code that CPU 0 > > always exists. > > > > Signed-off-by: Cédric Le Goater <c...@kaod.org> > > [dwg: Rewrote commit message to better explain background] > > Signed-off-by: David Gibson <da...@gibson.dropbear.id.au> > > --- > > monitor.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > Anyone want to volunteer to take this through their tree? If not, I > > can take it through my ppc tree. > > > > diff --git a/monitor.c b/monitor.c > > index 8bb8bbf..83c4edf 100644 > > --- a/monitor.c > > +++ b/monitor.c > > @@ -1025,7 +1025,7 @@ int monitor_set_cpu(int cpu_index) > > CPUState *mon_get_cpu(void) > > { > > if (!cur_mon->mon_cpu) { > > - monitor_set_cpu(0); > > + monitor_set_cpu(first_cpu->cpu_index); > > So, we are replacing the "CPU 0 always exists" assumption with a > "first_cpu is always non-NULL" assumption.
Well, we're replacing "CPU 0 is always present" assumption with "At least one CPU is always present", which is a strictly weaker constraint. > But considering that the first_cpu assumption already exists > elsewhere and those cases can be found easily using grep, I think > this is OK. So: > > Reviewed-by: Eduardo Habkost <ehabk...@redhat.com> > > BTW, it is also possible to crash QEMU by unplugging the current > monitor CPU; Ah... good point. > (qemu) device_add > qemu64-x86_64-cpu,socket-id=2,core-id=0,thread-id=0,id=mycpu > (qemu) cpu 2 > (qemu) device_del mycpu > (qemu) info registers > qemu:qemu_cpu_kick_thread: No such process > $ > -- 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